DigitalOceanスペースにWordPressアセットを保存する方法
序章
DigitalOcean Spacesは、大量の多様な非構造化データを保存するために使用できるオブジェクトストレージサービスです。 多くの場合、画像やビデオのアセットを含むWordPressサイトは、オブジェクトストレージソリューションの有力な候補となる可能性があります。 これらのタイプの静的リソースにオブジェクトストレージを使用すると、サーバー上のスペースとリソースを解放することでサイトのパフォーマンスを最適化できます。 オブジェクトストレージとWordPressの詳細については、WordPressサイトをSpacesにバックアップする方法のチュートリアルをご覧ください。
このチュートリアルでは、DigitalOcean Spacesと直接連携するWordPressプラグインを使用して、プライマリアセットストアとして使用します。 DigitalOcean Spaces Sync プラグインは、WordPressメディアライブラリのデータをSpacesにルーティングし、ニーズに基づいてさまざまな構成オプションを提供し、WordPressインスタンスでオブジェクトストレージを使用するプロセスを合理化します。
前提条件
このチュートリアルは、サーバー上にWordPressインスタンスがあり、DigitalOceanSpaceがあることを前提としています。 これを設定していない場合は、次の手順を実行できます。
- 1つのUbuntu16.04サーバー。Ubuntu16.04チュートリアルを使用した初期サーバーセットアップに従ってセットアップします。
- Ubuntu 16.04 にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法に関するチュートリアルに従って、サーバーにインストールされたLAMPスタック。
- Ubuntu16.04にLAMPを使用してWordPressをインストールする方法に関するチュートリアルに従ってサーバーにWordPressをインストールしました。
- DigitalOceanスペースとAPIキーの作成方法に従って作成されたDigitalOceanスペースとAPIキー。
- WP-CLI は、これらの手順に従ってインストールされます。
これらの前提条件が整ったら、このプラグインの使用を開始する準備が整います。
WordPressの権限を変更する
このチュートリアル全体を通して、WordPressプロジェクトのwp-content/uploads
フォルダーを操作するため、このフォルダーが存在し、適切なアクセス許可を持っていることが重要です。 mkdir
コマンドで-p
フラグを使用してフォルダーを作成し、フォルダーが存在しない場合は作成し、存在する場合はエラーをスローしないようにすることができます。
sudo mkdir -p /var/www/html/wp-content/uploads
これで、フォルダーにアクセス許可を設定できます。 まず、所有権をユーザーに設定し(ここでは、 sammy を使用しますが、必ず非ルートsudo
ユーザーを使用します)、所有権をwww-data
にグループ化します。グループ:
sudo chown -R sammy:www-data /var/www/html/wp-content/uploads
次に、Webサーバーにこのフォルダーへの書き込みアクセスを許可するアクセス許可を確立します。
sudo chmod -R g+w /var/www/html/wp-content/uploads
これで、プラグインを使用して、wp-content/uploads
フォルダー内のアセットのオブジェクトストレージにストアを作成し、WordPressインターフェイスからアセットを操作できるようになります。
DigitalOceanSpacesSyncのインストール
DigitalOcean Spaces Syncを使用する最初のステップは、WordPressフォルダーにインストールすることです。 WordPressディレクトリ内のプラグインフォルダに移動できます。
cd /var/www/html/wp-content/plugins
ここから、wp
コマンドを使用してDigitalOceanSpacesSyncをインストールできます。
wp plugin install do-spaces-sync
プラグインをアクティブ化するには、次のコマンドを実行します。
wp plugin activate do-spaces-sync
ここから、WordPress管理ダッシュボードの左側にあるプラグインタブに移動できます。
アクティブ化されたプラグインのリストにDigitalOceanSpacesSyncが表示されます。
DigitalOcean Spaces Syncの設定を管理するには、 Settings タブに移動し、メニューから DigitalOcean SpacesSyncを選択します。
DigitalOcean Spaces Syncは、アセットストレージを構成するためのオプションを提供します。
画面の上半分の接続設定フィールドは、スペースアクセスキーとシークレットを要求します。 次に、スペースの名前となるContainerとEndpointを要求します。
スペースのエンドポイントは、そのURLに基づいて決定できます。 たとえば、スペースのURLがhttps://example-name.nyc3.digitaloceanspaces.com
の場合、example-name
がバケット/コンテナーになり、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
ストレージプレフィックスおよびファイルマスクの設定は事前に入力されており、同期用に特定の種類のファイルを指定する場合を除いて、変更する必要はありません。
次のセクションでは、サーバーとSpace、およびSpaceのみにファイルを保存する方法について説明します。
複数の場所でのファイルの同期と保存
DigitalOcean Spaces Syncは、サーバーにファイルを保存すると同時に、それらをSpaceに同期するオプションを提供します。 このユーティリティは、サーバーにファイルを保持する必要があるが、バックアップを他の場所に保存したい場合に役立ちます。 サーバーにファイルを保持したまま、ファイルをSpaceに同期するプロセスを実行します。 この例では、メディアライブラリとスペースに保存するsammy10x10.png
というファイルがあると想定します。
まず、WordPress管理ダッシュボードの設定タブに移動し、表示されるオプションのメニューから DigitalOcean SpacesSyncを選択します。
次に、接続設定フィールドに、スペースキーとシークレットを入力し、次にコンテナとエンドポイントを入力します。 スペースのURLがhttps://example-name.nyc3.digitaloceanspaces.com
の場合、example-name
がコンテナになり、nyc3.digitaloceanspaces.com
がエンドポイントになります。 ]。 接続設定フィールドの下部にある接続の確認ボタンをクリックして、接続をテストします。
これで、 ファイルとパスの設定 。
ファイルへの完全なURLパスフィールドには、サーバーとスペースにファイルを保存しているため、完全なURLパスを入力できます。 ここではサーバーのIPを使用しますが、ドメインがある場合は、IPアドレスをドメイン名に交換できます。 DigitalOceanにドメインを登録する方法の詳細については、DigitalOceanでホスト名を設定する方法に関するチュートリアルを参照してください。 この場合、ファイルへの完全なURLパスはhttp://your_server_ip/wp-content/uploads
になります。
次に、ローカルパスフィールドにuploads
ディレクトリへのローカルパス/var/www/html/wp-content/uploads
を入力します。
単一のファイルで作業しているため、ストレージプレフィックスセクションとファイルマスクセクションを変更する必要はありません。 WordPressメディアライブラリのサイズと種類が増えるにつれて、ファイルマスクフィールドの*.png
などのワイルドカードと拡張子を使用して、この設定を変更して個々のファイルタイプをターゲットにすることができます。
あなたの決勝ファイルとパスの設定次のようになります。
画面下部の[変更を保存]ボタンをクリックして、構成の変更を必ず保存してください。
これで、ファイルsammy10x10.png
をWordPressメディアライブラリに追加できます。 wp media import
コマンドを使用して、ファイルをホームディレクトリからWordPressメディアライブラリにインポートします。 この場合、ホームディレクトリは sammy に属しますが、あなたの場合、これは非ルートsudo
ユーザーになります。 ファイルを移動するときに、--path
パラメーターを使用して、WordPressプロジェクトの場所を指定します。
wp media import --path=/var/www/html/ /home/sammy/sammy10x10.png
WordPressインターフェースを見ると、メディアライブラリにファイルが表示されているはずです。 WordPress管理ダッシュボードの左側にあるメディアライブラリタブに従って、そこに移動できます。
DigitalOceanコントロールパネルの[スペース]ページに移動すると、スペースにもファイルが表示されます。
最後に、wp-content/uploads
フォルダーに移動できます。ここで、WordPressは年と月を含むサブフォルダーを作成します。 このフォルダ内に、sammy10x10.png
ファイルが表示されます。
スペースへのファイルの保存
DigitalOcean Spaces Syncプラグインには、サーバー上のスペースとリソースを最適化する場合に備えて、スペースにのみファイルを保存できる追加のオプションがあります。 別のファイルsammy-heart10x10.png
を操作し、このファイルがスペースにのみ保存されるようにDigitalOceanSpacesSync設定を設定します。
まず、プラグインのメイン設定ページに戻りましょう。
私たちは去ることができます接続設定情報ですが、変更しますファイルとパスの設定 。 まず、ファイルへの完全なURLパスに、ストレージのパブリックドメインを記述します。 ここでも、サーバーIPを使用しますが、ドメインがある場合は、これをドメインと交換できます:http://uploads.your_server_ip
次に、に移動します同期設定 、ページの下部にある最初のボックスをクリックします。これにより、「ファイルをクラウドにのみ保存し、アップロードが成功した後に削除する」ことができます。 あなたの決勝ファイルとパスの設定次のようになります。
画面下部の[変更を保存]ボタンをクリックして、変更を保存してください。
コマンドラインに戻り、wp media import
を使用して、sammy-heart10x10.png
をユーザーのホームディレクトリからメディアライブラリに移動します。
wp media import --path=/var/www/html/ /home/sammy/sammy-heart10x10.png
WordPressインターフェースに戻ると、メディアライブラリにsammy-heart10x10.png
またはsammy10x10.png
が表示されません。 次に、コマンドラインに戻ってwp-content/uploads
ディレクトリに移動すると、タイムスタンプ付きのサブフォルダにsammy-heart10x10.png
がないことがわかります。
最後に、DigitalOceanコントロールパネルの[スペース]ページに移動すると、スペースに保存されている両方のファイルが表示されます。
結論
DigitalOceanSpacesSyncを使用してWordPressメディアファイルをDigitalOceanSpacesに保存するために使用できる2つの異なるオプションについて説明しました。 このプラグインは、カスタマイズのための追加オプションを提供します。これについては、開発者の記事「WordPressメディアをDigitalOceanSpacesと同期する」を参照してください。
Spacesの操作に関するより一般的な情報が必要な場合は、 DigitalOceanSpacesの概要およびSpacesでのパフォーマンスのベストプラクティスのガイドを確認してください。