tencent cloud

Ghostブログアプリケーションの添付ファイルをCOSに保存する
最終更新日:2024-06-26 10:47:37
Ghostブログアプリケーションの添付ファイルをCOSに保存する
最終更新日: 2024-06-26 10:47:37

概要

GhostはNode.jsをベースにした、ブログ系のウェブサイトをスピーディーに構築できるフレームワークです。開発者はGhostの公式cliツールによって個人ウェブサイトをワンクリックで生成し、CVMやDocker上にデプロイすることができます。
添付ファイルのアップロードはブログ系ウェブサイトにとって欠かせない機能です。Ghostは添付ファイルをデフォルトでローカルに保存します。ここではプラグインによって添付ファイルをTencent Cloud Object Storage(COS)に保存する方法についてご説明します。フォーラムの添付ファイルをCOSに保存すると次のようなメリットがあります。
添付ファイルの信頼性が高まります。
サーバーがフォーラム添付ファイルのために追加のストレージスペースを用意する必要がありません。
ユーザーが画像添付ファイルを確認する際は直接COSサーバーに接続するため、サーバーのダウンストリーム帯域幅/トラフィックを占有せず、ユーザーのアクセス速度がより速くなります。
Tencent Cloud Content Delivery Network(CDN)と併用することで、フォーラムユーザーの画像添付ファイル表示速度がさらに早くなります。

準備作業

Ghostウェブサイトの構築

1. Node.js環境をインストールします。
2. ghost-cliをインストールします。
npm install ghost-cli@latest -g
3. プロジェクトを作成し、このプロジェクトのルートディレクトリで次のコマンドを実行します。
ghost install local
作成に成功すると、プロジェクトの構造は下図のようになります。

4. ブラウザを開き、localhost:2368に進むと登録ページが表示されます。登録し、管理バックエンドに進みます。


COSバケットの作成

1. COSコンソールで、アクセス権限がパブリック読み取り・プライベート書き込みのバケットを作成します。操作ガイドについてはバケットの作成をご参照ください。
2. セキュリティ管理>クロスドメインアクセスCORS設定をクリックし、クロスドメイン設定を1行追加します。デバッグの利便性のため、以下の設定を使用できます。操作ガイドについては、クロスドメインアクセスの設定をご参照ください。

GhostをCOSバケットにバインドする

注意:
サブアカウントキーを使用し、最小権限ガイドに従うことで、使用上のリスクを低減させることをお勧めします。サブアカウントキーの取得については、サブアカウントのアクセスキー管理をご参照ください。
1. Ghostプロジェクトのルートディレクトリ下のconfig.development.json設定ファイルを変更し、次の設定を追加します。
"storage": {
"active": "ghost-cos-store",
"ghost-cos-store": {
"BasePath": "ghost/", // ご自身のディレクトリ名に変更できます。入力しない場合はデフォルトでルートディレクトリになります
"SecretId": "AKID*************",
"SecretKey": "***************",
"Bucket": "xxx-125********",
"Region": "**-*******"
}
}
パラメータの説明は次のとおりです。
設定項目
設定値
BasePath
ファイルの保存先のCOSパスはご自身で変更できます。入力しない場合はデフォルトでルートディレクトリになります
SecretId
アクセスキー情報。Tencent Cloud APIキーに進んで作成と取得を行うことができます
SecretKey
アクセスキー情報。Tencent Cloud APIキーに進んで作成と取得を行うことができます。
Bucket
バケット作成時にカスタマイズした名前。例:examplebucket-1250000000。
Region
バケット作成時に選択したリージョン。
2. カスタムストレージディレクトリを作成し、このプロジェクトのルートディレクトリで次を実行します。
mkdir -p content/adapters/storage
3. Tencent Cloud公式が提供するghost-cos-storeプラグインをインストールします。
3.1 npmによってインストールします。
npm install ghost-cos-store
3.2 storageディレクトリ下にghost-cos-store.jsファイルを作成します。内容は次のとおりです。
// content/adapters/storage/ghost-cos-store.js
module.exports = require('ghost-cos-store');
3.3 git cloneによってインストールします。
cd content/adapters/storage
git clone https://github.com/tencentyun/ghost-cos-store.git
cd ghost-cos-store
npm i
3.4 インストール完了後にGhostの再起動が必要です。
ghost restart

投稿してアップロードテストを行う

1. Ghost管理バックエンドに進み、クリックして記事を1件投稿します。

2. 画像のアップロードをクリックします。ブラウザでパケットキャプチャを行うとuploadリクエストの成功が確認でき、画像に対応したCOSリンクが返されます。
この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック