tencent cloud

フィードバック

WordPressリモート添付ファイルをCOSに保存する

最終更新日:2023-03-23 10:02:30

    概要

    WordPressは、PHP言語を使用して開発されたブログプラットフォームです。ユーザーは、PHPとMySQLデータベースをサポートするサーバーに、自分のウェブサイトを設置することができます。また、WordPressをコンテンツ管理システム(CMS)として使用することも可能です。

    WordPressは強力な機能と拡張性を備えています。それは主にプラグインの多さによるもので、機能を拡充しやすく、ウェブサイトが備えるべき機能を基本的に完備しており、サードパーティプラグインによってすべての機能を実現することができます。

    ここでは、プラグインを使用してリモート添付ファイルを実装し、WordPressのメディアライブラリ添付ファイルをTencent CloudのCloud Object Storage(COS)に保存する方法についてご説明します。

    COSは高い拡張性、低コスト、高い信頼性と安全性などの特徴を備えています。メディアライブラリ添付ファイルをCOSに保存すると次のようなメリットがあります。

    • 添付ファイルの信頼性が高まります。
    • サーバーが添付ファイルのために追加のストレージスペースを用意する必要がありません。
    • ユーザーが画像添付ファイルを確認する際は直接COSサーバーに接続するため、サーバーのダウンストリーム帯域幅/トラフィックを占有せず、ユーザーのアクセス速度がより速くなります。
    • Tencent CloudのContent Delivery Network(CDN)と併用することで、ユーザーの画像添付ファイル表示速度がさらに早くなり、ウェブサイトのアクセス速度が最適化されます。

    前提条件

    1. COSバケットがすでにあること。ない場合はバケットの作成操作ガイドをご参照ください。
    2. サーバーを作成済みであること。例えばCloud Virtual Machine(CVM)などです。関連ガイドについてはCVM製品ドキュメントをご参照ください。

    実践手順

    Wordpressのデプロイ

    Tencent CVMをベースにしてスピーディーにWordPressを構築するには、イメージによるデプロイと手動デプロイという2つの方法があります。業務ウェブサイトに比較的高い拡張性が求められる場合は、手動での構築が可能です。詳細については次のガイドをご参照ください。

    ここではイメージによるWordPressのデプロイについてご説明します。イメージデプロイは便利かつスピーディーな方法です。操作手順は次のとおりです。

    1. イメージからWordPressを起動します。
      1. CVMコンソールにログインし、インスタンス管理ページの新規作成をクリックします。
      2. ページのプロンプトに従ってモデルを選択し、インスタンス構成 > イメージイメージマーケットプレイスをクリックし、イメージマーケットプレイスから選択を選択します。
      3. 「イメージマーケットプレイス」のポップアップウィンドウで、基本ソフトウェアを選択し、wordpressと入力して検索します。
      4. 必要なイメージを選択します。例としてWordPressブログプログラミング_v5.5.3(CentOS | LAMP)**を選択し、無料で使用**をクリックします。
      5. 購入完了後、CVMコンソールにログインし、先ほど作成したインスタンスにセキュリティグループをバインドします。ポート80を許可するインバウンドルールを追加する必要があります。
    2. インスタンスの管理ページで、このCVMインスタンスのパブリックIPをコピーし、ローカルブラウザでアドレスhttp://パブリックIP/wp-adminにアクセスし、次のようにWordPressウェブサイトのインストールを開始します。
      1. Wordpressの言語を選択し、Continueをクリックします。
      2. 必要に応じてWordPressのサイトのタイトル、管理者ユーザー名、管理者パスワード、メールアドレスを入力します。
      3. WordPressをインストールするをクリックします。
      4. ログインをクリックします。
    3. WordPressを新バージョンの6.0.2にアップグレードします。
      ダッシュボード左側のメニューをクリックし、「更新」メニューに進み、バージョン6.0.2に更新します。

    COSバケットの作成

    1. パブリック読み取り・プライベート書き込みのバケットを作成します。バケットのリージョンはWordPressブログプラットフォームのCVMの実行リージョンと同一にすることをお勧めします。作成の詳細については、バケットの作成のドキュメントをご参照ください。
    2. 作成したバケットをバケットリストから見つけ、そのバケット名をクリックし、バケットのページに進みます。
    3. 左側ナビゲーションバーで概要をクリックし、アクセスドメイン名を確認して記録します。

    プラグインのインストールと設定

    プラグインのインストール方法には、プラグインライブラリからのインストールとソースコードからのインストールがあります。

    プラグインライブラリからのインストール(推奨)

    WordPressバックエンドでプラグインをクリックし、tencentcloud-cosプラグインを直接検索し、今すぐインストールをクリックすればインストールできます。

    ソースコードからのインストール

    まずプラグインのソースコードをダウンロードした後、プラグインのソースコードをWordPressプラグインディレクトリwp-content/pluginsにアップロードし、最後にバックエンドで起動します。

    以下はUbuntuでのプラグインインストールの例です。

    1. wp-contentの親ディレクトリに進みます。

      cd /var/www/html 
      
    2. 権限を追加します。

      chmod -R 777 wp-content 
      
    3. プラグインディレクトリを作成します。

      cd wp-content/plugins/
      mkdir tencent-cloud-cos
      cd tencent-cloud-cos
      
    4. プラグインをプラグインディレクトリにダウンロードします。

      wget https://cos5.cloud.tencent.com/cosbrowser/code/tencent-cloud-cos.zip
      unzip tencent-cloud-cos.zip
      rm tencent-cloud-cos.zip -f
      
    5. 「プラグイン」の左側のメニューをクリックすると、このプラグインが見つかります。このプラグインをクリックして起動します。

    プラグインの設定

    プラグインtencent-cloud-cosにCOSバケットの情報を設定します。

    1. 「設定」ボタンをクリックし、プラグインtencent-cloud-cosを設定します。

    2. ページ内でCOSの関連情報を設定します。設定の説明については次の表をご参照ください。

      設定項目 設定値
      SecretId、SecretKey アクセスキー情報。Tencent Cloud APIキーに進んで作成と取得を行うことができます
      所属リージョン バケット作成時に選択したリージョン
      スペース名 バケット作成時にカスタマイズしたバケット名。例:examplebucket-1250000000
      アクセスドメイン名 COSのデフォルトのバケットドメイン名であり、ユーザーのバケット作成時に、システムがバケット名およびリージョンに基づいて自動的に生成します。COSコンソール に進み、バケットの概要>ドメイン名情報で確認することができます
      自動リネーム ファイルをCOSにアップロードすると自動的にリネームされ、同名ファイルとの競合を防止します。リネームは指定の形式で行うことができます
      ローカルに保存しない 有効にすると、ソースファイルをローカルに保存しません
      リモートファイルの維持 有効にすると、ファイルを削除したときにローカルファイルのレプリカだけを削除し、リモートCOSバケット内のファイルレプリカは維持されるため、復元に便利です
      サムネイル禁止 有効にすると、対応するサムネイルファイルをアップロードしません
      Cloud Infinite Cloud Infiniteサービスを有効にすると、画像の編集、圧縮、形式変換、ウォーターマーク追加などの操作を行うことができます。詳細については、Cloud Infinite製品の紹介をご参照ください
      ファイル審査 ファイル審査を有効にすると、画像、ビデオ、オーディオ、テキスト、ドキュメント、ウェブページなどのマルチメディアのコンテンツセキュリティに対してインテリジェント審査サービスを行うことができます。ユーザーが、ポルノ・低俗、違法・不正、不快感を与えるなどの禁止コンテンツを効果的に識別し、運営リスクを回避できるようにサポートします。詳細についてはコンテンツ審査の概要をご参照ください
      ドキュメントプレビュー ドキュメントプレビューを有効にすると、ファイルを画像、PDFまたはHTML5ページにトランスコードすることができ、ドキュメントコンテンツのページ表示の問題を解決することができます。詳細についてはドキュメントプレビューの概要をご参照ください
      デバッグ エラー、異常、警告情報を記録します
    1. 設定完了後に、設定を保存をクリックすれば完了です。

    Wordpress添付ファイルのCOSへの保存を検証する

    Wordpressで画像付きの記事を1件作成し、画像がCOSに保存されるかどうかを確認します。

    1. 画像付きの記事を1件作成します。Wordpressのダッシュボードで、「記事」の左側のメニューをクリックします。

    2. WordPressでデフォルトで生成される「Hello world!」の記事を編集します。

    3. 右側の「+」ボタンをクリックします。

    4. 画像を1枚選択してアップロードします。

    5. アップロード完了後、アップロード済みの画像のURLを表示し、画像のアドレスがCOSのアドレスになっていることを確認します。例えばhttps://wd-125000000.cos.ap-nanjing.myqcloud.com/2022/10/立夏-1200x675.jpegなどで、形式がhttps://<bucketname-appid>.cos.<region>.myqcloud.com/<objectkey>となっていれば、画像がCOSバケットにアップロードされていることを表します。

    6. COSコンソールにログインすると、先ほどアップロードした画像がCOSバケット内にあることを確認できます。

    説明:

    上記のテストに成功した後、必要があれば続いて古いリソースをCOSバケットに同期させます(COSCMDツールまたはCOS Migrationツールを使用できます)。これを行わなければ、古いリソースをバックエンドで正常にプレビューできなくなります。同期が完了すると、back-to-origin設定を有効化できます。下記のback-to-originの設定をご参照ください。

    拡張

    1. CDNアクセラレーションを使用したアクセス
      バケットにCDNアクセラレーションを設定したい場合は、CDNアクセラレーションの設定のドキュメントをご参照ください。プラグイン設定で、URLのプレフィックスをデフォルトのCDNアクセラレーションドメイン名またはカスタムアクセラレーションドメイン名に変更するだけで設定できます。
    2. データベース内のリソースアドレスの置き換え
      新規作成のサイトを除き、データベースには必ず古いリソースリンクアドレスが存在するため、リソースアドレスの置き換えを行う必要があります。プラグインで置き換え機能を提供しています。最初に置き換えを行う前にはバックアップを忘れないようにしてください。
    • 古いドメイン名に元のリソースドメイン名を入力します(例:https://example.com/
    • 新しいドメイン名に現在のリソースドメイン名を入力します(例:https://img.example.com/
    1. クロスドメインアクセスの設定
      対応するリソースリンクを記事に引用する際、コンソールがクロスドメインエラーNo 'Access-Control-Allow-Origin' header is present on the requested resourceを表示することがあります。これはheaderを追加していないことが原因です。クロスドメインアクセスCORSの設定でHTTP Header追加の設定を行う必要があります。設定を行うための2つの手段を次でご説明します。
    • COSコンソールで設定
    説明:

    クロスドメイン設定の操作手順に関しては、クロスドメインアクセスの設定のドキュメントをご参照ください。

    • CDNコンソールで設定

      • 全ドメイン名を許可する場合、設定は次のようになります。

        Access-Control-Allow-Origin: *
        
      • 個人のドメイン名のアクセスのみを許可する場合、設定は次のようになります。

        Access-Control-Allow-Origin: https://example.com
        


    4. back-to-originの設定
    WordPressバックエンドメディアライブラリにリソースをアップロードしない場合は、back-to-origin有効化の設定をお勧めします。詳細な手順については、back-to-originの設定のドキュメントをご参照ください。
    back-to-origin設定を有効化すると、クライアントがCOSソースファイルに初めてアクセスした際、COSはオブジェクトにヒットしないことを検出し、クライアントに対しHTTPステータスコード302を返してback-to-originアドレスに対応するアドレスにリダイレクトします。このときオブジェクトはオリジンサーバーからクライアントに提供され、アクセスが保証されます。同時に、COSはオリジンサーバーからこのファイルをコピーして、バケットの対応するディレクトリに保存します。2回目のアクセスの際は、COSがオブジェクトに直接ヒットし、クライアントに返します。

    お問い合わせ

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

    テクニカルサポート

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

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