今回はVagrant上に構築したCentOS7のLAMP環境にWordPressをインストールする。

これまでの記事で環境構築の手順をまとめているので以下を参照してくれ。

  1. Vagrantの初期化からCentOS7の起動まで
  2. Vagrantで起動したCentOS7にLAMP環境を構築しHelloWorldを表示する
  3. VagrantとMacをシンボリックリンクで同期させる

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などもインストールしてみようと思う。