Ubuntu 16.04でCaddyを使用してWordPressをインストールする方法

前書き

WordPressは人気のあるコンテンツ管理システム(CMS)です。 ブログやウェブサイトを素早く簡単にセットアップするために使用でき、その管理のほとんどすべてがウェブインターフェースを介して可能です。

ほとんどの場合、WordPressはLAMPまたはLEMPスタックを使用してインストールされます(つまり、 WebサーバーとしてApacheまたはNginxを使用します)。 このガイドでは、代わりにhttps://caddyserver.com/[Caddy]を使用してWordPressを設定します。 Caddyは、HTTP / 2サポートや、人気のある無料の証明書プロバイダーであるLet’s Encryptを使用した自動TLS暗号化など、独自の幅広い機能で急速に人気を集めている新しいウェブサーバーです。

このチュートリアルでは、Caddyが支援するWordPressをインストールして構成します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

ステップ1-PHPのインストール

WordPressを実行するには、Webサーバー、MySQLデータベース、およびPHPスクリプト言語が必要です。 Caddy WebサーバーとMySQLデータベースが前提条件からすでにインストールされているため、最後の要件はPHPのインストールです。

まず、パッケージが最新であることを確認してください。

sudo apt-get update

次に、PHPとhttp://php.net/manual/en/extensions.php[PHP拡張機能]をインストールします。MySQLのサポート、 + curl +、XML、マルチバイト文字列など、WordPressが依存しています。

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc

インストールが完了したら、PHPのバージョンを確認して、PHPが正しくインストールされたことを確認できます。

php -v

これに似た出力が表示され、PHPのバージョン番号が表示されます。

PHP version outputPHP 7.0.18-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
   with Zend OPcache v7.0.18-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

WordPressのすべての依存関係がインストールされているため、次に、WordPressが使用するMySQLデータベースを構成します。

ステップ2-MySQLデータベースと専用ユーザーの作成

WordPressはMySQLデータベースを使用してすべての情報を保存します。 デフォルトのMySQLインストールでは、* root *管理アカウントのみが作成されます。 このアカウントは、データベースサーバーに対する無制限の権限がセキュリティリスクであるため、使用しないでください。 ここでは、WordPressが使用する専用のMySQLユーザーと、新しいユーザーがアクセスできるデータベースを作成します。

最初に、MySQL * root *管理アカウントにログインします。

mysql -u root -p

インストール中にMySQL * root *アカウントに設定したパスワードの入力を求められます。

WordPress Webサイトで使用される「++」という新しいデータベースを作成します。 別の名前を使用することもできますが、後で追加の構成を行うために必ず覚えておいてください。

CREATE DATABASE  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

次に、このデータベースへのアクセスを許可される新しいユーザーを作成します。 ここでは、簡単にするためにユーザー名「」を使用していますが、独自の名前を選択できます。 ``を強力で安全なパスワードに置き換えることを忘れないでください。

GRANT ALL ON .* TO ''@'localhost' IDENTIFIED BY '';

特権をフラッシュして、MySQLサーバーに変更を通知します。

FLUSH PRIVILEGES;

これでMySQLを安全に終了できます。

EXIT;

WordPressには専用のデータベースとユーザーアカウントがあるため、すべてのシステムコンポーネントがセットアップされます。 次のステップは、WordPress自体をインストールすることです。

ステップ3-WordPressのダウンロード

WordPressをインストールするには、最新のリリースをWebルートディレクトリにダウンロードし、Webサーバーからアクセスできることを確認してから、WordPressのグラフィカルインターフェイスを介してインストールを完了します。 GUIにアクセスする前にWebサーバーを構成する必要があるため、この手順ではリリースをダウンロードします。

まず、現在のディレクトリを、Webサイトファイルを保存するWebルートである `+ / var / www +`に変更します。

cd /var/www

最新の圧縮されたWordPressリリースをダウンロードします。 ソフトウェアはセキュリティパッチで頻繁に更新されるため、最新のリリースを使用することが重要です。

sudo curl -O https://wordpress.org/latest.tar.gz

ダウンロードした圧縮アーカイブを解凍します。

sudo tar zxf latest.tar.gz

これにより、 `+ wordpress`という新しいディレクトリが自動的に作成されます。 ダウンロードしたアーカイブは不要になったため、安全に削除できます。

sudo rm latest.tar.gz

最後のステップは、WordPressファイルとディレクトリの権限を変更して、すべてのファイルがCaddyによって書き込み可能になるようにすることです。 これにより、WordPressが自動的に新しいバージョンに更新されます。

sudo chown -R www-data:www-data wordpress

次に、Webサーバーを構成して、Webサイトを提供する必要があります。

手順4-Caddyを構成してWordPress Webサイトを提供する

ここでは、 `+ Caddyfile +`設定ファイルを変更して、WordPressインストールの場所と訪問者に公開するドメイン名をCaddyに伝えます。

`+ nano +`またはお好みのテキストエディターを使用して設定ファイルを開きます。

sudo nano /etc/caddy/Caddyfile

次の構成をコピーしてファイルに貼り付けます。 以前のチュートリアルから構成例を削除できます。

/ etc / caddy / Caddyfile

