Ubuntu16.04にCaddyを使用してWordPressをインストールする方法
序章
WordPress は、人気のあるコンテンツ管理システム(CMS)です。 ブログやウェブサイトをすばやく簡単に設定するために使用でき、ほとんどすべての管理はウェブインターフェースを介して可能です。
ほとんどの場合、WordPressはLAMPまたはLEMPスタックを使用してインストールされます(つまり、 ApacheまたはNginxのいずれかをWebサーバーとして使用します)。 このガイドでは、代わりにCaddyを使用してWordPressを設定します。 Caddyは、HTTP / 2サポートや、人気のある無料の証明書プロバイダーであるLet's Encryptによる自動TLS暗号化など、さまざまな独自機能で急速に人気を博している新しいWebサーバーです。
このチュートリアルでは、CaddyがサポートするWordPressをインストールして構成します。
前提条件
このチュートリアルに従うには、次のものが必要です。
- この最初のUbuntu16.04サーバーセットアップチュートリアルでセットアップされた1つのUbuntu16.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
- Ubuntu16.04チュートリアルにMySQLをインストールする方法に従ってインストールされたMySQL。
- Ubuntu 16.04 チュートリアルでCaddyを使用してWebサイトをホストする方法( Droplet を指すように構成されたドメイン名を含む)に従ってインストールされたCaddy。
ステップ1—PHPのインストール
WordPressを実行するには、Webサーバー、MySQLデータベース、およびPHPスクリプト言語が必要です。 前提条件からすでにCaddyWebサーバーとMySQLデータベースがインストールされているため、最後の要件はPHPをインストールすることです。
まず、パッケージが最新であることを確認します。
sudo apt-get update
次に、PHPをインストールします。 PHP拡張機能WordPressは、MySQL、curl
、XML、マルチバイト文字列のサポートなどに依存しています。
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
インストール中にMySQLrootアカウントに設定したパスワードの入力を求められます。
WordPressWebサイトで使用されるwordpress
という名前の新しいデータベースを作成します。 別の名前を使用することもできますが、後で追加の構成を行うために覚えておいてください。
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
次に、このデータベースへのアクセスを許可する新しいユーザーを作成します。 ここでは、わかりやすくするためにユーザー名wordpressuser
を使用していますが、独自の名前を選択することもできます。 password
を強力で安全なパスワードに置き換えることを忘れないでください。
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
MySQLサーバーに変更を通知するためのフラッシュ特権。
FLUSH PRIVILEGES;
これで、MySQLを安全に終了できます。
EXIT;
WordPressには専用のデータベースとユーザーアカウントがあるため、すべてのシステムコンポーネントがセットアップされます。 次のステップは、WordPress自体をインストールすることです。
ステップ3—WordPressをダウンロードする
WordPressをインストールするには、最新のリリースをWebルートディレクトリにダウンロードし、Webサーバーからアクセスできることを確認してから、WordPressのグラフィカルインターフェイスを介してインストールを完了します。 このステップでは、GUIにアクセスする前にWebサーバーを構成する必要があるため、リリースをダウンロードするだけです。
まず、現在のディレクトリを/var/www
に変更します。これは、Webサイトファイルを保存するWebルートです。
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
最後のステップは、すべてのファイルがCaddyによって書き込み可能になるように、WordPressファイルとディレクトリの権限を変更することです。 これにより、WordPressを新しいバージョンに自動的に更新できるようになります。
sudo chown -R www-data:www-data wordpress
注: WordPressファイルの適切な権限の選択は、好みと管理方法の問題です。 WordPressファイルへの書き込みアクセスを禁止すると、WordPressコアファイルの侵害につながる可能性のあるいくつかのバグを悪用できなくなるため、セキュリティが向上しますが、同時に、自動セキュリティ更新が無効になり、WordPressを介してプラグインをインストールおよび更新する機能が無効になりますWebインターフェイス。
次に、Webサイトを提供するためにWebサーバーの構成を変更する必要があります。
ステップ4—WordPressWebサイトにサービスを提供するようにCaddyを構成する
ここでは、Caddyfile
構成ファイルを変更して、WordPressのインストール場所と、訪問者に公開するドメイン名をCaddyに通知します。
nano
またはお好みのテキストエディタを使用して構成ファイルを開きます。
sudo nano /etc/caddy/Caddyfile
次の構成をコピーしてファイルに貼り付けます。 以前のチュートリアルから構成例を削除できます。
/ etc / caddy / Caddyfile
example.com { tls [email protected] 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
は次のように構成されています。
- 最初の行の
example.com
は、サイトを利用できるドメイン名です。 独自のドメイン名に置き換えてください。 tls
ディレクティブの後の[email protected]
は、Let'sEncrypt証明書を要求するために使用する必要がある電子メールアドレスをCaddyに通知します。 証明書を回復する必要がある場合は、Let'sEncryptが回復プロセスでこの電子メールアドレスを使用します。root
ディレクティブは、Webサイトファイルの場所をCaddyに通知します。 この例では、/var/www/wordpress
です。gzip
ディレクティブは、Webサイトを高速化するためにGzip圧縮を使用するようにCaddyに指示します。fastcgi
ディレクティブは、php
拡張子のファイルをサポートするようにPHPハンドラーを構成しますrewrite
ディレクティブを使用すると、きれいなURL(WordPressではきれいなパーマリンクと呼ばれます)が有効になります。 この構成は、Apacheを使用する場合、WordPressによって.htaccess
ファイルで自動的に提供されますが、Caddy用に個別に構成する必要があります。
それに応じて構成ファイルを変更した後、ファイルを保存して終了します。
Caddyを再起動して、新しい構成ファイル設定を有効にします。
sudo systemctl restart caddy
Caddyが起動すると、Let's EncryptからSSL証明書を自動的に取得し、TLS暗号化を使用してサイトに安全にサービスを提供します。 これで、Webブラウザーを使用してドメインに移動することにより、CaddyがホストするWordPressWebサイトにアクセスできます。 これを行うと、アドレスバーに緑色の鍵のサインが表示されます。これは、サイトが安全な接続を介して表示されていることを意味します。
これで、Caddyと、WordPressWebサイトをホストするために必要なすべてのソフトウェアがインストールおよび構成されました。 最後のステップは、グラフィカルインターフェイスを使用してWordPressの構成を完了することです。
ステップ5—WordPressの設定
WordPressには、データベースへの接続や最初のWebサイトのセットアップなど、セットアップを完了するためのGUIインストールウィザードがあります。
ブラウザで新しいWordPressインスタンスに初めてアクセスすると、言語のリストが表示されます。 使用したい言語を選択してください。 次の画面では、データベースに関して必要な情報について説明します。 Let's go!をクリックすると、次のページでデータベース接続の詳細を尋ねられます。 このフォームに次のように記入します。
- 手順2でカスタマイズした場合を除き、データベース名は
wordpress
である必要があります。 - 手順2でカスタマイズした場合を除き、ユーザー名はwordpressuserである必要があります。
- Password は、手順2でwordpressuserに設定したパスワードである必要があります。
- データベースホストおよびテーブルプレフィックスはデフォルト値のままにしておく必要があります。
送信をクリックすると、WordPressは提供された詳細が正しいかどうかを確認します。 エラーメッセージが表示された場合は、データベースの詳細を正しく入力したことを再確認してください。
WordPressがデータベースに正常に接続すると、次のメッセージが表示されます。 大丈夫、キラキラ! インストールのこの部分を完了しました。 WordPressがデータベースと通信できるようになりました。
これで、[インストールの実行]をクリックしてインストールを開始できます。 しばらくすると、WordPressは、Webサイトのタイトル、管理者アカウントのユーザー名、パスワード、電子メールアドレスなどのWebサイトの詳細を尋ねる最終画面を表示します。 強力なパスワードは自動的に生成されますが、必要に応じて独自のパスワードを選択できます。
注:多くのセキュリティエクスプロイトは標準のユーザー名とパスワードに依存しているため、管理者アカウントにadminのような一般的なユーザー名を使用しないことをお勧めします。 サイトを安全にするために、メインアカウントに一意のユーザー名と強力なパスワードを選択してください。
WordPressのインストールをクリックすると、WordPressダッシュボードに移動します。 これでWordPressのインストールが完了し、WordPressを自由に使用してWebサイトをカスタマイズしたり、投稿やページを書き込んだりできます。
結論
これで、CaddyWebサーバーを使用してWordPressのインストールが機能するようになりました。 CaddyはLet'sEncryptからSSL証明書を自動的に取得し、安全な接続を介してサイトにサービスを提供し、HTTP/2とGzip圧縮を使用してWebサイトに高速でサービスを提供します。 の公式Caddyドキュメントで、Caddyfile
のCaddy独自の機能と構成ディレクティブの詳細を読むことができます。
新しいWordPressインスタンスでプラグインを使用する場合、一部のプラグインはApacheWebサーバーの.htaccess
ファイルに依存していることに注意してください。 Apache以外のWebサーバーがWordPressで一般的になっているため、これらの.htaccess
に依存するプラグインは多くありません。 ただし、.htaccess
を使用していないため、Caddyではそのままでは機能しないものがいくつかあります。 Caddyを使用しているときにWordPressプラグインで問題が発生した場合は、これを覚えておくとよいでしょう。
.htaccess
に依存するほとんどのプラグインは、.htaccess
を使用してPHPを完全に回避して処理するキャッシュプラグイン(たとえば、W3 Total Cache)です。 もう1つの例はWordfenceです。これは、デフォルトで.htaccess
を使用するWebアプリケーションファイアウォールモジュールですが、さまざまな構成モデルを適切にサポートしています。