前書き

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があることを前提としています。 この設定がない場合は、次を完了できます。

これらの前提条件が整ったら、このプラグインの使用を開始できます。

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 [スペースでのパフォーマンスのベストプラクティス]。