今回はVagrant上に構築したCentOS7のLAMP環境にWordPressをインストールする。
これまでの記事で環境構築の手順をまとめているので以下を参照してくれ。
コンテンツ
Vagrant起動
では早速仮想マシンを起動しよう。
cd /Users/hoge/vagrant-project
vagrant up
ブラウザでhttp://192.168.33.10/にアクセスし、テストページが表示されればOK。
アクセスできない場合、httpdが停止している可能性があるので、下記コマンドでApacheを起動しよう。
systemctl start httpd
データベースの作成
まずは初期設定を行う。
mysql_secure_installation
Enter current password for root と聞かれるが、最初はパスワードが設定されていないので空白EnterでOK。
その後、Set root password? [Y/n] と聞かれるので、Yを入力しパスワードを設定する。
その後も色々と質問されるが全てYでOKだ。
次に設定ファイルを編集していく。
vim /etc/my.cnf
設定ファイルを開き下記のコードを追記する。
# 文字コードの設定
character-set-server = utf8
# パスワードの有効期限
default_password_lifetime = 0
編集が終わったらデータベースを再起動しログインする。
systemctl restart mariadb
mysql -u root -p
パスワードを入力しログインに成功するとコマンドラインがMariaDBの入力待ち状態に変わる。
データベースを作成し、権限の設定を行い、MariaDBからログアウトする。
create database wp;
grant all privileges on wp.* to wp@localhost identified by 'wp';
\q;
WordPressをインストール
適当なディレクトリに移動してwgetコマンドでWordPressをダウンロードし解凍する。
cd /tmp
wget http://ja.wordpress.org/latest-ja.tar.gz
tar zxvf latest-ja.tar.gz
解凍すると/tmpディレクトリ内にwordpressというディレクトリが展開される。
このディレクトリをApacheの公開ディレクトリにコピーしよう。
今回は事前にシンボリックリンク設定を行っておいた、Vagrantの同期ディレクトリにコピーする。
cp -r wordpress/ /vagrant/html/
これでブラウザでhttp://192.168.33.10/wordpress/へアクセスすることができるようになった。
WordPressとPHPのバージョンによっては「サーバーの PHP バージョンは 5.4.16 ですが WordPress 5.2.1 は 5.6.20 以上のみでご利用になれます。」と表示されることがあるかもしれない。
その場合はPHPのバージョンを上げる必要がある。
PHP5から7へバージョンアップ
リポジトリの追加
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
リポジトリファイルの設定
リポジトリを追加して、yumコマンドを実行すると以下のエラーが発生することがある。
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
その場合は「/etc/yum.repos.d/epel.repo」をvimで開き下記のように修正することで解決する場合がある。
[epel]
# 下記がコメントアウトされていれば解除
baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
# 下記をコメントアウト
# metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
また「/etc/yum.repos.d/remi.repo」も同様に修正する。
[remi]
# コメントイン
baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
# コメントアウト
#mirrorlist=http://cdn.remirepo.net/enterprise/7/remi/mirror
どちらもmirrorをコメントアウトし、baseurlを有効にするということだ。
旧バージョンPHPを削除
yum remove php-*
新バージョン(7.3系)PHPをインストール
yum install --disablerepo=* --enablerepo=epel,remi-php73 php
インストールが完了したらバージョン確認をし、結果が返ればOK。
PHPを更新したのでWebサーバーを再起動しよう。
php -v
systemctl restart httpd
これでPHPがアップデートされたので、再度ブラウザでhttp://192.168.33.10/wordpress/へアクセスする。
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
ダメだ。
まだWordPressの管理画面にたどり着けない。
php-mysqlndをインストールし管理画面へアクセス
yum install --enablerepo=remi,remi-php73 php-mysqlnd
このコマンド一発で解決した。
再度Webサーバーを再起動する。
systemctl restart httpd
http://192.168.33.10/wordpress/へアクセスし、下記の画面が表示されればWordPressのインストールは完了だ。
WordPress初期設定
管理画面で以下のとおり入力する。
ファイル wp-config.php に書き込めませんでした。
と表示された場合は、指示のとおりに手動でファイルを作成しコードを貼り付ける。
vim /vagrant/html/wordpress/wp-config.php
これでインストールが実行できるはずだ。
インストールが完了し、管理画面が表示されればOK。
WordPress環境一つを構築するのに、PHPのバージョンやリポジトリの問題など、いくつものエラーにつまづいたが、なんとかここまでたどりつけた。
これでVagrant上にCMS環境をまず一つ用意できたので、また機会があればこの環境にEC-CUBEなどもインストールしてみようと思う。