{
   tls
   root /var/www/wordpress
   gzip
   fastcgi / /run/php/php7.0-fpm.sock php
   rewrite {
       if {path} not_match ^\/wp-admin
       to {path} {path}/ /index.php?_url={uri}
   }
}

この `+ Caddyfile +`の構造は次のとおりです。

  • 最初の行の「++」は、サイトを利用できるドメイン名です。 独自のドメイン名に置き換えてください。

  • `+ tls `ディレクティブの後の `+`は、Let’s Encrypt証明書を要求するために使用する電子メールアドレスをCaddyに伝えます。 証明書を回復する必要がある場合、Let’s Encryptは回復プロセスでこの電子メールアドレスを使用します。

  • `+ root `ディレクティブはCaddyにWebサイトのファイルの場所を伝えます。 この例では、「 / var / www / wordpress」です。

  • `+ gzip +`ディレクティブは、Gzip圧縮を使用してWebサイトを高速化するようにCaddyに指示します。

  • `+ fastcgi `ディレクティブは、拡張子が ` php +`のファイルをサポートするようにPHPハンドラーを設定します

  • `+ rewrite `ディレクティブを使用すると、プリティURL(WordPressではプリティパーマリンクと呼ばれます)が有効になります。 Apacheを使用する場合、この設定はWordPressによって ` .htaccess +`ファイルで自動的に提供されますが、Caddy用に個別に設定する必要があります。

構成ファイルを適宜変更した後、ファイルを保存して終了します。

Caddyを再起動して、新しい構成ファイルの設定を有効にします。

sudo systemctl restart caddy

Caddyは起動すると、Let’s EncryptからSSL証明書を自動的に取得し、TLS暗号化を使用してサイトを安全に提供します。 Webブラウザーを使用してドメインに移動することで、CaddyがホストするWordPress Webサイトにアクセスできるようになりました。 これを行うと、アドレスバーに緑色のロック記号が表示されます。これは、安全な接続でサイトが表示されていることを意味します。

これで、CaddyとWordPress Webサイトをホストするために必要なすべてのソフトウェアをインストールして構成できました。 最後のステップは、グラフィカルインターフェイスを使用してWordPressの設定を完了することです。

ステップ5-WordPressの構成

WordPressには、データベースへの接続や最初のWebサイトのセットアップなど、セットアップを完了するためのGUIインストールウィザードがあります。

ブラウザで新しいWordPressインスタンスに初めてアクセスすると、言語のリストが表示されます。 使用する言語を選択します。 次の画面で、データベースについて必要な情報を説明します。 [* Let’s go!*]をクリックすると、次のページでデータベース接続の詳細が要求されます。 このフォームに次のように入力します。

  • *データベース名*は、ステップ2でカスタマイズしていない限り、「+ wordpress +」にする必要があります。

  • ステップ2でカスタマイズしていない限り、* Username wordpressuser *である必要があります。

  • * Password は、ステップ2で wordpressuser *に設定したパスワードです。

  • *データベースホスト*と*テーブルプレフィックス*はデフォルト値のままにしてください。

  • Submit *をクリックすると、WordPressは提供された詳細が正しいかどうかを確認します。 エラーメッセージが表示された場合は、データベースの詳細を正しく入力したことを再確認してください。

WordPressがデータベースに正常に接続すると、* All right、sparky!で始まるメッセージが表示されます。 インストールのこの部分を通過しました。 WordPressはデータベースと通信できるようになりました。*

これで、[インストールの実行]をクリックしてインストールを開始できます。 しばらくすると、WordPressは、Webサイトのタイトル、管理者アカウントのユーザー名、パスワード、電子メールアドレスなど、Webサイトの詳細を求める最終画面を表示します。 強力なパスワードは自動的に生成されますが、必要に応じて独自のパスワードを選択できます。

[WordPressのインストール]をクリックすると、WordPressダッシュボードに移動します。 これでWordPressのインストールが完了しました。WordPressを自由に使用してWebサイトをカスタマイズし、投稿やページを作成できます。

結論

これで、Caddy Webサーバーを使用してWordPressのインストールが機能するようになりました。 CaddyはLet’s EncryptからSSL証明書を自動的に取得し、安全な接続を介してサイトを提供し、HTTP / 2およびGzip圧縮を使用してWebサイトをより高速に提供します。 Caddyの独自の機能と `+ Caddyfile +`の設定ディレクティブの詳細については、https://caddyserver.com/docs [Caddyの公式ドキュメント]をご覧ください。

新しいWordPressインスタンスでプラグインを使用する場合、一部のプラグインはApache Webサーバーの `+ .htaccess `ファイルに依存していることに注意してください。 Apache以外のWebサーバーはWordPressで一般的になっているため、これらの ` .htaccess `依存プラグインの多くは存在しません。 ただし、Caddyは ` .htaccess +`を使用しないため、Caddyを使用してもすぐには機能しません。 これは、Caddyを使用しているときにWordPressプラグインで問題が発生した場合に留意する必要があることです。

`+ .htaccess `に依存するほとんどのプラグインは、処理のためにPHPを完全に回避するために ` .htaccess `を使用するキャッシュプラグイン(たとえば、W3 Total Cache)です。 別の例はWordfenceです。これは、デフォルトで ` .htaccess +`を使用するWebアプリケーションファイアウォールモジュールですが、異なる構成モデルを適切にサポートします。

Related