WordPressは、PHP言語を使用して開発されたブログプラットフォームです。ユーザーは、PHPとMySQLデータベースをサポートするサーバーに、自分のウェブサイトを設置することができます。また、WordPressをコンテンツ管理システム(CMS)として使用することも可能です。
WordPressは強力な機能と拡張性を備えています。それは主にプラグインの多さによるもので、機能を拡充しやすく、ウェブサイトが備えるべき機能を基本的に完備しており、サードパーティプラグインによってすべての機能を実現することができます。
ここでは、プラグインを使用してリモート添付ファイルを実装し、WordPressのメディアライブラリ添付ファイルをTencent CloudのCloud Object Storage(COS)に保存する方法についてご説明します。
COSは高い拡張性、低コスト、高い信頼性と安全性などの特徴を備えています。メディアライブラリ添付ファイルをCOSに保存すると次のようなメリットがあります。
Tencent CVMをベースにしてスピーディーにWordPressを構築するには、イメージによるデプロイと手動デプロイという2つの方法があります。業務ウェブサイトに比較的高い拡張性が求められる場合は、手動での構築が可能です。詳細については次のガイドをご参照ください。
ここではイメージによるWordPressのデプロイについてご説明します。イメージデプロイは便利かつスピーディーな方法です。操作手順は次のとおりです。
http://パブリックIP/wp-admin
にアクセスし、次のようにWordPressウェブサイトのインストールを開始します。プラグインのインストール方法には、プラグインライブラリからのインストールとソースコードからのインストールがあります。
WordPressバックエンドでプラグインをクリックし、tencentcloud-cosプラグインを直接検索し、今すぐインストールをクリックすればインストールできます。
まずプラグインのソースコードをダウンロードした後、プラグインのソースコードをWordPressプラグインディレクトリwp-content/plugins
にアップロードし、最後にバックエンドで起動します。
以下はUbuntuでのプラグインインストールの例です。
wp-contentの親ディレクトリに進みます。
cd /var/www/html
権限を追加します。
chmod -R 777 wp-content
プラグインディレクトリを作成します。
cd wp-content/plugins/
mkdir tencent-cloud-cos
cd tencent-cloud-cos
プラグインをプラグインディレクトリにダウンロードします。
wget https://cos5.cloud.tencent.com/cosbrowser/code/tencent-cloud-cos.zip
unzip tencent-cloud-cos.zip
rm tencent-cloud-cos.zip -f
「プラグイン」の左側のメニューをクリックすると、このプラグインが見つかります。このプラグインをクリックして起動します。
プラグインtencent-cloud-cosにCOSバケットの情報を設定します。
「設定」ボタンをクリックし、プラグインtencent-cloud-cosを設定します。
ページ内でCOSの関連情報を設定します。設定の説明については次の表をご参照ください。
設定項目 | 設定値 |
---|---|
SecretId、SecretKey | アクセスキー情報。Tencent Cloud APIキーに進んで作成と取得を行うことができます |
所属リージョン | バケット作成時に選択したリージョン |
スペース名 | バケット作成時にカスタマイズしたバケット名。例:examplebucket-1250000000 |
アクセスドメイン名 | COSのデフォルトのバケットドメイン名であり、ユーザーのバケット作成時に、システムがバケット名およびリージョンに基づいて自動的に生成します。COSコンソール に進み、バケットの概要>ドメイン名情報で確認することができます |
自動リネーム | ファイルをCOSにアップロードすると自動的にリネームされ、同名ファイルとの競合を防止します。リネームは指定の形式で行うことができます |
ローカルに保存しない | 有効にすると、ソースファイルをローカルに保存しません |
リモートファイルの維持 | 有効にすると、ファイルを削除したときにローカルファイルのレプリカだけを削除し、リモートCOSバケット内のファイルレプリカは維持されるため、復元に便利です |
サムネイル禁止 | 有効にすると、対応するサムネイルファイルをアップロードしません |
Cloud Infinite | Cloud Infiniteサービスを有効にすると、画像の編集、圧縮、形式変換、ウォーターマーク追加などの操作を行うことができます。詳細については、Cloud Infinite製品の紹介をご参照ください |
ファイル審査 | ファイル審査を有効にすると、画像、ビデオ、オーディオ、テキスト、ドキュメント、ウェブページなどのマルチメディアのコンテンツセキュリティに対してインテリジェント審査サービスを行うことができます。ユーザーが、ポルノ・低俗、違法・不正、不快感を与えるなどの禁止コンテンツを効果的に識別し、運営リスクを回避できるようにサポートします。詳細についてはコンテンツ審査の概要をご参照ください |
ドキュメントプレビュー | ドキュメントプレビューを有効にすると、ファイルを画像、PDFまたはHTML5ページにトランスコードすることができ、ドキュメントコンテンツのページ表示の問題を解決することができます。詳細についてはドキュメントプレビューの概要をご参照ください |
デバッグ | エラー、異常、警告情報を記録します |
Wordpressで画像付きの記事を1件作成し、画像がCOSに保存されるかどうかを確認します。
画像付きの記事を1件作成します。Wordpressのダッシュボードで、「記事」の左側のメニューをクリックします。
WordPressでデフォルトで生成される「Hello world!」の記事を編集します。
右側の「+」ボタンをクリックします。
画像を1枚選択してアップロードします。
アップロード完了後、アップロード済みの画像のURLを表示し、画像のアドレスがCOSのアドレスになっていることを確認します。例えばhttps://wd-125000000.cos.ap-nanjing.myqcloud.com/2022/10/立夏-1200x675.jpeg
などで、形式がhttps://<bucketname-appid>.cos.<region>.myqcloud.com/<objectkey>
となっていれば、画像がCOSバケットにアップロードされていることを表します。
COSコンソールにログインすると、先ほどアップロードした画像がCOSバケット内にあることを確認できます。
説明:上記のテストに成功した後、必要があれば続いて古いリソースをCOSバケットに同期させます(COSCMDツールまたはCOS Migrationツールを使用できます)。これを行わなければ、古いリソースをバックエンドで正常にプレビューできなくなります。同期が完了すると、back-to-origin設定を有効化できます。下記のback-to-originの設定をご参照ください。
https://example.com/
)https://img.example.com/
)No 'Access-Control-Allow-Origin' header is present on the requested resource
を表示することがあります。これはheaderを追加していないことが原因です。クロスドメインアクセスCORSの設定でHTTP Header追加の設定を行う必要があります。設定を行うための2つの手段を次でご説明します。説明:クロスドメイン設定の操作手順に関しては、クロスドメインアクセスの設定のドキュメントをご参照ください。
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がオブジェクトに直接ヒットし、クライアントに返します。
この記事はお役に立ちましたか?