さて、前回はさくらのクラウド上の仮想サーバーに対して、SSH 回りの設定調整、無料SSL 証明書の取得、PHPのインストールまで行いました。
今回は引き続き、MySQL サーバー互換の MariaDB をインストール、セットアップして、いよいよ WordPress のインストールまで書いていきます。
- 目次 -
1.MariaDB のインストール
まずは MariaDB をインストールし、起動。そしてサーバー再起動時に自動的にスタートするようにします。
yum -y install mariadb mariadb-server service mariadb start systemctl enable mariadb.service systemctl list-units |grep mariadb
起動が確認出来ましたら、インストール成功です。
2.MariaDB の 管理パスワード設定と DB 作成
次に、MariaDB の管理ユーザー(root)のパスワード設定、WordPress 用の DB と DB アクセス用ユーザーの作成などを行います。mysql コマンド(MariaDB でも、今のところ使えます)で一ずつ行ったり、root パスワードだけ設定して後は PhpMyAdmin 等のツールを使っても良いのですが、今回は以下の SQL 文を用意して一気に mysql コマンドで流し込んで実行しました。
cd /tmp/ ls -lha vi wordpress.sql
# wordpress.sql set password for root@localhost=password('root のパスワード'); insert into user set user="DB接続のユーザー名", password=password("パスワード"), host="localhost"; create database WordPress用DB名; grant all on WordPress用DB名.* to DB接続のユーザー名; FLUSH PRIVILEGES;
mysql -uroot -Dmysql < wordpress.sql # 確認 mysql -u root -p mysql -u DB接続のユーザー名 -p -D WordPress用DB名 # SQL 文の削除 rm wordpress.sql
3.WordPress インストール
いよいよ終わりが見えてきました。WordPress の最新版をダウンロードし、展開します。
cd /var/www/html/ wget https://ja.wordpress.org/wordpress-4.7.3-ja.zip unzip -q wordpress-4.7.3-ja.zip ls -lh mv ./wordpress/* ./ ls -lha rm wordpress-4.7.3-ja.zip
これで、
https://tech.lunarflake.com/
にアクセスすると、WordPress のセットアップ画面にアクセス出来ます。
セットアップ手順やその後のカスタマイズについては、腐るほどのドキュメントが Web上、あるいは書籍であるので、そちらを参照いただければと思います。
4.……とはいえ、WordPress でハマったところ。。。
結構ハマった……といいますか、未だに解決出来ていないのが、実は「パーマリンク」でした。
http:// ~ では、キチンとパーマリンクが動作しますが、https:// ~ では動作しません。
さくらのレンタルサーバーや専用サーバー向けのサポート情報「SSL 利用時の注意点」に以下の記述が、下の方に(笑)書いてあることは突き止めました。
443番ポートは「https://」という形式でアクセスされ、 「https://」についてはプロクシとして動作します。 (略) 例えば、HTTPとしてアクセスした場合はお手元のコンピュータが、 HTTPSとしてアクセスした場合はサーバそのものがアクセス元となります。 このため、SSLのみのアクセス許可(HTTPアクセスの制限)や、mod_rewrite によるURLの書き換えはできません。
これが、さくらのクラウドにも当てはまるかどうかはまだ確認中ですが、httpd のアクセスログに、サーバー自身の IP が多数見られること(全てでは無いですが)、また実際の挙動から見て、上記文書の記述はクラウドでもあてはまるのかもしれません。
次回は……
さて、次回なのですが……。何にしようかな。
仮想サーバーの準備を Teraform で行って、WordPress のセットアップまでを Ansible で行い、自動化超楽ちん、な記事も考えていますが、他に面白そうなネタが思いつけば、そちらを優先すると思います。
ではまた、いずれの日にか。