序章

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の権限を変更する

このチュートリアル全体を通して、私たちは wp-content/uploads WordPressプロジェクトのフォルダーであるため、このフォルダーが存在し、適切なアクセス許可を持っていることが重要です。 あなたはそれを作成することができます mkdir を使用したコマンド -p 存在しない場合はフォルダを作成し、存在する場合はエラーをスローしないようにするためにフラグを立てます。

  1. sudo mkdir -p /var/www/html/wp-content/uploads

これで、フォルダーにアクセス許可を設定できます。 まず、所有権をユーザーに設定します(ここでは、 sammy を使用しますが、必ず非ルートを使用してください) sudo ユーザー)、およびグループの所有権 www-data グループ:

  1. sudo chown -R sammy:www-data /var/www/html/wp-content/uploads

次に、Webサーバーにこのフォルダーへの書き込みアクセスを許可するアクセス許可を確立します。

  1. sudo chmod -R g+w /var/www/html/wp-content/uploads

これで、プラグインを使用して、オブジェクトストレージにストアを作成できるようになります。 wp-content/uploads フォルダー、およびWordPressインターフェイスからアセットを操作します。

DigitalOceanSpacesSyncのインストール

DigitalOcean Spaces Syncを使用する最初のステップは、WordPressフォルダーにインストールすることです。 WordPressディレクトリ内のプラグインフォルダに移動できます。

  1. cd /var/www/html/wp-content/plugins

ここから、DigitalOceanSpacesSyncを使用してインストールできます。 wp 指図:

  1. wp plugin install do-spaces-sync

プラグインをアクティブ化するには、次のコマンドを実行します。

  1. 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の両方にファイルを保存する場合は、次のように入力します。

  • http://your_server_ip/wp-content/uploads ファイルへの完全なURLパスフィールド
  • /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 Filemaskフィールドに入力します。

あなたの決勝ファイルとパスの設定次のようになります。

画面下部の[変更を保存]ボタンをクリックして、構成の変更を必ず保存してください。

これで、ファイルを追加できます。 sammy10x10.png、WordPressメディアライブラリに。 を使用します wp media import コマンド。ホームディレクトリからWordPressメディアライブラリにファイルをインポートします。 この場合、ホームディレクトリは sammy に属しますが、あなたの場合、これは非ルートになります sudo ユーザー。 ファイルを移動するときに、 --path WordPressプロジェクトの場所を指定するパラメーター:

  1. 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、およびDigitalOcean Spaces Sync設定を設定して、このファイルがSpaceにのみ保存されるようにします。

まず、プラグインのメイン設定ページに戻りましょう。

私たちは去ることができます接続設定情報ですが、変更しますファイルとパスの設定 。 まず、ファイルへの完全なURLパスに、ストレージのパブリックドメインを記述します。 ここでも、サーバーIPを使用しますが、ドメインがある場合は、これをドメインと交換できます。 http://uploads.your_server_ip

次に、に移動します同期設定 、ページの下部にある最初のボックスをクリックします。これにより、「ファイルをクラウドにのみ保存し、アップロードが成功した後に削除する」ことができます。 あなたの決勝ファイルとパスの設定次のようになります。

画面下部の[変更を保存]ボタンをクリックして、変更を保存してください。

コマンドラインに戻り、移動します sammy-heart10x10.png ユーザーのホームディレクトリからメディアライブラリへ wp media import:

  1. 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でのパフォーマンスのベストプラクティスのガイドを確認してください。