how-to-store-wordpress-assets-on-digitalocean-spaces
前書き
DigitalOcean Spacesは、大量の多様な非構造化データを格納するために使用できるオブジェクトストレージサービスです。 多くの場合、画像およびビデオ資産を含むWordPressサイトは、オブジェクトストレージソリューションの優れた候補となります。 これらのタイプの静的リソースにオブジェクトストレージを使用すると、サーバー上のスペースとリソースを解放してサイトのパフォーマンスを最適化できます。 オブジェクトストレージとWordPressの詳細については、https://www.digitalocean.com/community/tutorials/how-to-back-up-wordpress-site-to-spaces [WordPressサイトをバックアップする方法]のチュートリアルをご覧ください。スペースへ]。
このチュートリアルでは、DigitalOcean Spacesと直接連携して主要なアセットストアとして使用するWordPressプラグインを使用します。 DigitalOcean Spaces Syncプラグインは、WordPressメディアライブラリのデータをSpacesにルーティングし、ニーズに基づいてさまざまな設定オプションを提供し、使用プロセスを合理化します。 WordPressインスタンスでのオブジェクトストレージ。
前提条件
このチュートリアルでは、サーバー上にWordPressインスタンスとDigitalOcean Spaceがあることを前提としています。 この設定がない場合は、次を完了できます。
-
Ubuntu 16.04サーバー1台。https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04 [Ubuntu 16.04での初期サーバーセットアップチュートリアル]に従ってセットアップします。
-
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-のチュートリアルに従って、サーバーにインストールされたLAMPスタック04 [Linux、Apache、MySQL、PHP(LAMP)スタックをUbuntu 16.04にインストールする方法]。
-
https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lamp-on-ubuntu-16-04のチュートリアルに従って、サーバーにインストールされたWordPress Ubuntu 16.04で]。
-
DigitalOceanスペースとAPIを作成する方法によって作成されたDigitalOceanスペースとAPIキーキー]。
-
WP-CLI https://www.digitalocean.com/community/tutorials/how-to-back-up-wordpress-site-to-spaces#using-に従ってインストールplugins-to-create-backups [これらの指示]。
これらの前提条件が整ったら、このプラグインの使用を開始できます。
WordPressの権限を変更する
このチュートリアル全体を通して、WordPressプロジェクトの `+ wp-content / uploads `フォルダーを操作するため、このフォルダーが存在し、適切な権限を持っていることが重要です。 ` -p `フラグを使用して ` mkdir +`コマンドを使用して作成し、存在しない場合はフォルダーを作成し、存在する場合はエラーをスローしないようにします。
sudo mkdir -p /var/www/html/wp-content/uploads
これで、フォルダにアクセス許可を設定できます。 最初に、所有権をユーザーに設定し(ここでは* sammy *を使用しますが、必ず非ルートの `+ sudo `ユーザーを使用してください)、グループ所有権を ` www-data +`グループに設定します。
sudo chown -R :www-data /var/www/html/wp-content/uploads
次に、Webサーバーにこのフォルダーへの書き込みアクセスを許可するアクセス許可を確立します。
sudo chmod -R g+w /var/www/html/wp-content/uploads
プラグインを使用して、 `+ wp-content / uploads +`フォルダー内のアセット用のオブジェクトストレージにストアを作成し、WordPressインターフェースからアセットを操作できるようになります。
DigitalOcean Spaces Syncのインストール
DigitalOcean Spaces Syncを使用する最初のステップは、WordPressフォルダーにインストールすることです。 WordPressディレクトリ内のプラグインフォルダーに移動できます。
cd /var/www/html/wp-content/plugins
ここから、 `+ wp +`コマンドを使用してDigitalOcean Spaces Syncをインストールできます。
wp plugin install do-spaces-sync
プラグインをアクティブにするには、次を実行します。
wp plugin activate do-spaces-sync
ここから、WordPress管理ダッシュボードの左側にあるプラグインタブに移動できます。
image:https://assets.digitalocean.com/articles/spaces_wordpress_backup/small_plugin_tab.png [WordPressプラグインタブ]
有効化されたプラグインのリストにDigitalOcean Spaces Syncが表示されるはずです。
image:https://assets.digitalocean.com/articles/do_spaces_sync_plugin/spaces_sync_activated.png [スペース同期プラグイン画面]
DigitalOcean Spaces Syncの設定を管理するには、* Settings タブに移動し、メニューから DigitalOcean Spaces Sync *を選択します。
画像:https://assets.digitalocean.com/articles/do_spaces_sync_plugin/settings_spaces_sync.png [設定タブ]
DigitalOcean Spaces Syncは、アセットストレージを構成するオプションを提供します。
image:https://assets.digitalocean.com/articles/spaces_wordpress_backup/do_spaces_sync.png [DO Spaces Sync Configuration]
画面の上半分にある[接続設定]フィールドに、スペースアクセスキーとシークレットを入力するよう求められます。 次に、スペースの名前である* Container と Endpoint *を要求します。
URLに基づいてスペースのエンドポイントを決定できます。 たとえば、スペースのURLが「+ https://.nyc3.digitaloceanspaces.com+」の場合、「+」がバケット/コンテナになり、「 nyc3.digitaloceanspaces.com +」がエンドポイントになります。
プラグインのインターフェースでは、* Endpoint *セクションにデフォルトの `+ https:// ams3.digitaloceanspaces.com +`が事前に入力されます。 スペースが別の地域にある場合は、このエンドポイントを変更する必要があります。
次に、*ファイルとパスの設定*を求められます。 *ファイルへの完全なURLパス*とマークされたフィールドには、ファイルがスペースのみに保存される場合はストレージパブリックドメインを、スペースとサーバーに保存する場合は完全なURLパスを入力できます。
たとえば、WordPressプロジェクトが `+ / var / www / html +`にあり、サーバーとSpaceの両方にファイルを保存する場合、次のように入力します。
-
*ファイルへの完全なURLパス*フィールドの
+ http:// your_server_ip / wp-content / uploads +
-
*ローカルパス*フィールドの
+ / var / www / html / wp-content / uploads +
-
Storage prefix および Filemask *設定は事前に入力されており、同期のために特定の種類のファイルを指定する場合を除き、変更する必要はありません。
次のセクションでは、サーバーとスペース、およびスペースのみにファイルを保存する詳細について説明します。
複数の場所でのファイルの同期と保存
DigitalOcean Spaces Syncは、ファイルをSpaceに同期しながらサーバーに保存するオプションを提供します。 このユーティリティは、サーバーにファイルを保存する必要がある場合に役立ちますが、バックアップを別の場所に保存することもできます。 ファイルをサーバーに保持したまま、ファイルをスペースに同期するプロセスを実行します。 この例の目的のために、メディアライブラリとスペースに保存したい `+ sammy10x10.png +`というファイルがあると仮定します。
最初に、WordPress管理ダッシュボードの[設定]タブに移動し、表示されるオプションのメニューから[デジタルオーシャンスペースの同期]を選択します。
次に、[接続設定]フィールドにスペースキーとシークレットを入力し、続いて[コンテナ]と[エンドポイント]を入力します。 スペースのURLが `+ https://。nyc3.digitaloceanspaces.com `の場合、 `+`が* Container になり、 `+ nyc3.digitaloceanspaces.com +`が Endpoint *になります。 [接続設定]フィールドの下部にある[接続を確認]ボタンをクリックして、接続をテストします。
image:https://assets.digitalocean.com/articles/spaces_wordpress_backup/connections_settings.png [接続ボタンの確認]
これで、*ファイルとパスの設定*に記入する準備ができました。
[ファイルへの完全なURLパス]フィールドに、サーバーとスペースにファイルを保存するため、完全なURLパスを入力できます。 ここではサーバーのIPを使用しますが、ドメインがある場合は、ドメイン名のIPアドレスを交換できます。 DigitalOceanでのドメイン登録の詳細については、https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean [ホストのセットアップ方法]のチュートリアルを参照してください。 DigitalOceanの名前]。 私たちの場合、*ファイルへの*完全なURLパス*は `+ http:/// wp-content / uploads +`です。
次に、「ローカルパス」フィールドに、「 uploads 」ディレクトリへのローカルパス「 / var / www / html / wp-content / uploads +」を入力します。
単一のファイルで作業しているため、* Storage prefix および Filemask セクションを変更する必要はありません。 WordPressメディアライブラリのサイズと多様性が大きくなるにつれて、この設定を変更して、 Filemask *フィールドの `+ *。png +`などのワイルドカードと拡張子を使用して個々のファイルタイプをターゲットにすることができます。
最終的な*ファイルとパスの設定*は次のようになります。
画像:https://assets.digitalocean.com/articles/do_spaces_sync_plugin/sync_server_cloud.png [サーバーとクラウドの同期]
画面の下部にある[変更を保存]ボタンをクリックして、構成の変更を保存してください。
これで、ファイル `+ sammy 10×10.png `をWordPressメディアライブラリに追加できます。 ` wp media import `コマンドを使用して、ホームディレクトリからWordPressメディアライブラリにファイルをインポートします。 この場合、ホームディレクトリは* sammy *に属しますが、あなたの場合、これは非ルートの ` sudo `ユーザーになります。 ファイルを移動するときに、 `-path +`パラメーターを使用してWordPressプロジェクトの場所を指定します。
wp media import --path=/var/www/html/ /home//
WordPressインターフェースを見ると、* Media Library にファイルが表示されていないはずです。 WordPress管理ダッシュボードの左側にある Media Library *タブをたどってナビゲートできます。
image:https://assets.digitalocean.com/articles/do_spaces_sync_plugin/spaces_sync_media_library.png [メディアライブラリタブ]
DigitalOceanコントロールパネルのSpacesページに移動すると、Spaceにもファイルが表示されます。
最後に、 `+ wp-content / uploads `フォルダーに移動できます。ここで、WordPressは年と月を含むサブフォルダーを作成します。 このフォルダー内に、 ` sammy10x10.png +`ファイルが表示されます。
スペースにファイルを保存する
DigitalOcean Spaces Syncプラグインには、サーバー上のスペースとリソースを最適化する場合に備えて、スペースにのみファイルを保存できる追加オプションがあります。 別のファイル「+ sammy-heart10x10.png +」で作業し、このファイルがスペースにのみ保存されるようにDigitalOcean Spaces Sync設定を設定します。
まず、プラグインのメイン設定ページに戻りましょう。
image:https://assets.digitalocean.com/articles/spaces_wordpress_backup/do_spaces_sync.png [DO Spaces Sync Configuration]
*接続設定*情報は残すことができますが、*ファイルとパスの設定*は変更します。 最初に、*ファイルへの完全なURLパス*で、ストレージパブリックドメインを記述します。 繰り返しますが、サーバーIPを使用しますが、ドメインがある場合はこれをドメインにスワップアウトできます: + http:// uploads。+
次に、ページの下部にある*同期設定*に移動し、最初のボックスをクリックします。これにより、「ファイルをクラウドにのみ保存し、アップロードが成功した後に削除できます。」最後の*ファイルとパスの設定*次のようになります。
image:https://assets.digitalocean.com/articles/do_spaces_sync_plugin/sync_cloud_only.png [同期クラウドのみ]
画面の下部にある[変更を保存]ボタンをクリックして、変更を必ず保存してください。
コマンドラインに戻り、 `+ wp media import `を使用して、ユーザーのホームディレクトリからメディアライブラリに ` sammy-heart10x10.png +`を移動します。
wp media import --path=/var/www/html/ /home//
WordPressインターフェースに戻ると、* Media Library *に `+ sammy-heart10x10.png `または ` sammy10x10.png `が表示されません。 次に、コマンドラインに戻って ` wp-content / uploads `ディレクトリに移動すると、タイムスタンプ付きのサブフォルダーに ` sammy-heart10x10.png +`がないことがわかります。
最後に、DigitalOceanコントロールパネルの[スペース]ページに移動すると、両方のファイルがスペースに保存されていることがわかります。
結論
DigitalOcean Spaces Syncを使用してWordPressメディアファイルをDigitalOcean Spacesに保存するために使用できる2つの異なるオプションについて説明しました。 このプラグインは、開発者の記事「https://medium.com/@kee_ross/sync-your-wordpress-media-with-digitalocean-spaces-b730eb7e19fc[WordPressの同期DigitalOcean Spacesのメディア]。」
Spacesの操作に関する一般的な情報が必要な場合は、https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces [DigitalOcean Spacesの紹介]とhttpsのガイドをご覧ください。 //www.digitalocean.com/community/tutorials/best-practices-for-performance-on-digitalocean-spaces [スペースでのパフォーマンスのベストプラクティス]。