前回の記事で LiteSpeed Web Server のインストールと初期設定方法をご紹介しました。今回は、LiteSpeed Web Server で WordPress サイトを構築するに必要な PHP7.2 と MySQLのインストール、WordPress 用のバーチャルホスト作成手順をまとめてみました。
関連記事:
LiteSpeed Web Server インストールメモ(CentOS)
LiteSpeed Web Server の HTTPS(SSL/TLS)設定メモ
LiteSpeed Web Server と Apache のパフォーマンスを比較
PHP7.2 のインストールと切り替え
インストール
WordPress の動作環境として PHP7.2以上が推奨されていますので(2018年6月26日現在)LiteSpeed リポジトリから PHP7.2 をインストールします。
yum -y install lsphp72-devel
yum -y install lsphp72-pdo
yum -y install lsphp72-mysqlnd
yum -y install lsphp72-mbstring
yum -y install lsphp72-gd
yum -y install lsphp72-json
yum -y install lsphp72-pear
yum -y install lsphp72-pecl-apcu-devel
yum -y install zlib-devel
切り替え
初期状態では PHP5.6 が使われますので、これをインストールした PHP7.2(lsphp72)に切り替えます。
LiteSpeed Web Serve の管理画面「https://<サーバーのIPアドレス>:7080/」にログインします。
[サーバー設定]→[外部アプリ]タブを選択し、「編集」ボタンをクリックします。
コマンドを「$SERVER_ROOT/lsphp72/bin/lsphp」に変更します。
ページ上部の「保存」をクリックします。
LiteSpeed Web Server を再起動して設定を反映します。
「http://<サーバーのIPアドレス>/phpinfo.php」に接続して、PHP のバージョンが 7.2.x であることを確認します。
MySQLのインストール
MySQL の yum リポジトリを追加します。
MySQL サーバーをインストールします。
yum -y install mysql-community-server
起動
自動起動設定
mysql_secure_installation の実行
・root ユーザーの初期パスワードの確認(初期パスワードはそのまま使うことはできませんので変更が必要です)
grep password /var/log/mysqld.log
この後に設定する root ユーザーの新しいパスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれてしまいますので注意です。
参考資料:6.5.3.2 Password Validation Options and Variables | MySQL 8.0 Reference Manual
mysql_secure_installation コマンドに「--use-default」オプションを付けてを実行します。root ユーザーのパスワード変更後に不要なユーザーやDBを削除してくれます。
(略)
Enter password for user root: <初期パスワード>
The existing password for the user account root has expired. Please set a new password.
New password: <新しいパスワード>
Re-enter new password: <新しいパスワード>
(略)
WordPress 用のバーチャルホスト作成
WordPress を配置するディレクトリや LiteSpeed Web Server のログディレクトリを作成します。
mkdir /var/www/wordpress/logs
バーチャルホストの作成と設定
LiteSpeed Web Serve の管理画面で「バーチャルホスト」を選択し「追加」ボタンをクリックします。
赤枠部分を入力/選択して「保存」ボタンをクリックします。
---(設定箇所)---------------------------
バーチャルホスト名:wordpress
Virtual Host Root:/var/www/wordpress
設定ファイル:$SERVER_ROOT/conf/vhosts/wordpress/vhconf.conf
シンボリックリンクを許可する:はい
スクリプト/外部アプリを有効にする:はい
抑制された:はい
外部アプリのUIDモードの設定:Server UID
------------------------------
設定ファイルが無いためエラーになりますので「CLICK TO CREATE」をクリックして作成します。
設定ファイルが作成されたら再度「保存」ボタンをクリックします。
続いて作成されたバーチャルホスト名をクリックします。
「一般」タブを選択し「一般」ブロックの「編集」ボタンをクリックします。
赤枠部分を入力/選択して「保存」ボタンをクリックします。
---(設定箇所)---------------------------
Document Root:$VH_ROOT/html/
圧縮を有効にする:はい
------------------------------
「ログ」タブを選択し「バーチャルホストログ」ブロックの「編集」ボタンをクリックします。
赤枠部分を入力/選択して「保存」ボタンをクリックします。
---(設定箇所)---------------------------
サーバーログを使用する:はい
ファイル名 $VH_ROOT/logs/error.log
ログレベル:ERROR
ローテーションサイズ(バイト):10M
------------------------------
「アクセスログ」ブロックの「編集」ボタンをクリックします。
赤枠部分を入力/選択して「保存」ボタンをクリックします。
---(設定箇所)---------------------------
ファイル名 $VH_ROOT/logs/access.log
ローテーションサイズ(バイト):10M
保持日数:30
圧縮アーカイブ:はい
------------------------------
リスナーの設定
「バーチャルホスト」を選択し「Default」をクリックします。
バーチャルホスト「Example」を削除します。
バーチャルホストマップブロックの「追加」をクリックします。
先ほど作成したバーチャルホストを選択し、サイトのドメイン名を入力して「保存」をクリックします。(IPアドレスでアクセスする場合は「*」(アスタリスク)を入力します)
LiteSpeed Web Server を再起動して設定を反映します。
以上で WordPress 用のバーチャルホストの作成完了です。
WordPress のインストール
ダウンロードと配置
最新の WordPress 日本語版をダウンロードします。(下記のURLで常に最新版をダウンロードできます)
wget https://ja.wordpress.org/latest-ja.tar.gz
解凍します。
解凍した WordPress のソースファイルを LiteSpeed Web Serve のドキュメントルートに移動します。
ドキュメントルート以下のオーナーを LiteSpeed Web Serve の実行ユーザー nobody に変更します。
MySQL データベースとユーザーの作成
MySQLに WordPress 用のデータベースとユーザーを作成します。
MySQLサーバーに接続します。
Enter password: <MySQLのrootユーザーのパスワードを入力>
データベースを作成します。下の場合「wordpress」がデータベース名になります。データベース名はなんでも構いませんが、使えない文字もありますので、英数小文字のみで作成することをオススメします。
MySQLのユーザーを作成します。こちらも「wordpress」がユーザー名になりますがなんでも構いません。(WordPress で MySQL8.0 を使う場合は「with mysql_native_password」オプションが必要です)
GRANT ALL ON wordpress.* TO wordpress@localhost;
MySQLとの接続を終了します。
WordPress の設定ファイルの編集
設定ファイルのサンプル(wp-config-sample.php)の名前を変更して、そのまま設定ファイル(wp-config.php)として利用します。
mv -i wp-config-sample.php wp-config.php
・設定ファイルを編集します。
vi wp-config.php
↓
define('DB_NAME', 'wordpress');
define('DB_USER', 'username_here');
↓
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'password_here');
↓
define('DB_PASSWORD', '<パスワード>');
・認証用ユニークキーの設定
WordPress.org の秘密鍵サービス https://api.wordpress.org/secret-key/1.1/salt/ にアクセスし、表示されたユニークキーを WordPress の設定ファイルにコピペします。
vi wp-config.php
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
↓
https://api.wordpress.org/secret-key/1.1/salt/ で表示されたユニークキーををコピペ
設定ファイルに、MySQLのパスワードを入力していますので、LiteSpeed Web Serve の実行ユーザー以外は読取りできないようにして、ドキュメントルートの1つ上の階層に移動します。
mv -i /var/www/wordpress/html/wp-config.php /var/www/wordpress/wp-config.php
WEBブラウザで http://www.example.com/ (URLはご自分の環境に読み替えてください)に接続して WordPress を設定します。設定方法は以下の記事をご参照ください。
関連記事:WordPress の初期設定
パーマリンクを設定して 404エラー になる場合の対処方法
LiteSpeed Web Server を使っている場合に WordPress のパーマリンクを設定すると 404エラーが発生します。原因は LiteSpeed Web Server では .htaccess ファイルに書かれた Rewrite ルールが認識されないためです。(これは Nginx など Apache 以外のウェブサーバでは必ず発生します)
対処方法は簡単で .htaccess ファイルに書かれた Rewrite ルールを、そのまま LiteSpeed Web Server に設定してあげればOKです。
まず .htaccess ファイルに書かれた Rewrite ルールの赤字の部分をコピーします。
cat /var/www/wordpress/html/.htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
LiteSpeed Web Serve の管理画面で「バーチャルホスト」を選択し WordPress 用のバーチャルホストをクリックします。
「Rewrite」タブを選択し「Rewrite 制御」ブロックの「編集」ボタンをクリックします。
Rewriteを有効にする「はい」を選択して「保存」ボタンをクリックします。
続いて「Rewrite ルール」ブロックの「編集」ボタンをクリックします。
.htaccess ファイルからコピーした Rewrite ルールをペーストして「保存」ボタンをクリックします。
LiteSpeed Web Server を再起動して設定を反映します。
パーマリンクでも記事が表示されるようになりました。
おわりに
次回は、LiteSpeed Web Server の SSL/TLS の設定方法を調べてみたいと思います。
コメント