tencent cloud

フィードバック

Ghostブログアプリケーションの添付ファイルをCOSに保存する

最終更新日:2023-03-14 15:56:49

    概要

    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
    
    1. Tencent Cloud公式が提供するghost-cos-storeプラグインをインストールします。

      1. npmによってインストールします。

        npm install ghost-cos-store
        
      2. storageディレクトリ下にghost-cos-store.jsファイルを作成します。内容は次のとおりです。

        //  content/adapters/storage/ghost-cos-store.js
        module.exports = require('ghost-cos-store');
        
      3. git cloneによってインストールします。

        cd content/adapters/storage
        git clone https://github.com/tencentyun/ghost-cos-store.git
        cd ghost-cos-store  
        npm i
        
      4. インストール完了後にGhostの再起動が必要です。

        ghost restart
        

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

    1. Ghost管理バックエンドに進み、クリックして記事を1件投稿します。
    2. 画像のアップロードをクリックします。ブラウザでパケットキャプチャを行うとuploadリクエストの成功が確認でき、画像に対応したCOSリンクが返されます。
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)