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の権限を変更する
このチュートリアル全体を通して、私たちは wp-content/uploads
WordPressプロジェクトのフォルダーであるため、このフォルダーが存在し、適切なアクセス許可を持っていることが重要です。 あなたはそれを作成することができます 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
ここから、DigitalOceanSpacesSyncを使用してインストールできます。 wp
指図:
- 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の両方にファイルを保存する場合は、次のように入力します。
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プロジェクトの場所を指定するパラメーター:
- 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
:
- 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でのパフォーマンスのベストプラクティスのガイドを確認してください。