CentOS 7.x.x 導入後の WordPress走るまで

細かい事は、必要ないのでとりあえずWordPressが動くまでを簡単に実施したいという人向けです。
VPSを借りると、まずはお決まりの儀式をしなくてはならない訳ですが、それも飽きてきたなあという人向きの記事です。今回のモデルは、CentOS 7.x.x向けに導入からの設定をトレースしてみます。

まずは、何もないところから、WordPressを最小限で走らすための設定。

レポジトリの導入編

作業用のディレクトリを作成してそこで作業を進めていきます。
# cd
# mkdir install
# cd install
# yum install wget -y
# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# yum install epel-release -y
# rpm -ivh remi-release-7.rpm
MySQLまでの導入

WordPressには、MySQL DBが必要なので、最新版をインストールします。
# yum install mysql-utilities mariadb-devel mariadb-server -y

以上の操作で、MySQL DBまでのインストールが終了しましたので、その確認を行います

# rpm -qa |grep mysql
mysql-connector-python-1.1.6-1.el7.noarch
php-mysqlnd-7.1.17-1.el7.remi.x86_64
mysql-utilities-1.3.6-1.el7.noarch

# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-devel-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
# 
Mariadb version 5.5.xがインストールされていればOKです。

この段階で、MySQLdを走らせることが可能なので、初期パスワードなどの設定をします。
今回は、最近利用が増えてきたInnoDBエンジンは生かしておくことにします。(標準のままです)

MySQLサーバーの初期設定

# systemctl start mariadb
何もメッセージが表示されませんが、Mariadbの初期設定スクリプトを走らせます。

# /usr/bin/mysql_secure_installation

rootパスワードを訊いてきますので、設定しておきます。
初期状態では、anonymous userがパスワードなしで設定されているので、このスクリプトを走らせることで、消去されます。

# mysql -u root -p
と入力すると、パスワードを聞いてきますので、今設定したパスワードを入力すると、MySQLサーバーへの接続が
完了するハズです。
mysql> のプロンプトが出れば、OKです。
mysql> quit     <-- 一端抜けます。

とりあえず、WordPressの走行環境までをざっとインストールしてしまいましょう。

PHPのインストール

# yum install php php-mysql php-gd php-devel php-opcache php-fpm php-apcu php-mbstring php-xml php-mcrypt --enablerepo=remi-php56
// php-opcache,php-apcu,php-fpmはphp高速化をする場合に必要 //

phpをインストールすると、httpdと、httpd-toolsも依存関係でインストールされると思います。
もしインストールされていないなら、以下を実行してインストールを完了させます。

# yum install httpd httpd-tools -y

MySQLdとhttpdを再起動した場合にもサービスとして立ち上がる様にしておく。

# systemctl enable httpd
# systemctl enable mariadb

Apacheの調整
以下の2箇所を変更しておく
これをやっておかないと、パーマリンクが正しく動作しない。
# vi /etc/httpd/conf/httpd.conf
#
<Directory />
 Options FollowSymLinks
 AllowOverride All
 Require all granted
</Directory>
#
<Directory "/var/www/html">
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>
#
:wq!

ここまでの操作で、必要な物は全て整いました。
とりあえず、Apacheを起動して、アクセス可能かどうかを確かめておきます。
自分のサーバーにhttp://domain.name/とした時に、Apacheの初期画面が表示されればOKです。

それでは、いよいよ、WordPressをインストールします。

データベースの準備

# mysql -u root -p
Enter password: 
-- 中略 --
mysql> create database user01_wp character set utf8;
Query OK, 1 row affected (0.00 sec)

一般ユーザーを作る
user01_*というワイルドカードのデータベースへのアクセスを許可するuser01というユーザーを作る。
CREATE USER 'user01'@'localhost' IDENTIFIED WITH mysql_native_password;
GRANT USAGE ON *.* TO 'user01'@'localhost';
SET PASSWORD FOR 'user01'@'localhost' = password('new-password');
GRANT ALL PRIVILEGES ON `user01\_%`.* TO 'user01'@'localhost';

これで、user01が、user01_wpへのアクセスが可能になる。

WordPressの最新版をインストール

最新のWordPressをダウンロードして/var/www/htmlへ配置する

# cd /var/www/html
# wget -O - 'http://ja.wordpress.org/latest-ja.tar.gz' |tar zxf -
これで、wordpressというディレクトリ内に最新版のWordPressが展開される。
このままでも良いが、html直下に移動しておく。
# cd /vae/www/html/wordpress
# mv * ../
# cd ../
# rmdir wordpress

インストールは、これで、完了しているので、後は、http://domainName.tld/ などとしてアクセスすれば、WordPressのインストール画面へと遷移する。

ここで設定するのは、先のuser01_wpへ、user01でアクセス出来るようにする。
データベース名:user01_wp
ユーザー名:user01
パスワード:new-password
データベースホスト名:localhost
テーブル接頭辞:wp_

後は適宜に。

最短コースでMariaDBの導入から、php周辺の設定を駆け足で済ませる方法をまとめてみました。
これで、そこそこ最新のWordPress環境が整うハズです。

後は、ここでは触れないが、php-opcache,php-apcuあたりをインストールしたり、必要に応じてphpMyAdminあたりをインストールすれば、より快適になる。

今回は、使い勝手が変わったCentOS 7 への乗り換えがめんどくさいので、とりあえず定石を置いておこうと思います。
基本は変わりませんが、システムコマンドがchkconfig からsystemctlへ変更になっています。

~オマケ~
CentOS7では、Firewalldが標準となりムズいので iptablesへ切り替える方法。

FireWallの設定(iptabkesへの切り替え)

# systemctl stop firewalld
# systemctl disable firewalld
# systemctl status firewalld

# yum install iptables-services
# systemctl start iptables
# systemctl enable iptables
# systemctl status iptables