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アカウントに設定したパスワードの入力を求められます。
と呼ばれる新しいデータベースを作成します wordpress
これはWordPressのWebサイトで使用されます。 別の名前を使用することもできますが、後で追加の構成を行うために覚えておいてください。
- 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
次の構成をコピーしてファイルに貼り付けます。 以前のチュートリアルから構成例を削除できます。
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
次のように構成されています。
- The
example.com
最初の行は、サイトを利用できるドメイン名です。 独自のドメイン名に置き換えてください。 - The
[email protected]
後にtls
ディレクティブは、Let’sEncrypt証明書を要求するために使用する必要がある電子メールアドレスをCaddyに指示します。 証明書を回復する必要がある場合は、Let’sEncryptが回復プロセスでこの電子メールアドレスを使用します。 - The
root
ディレクティブは、Webサイトファイルの場所をCaddyに通知します。 この例では、/var/www/wordpress
. - The
gzip
ディレクティブは、Webサイトを高速化するためにGzip圧縮を使用するようにCaddyに指示します。 - The
fastcgi
ディレクティブは、次のファイルをサポートするようにPHPハンドラーを構成します。php
拡大 - 使用する
rewrite
ディレクティブは、きれいなURL(WordPressではきれいなパーマリンクと呼ばれます)を有効にします。 この構成は、WordPressによって自動的に提供されます。.htaccess
Apacheを使用する場合はファイルしますが、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!をクリックすると、次のページでデータベース接続の詳細を尋ねられます。 このフォームに次のように記入します。
- データベース名は
wordpress
、ステップ2でカスタマイズした場合を除きます。 - 手順2でカスタマイズした場合を除き、ユーザー名はwordpressuserである必要があります。
- Password は、手順2でwordpressuserに設定したパスワードである必要があります。
- データベースホストおよびテーブルプレフィックスはデフォルト値のままにしておく必要があります。
送信をクリックすると、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
依存するプラグインが存在します。 ただし、存在するいくつかは、Caddyを使用しないため、そのままでは機能しません。 .htaccess
. Caddyを使用しているときにWordPressプラグインで問題が発生した場合は、これを覚えておくとよいでしょう。
に依存するほとんどのプラグイン .htaccess
を使用するキャッシュプラグイン(たとえば、W3 Total Cache)です .htaccess
処理のためにPHPを完全に回避します。 別の例はWordfenceです。これは、を使用するWebアプリケーションファイアウォールモジュールです。 .htaccess
デフォルトですが、さまざまな構成モデルを適切にサポートします。