DigitalOceanスペースにWordPressアセットを保存する方法

提供:Dev Guides
移動先:案内検索

序章

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は、アセットストレージを構成するためのオプションを提供します。

画面の上半分の接続設定フィールドは、スペースアクセスキーとシークレットを要求します。 次に、スペースの名前となるContainerEndpointを要求します。

スペースのエンドポイントは、その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の両方にファイルを保存する場合は、次のように入力します。

ストレージプレフィックスおよびファイルマスクの設定は事前に入力されており、同期用に特定の種類のファイルを指定する場合を除いて、変更する必要はありません。

次のセクションでは、サーバーと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でのパフォーマンスのベストプラクティスのガイドを確認してください。