Vagrant CentOS 7.3 で php7 + mariadb + nginx + WordPress を試してみる
以下の構成で確認した
Windows
VirtualBox
Vagrant
CentOS 7.3
MariaDB 10.2
nginx 1.12
git bash で
$ vagrant plugin install vagrant-hostsupdater
$ mkdir prjx
$ cd prjx
$ vi Vagrantfile
----------------
config.vm.box = "boxcutter/centos73"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "prjx.dev"
#config.hostsupdater.aliases = ["prjx-phpmyadmin.dev"]
----------------
$ vagrant up
ログイン(またはteraterm等で)
$ vagrant ssh
ここから Linux 内での作業
MariaDB 10.2 のインストール
MariaDB関連のライブラリが既に入っているのでアンインストール
$ sudo yum remove mariadb*
リポジトリを追加
$ sudo vim /etc/yum.repos.d/MariaDB.repo
----------------
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
----------------
インストール
$ sudo yum install mariadb-server php-mysql
バージョン確認
$ mysqld --version
ステータス確認
$ systemctl status mariadb.service
起動
$ sudo systemctl start mariadb.service
停止
$ sudo systemctl stop mariadb.service
自動起動設定
$ sudo systemctl enable mariadb.service
rootユーザでログイン確認
$ mysql -uroot -p
初期設定
$ mysql_secure_installation
Enter password: # パスワードは空なのでリターン
Set root password? [Y/n] Y # 新パスワードを2回入力
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
ログイン確認
$ mysql -uroot -p
Enter password: 新パスワードを入力
ログインしたらutf8mb4でデータベース作成する
mysql> CREATE DATABASE prjxdb DEFAULT CHARACTER SET utf8mb4;
mysql> CREATE USER 'prjxdbuser'@'localhost' IDENTIFIED BY 'PrjxDbUserPass1!';
mysql> GRANT ALL PRIVILEGES ON prjxdb.* TO 'prjxdbuser'@'localhost' IDENTIFIED BY 'PrjxDbUserPass1!';
mysql> FLUSH PRIVILEGES;
mysql> exit
php 7.1 のインストール
$ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ sudo yum install yum-utils
$ sudo yum-config-manager --enable remi-php71
$ sudo yum install php
$ php -v
PHP 7.1.7 (cli) (built: Jul 6 2017 13:31:15) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
nginxインストール
リポジトリ登録
$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
インストール
$ sudo yum install nginx
バージョン
$ nginx -v
起動テスト
$ sudo nginx -t
ステータス確認
$ sudo systemctl status nginx
起動
$ sudo systemctl start nginx
ステータス確認
$ sudo systemctl status nginx
自動起動設定
$ sudo systemctl enable nginx
ブラウザからアクセスしnginxのデフォルトページが表示されることを確認する
http://prjx.dev/
Wordpress本体のインストール
$ cd /var/www
$ sudo wget https://ja.wordpress.org/latest-ja.tar.gz
$ sudo tar zxfv latest-ja.tar.gz
$ sudo rm -rf latest-ja.tar.gz
$ sudo chown -R nginx:nginx wordpress
$ sudo mv wordpress prjx
設定
$ sudo vi /etc/nginx/conf.d/prjx.conf
----------------
server {
listen 80;
server_name prjx.dev;
root /var/www/prjx;
index index.php;
location ~* /wp-config.php {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
root /var/www/prjx;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
----------------
Wordpressの設定ファイルを適宜編集
$ sudo mv /var/www/prjx/wp-config.php /var/www/prjx/wp-config-sample.php
$ sudo vim /var/www/prjx/wp-config.php
----------------
define('DB_NAME', 'prjxdb');
define('DB_USER', 'prjxdbuser');
define('DB_PASSWORD', 'PrjxDbUserPass1!');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
----------------
php-fpmの設定
$ sudo yum install php-fpm
$ sudo vi /etc/php-fpm.d/www.conf
----------------
user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
----------------
ステータス
$ sudo systemctl status php-fpm
起動
$ sudo systemctl start php-fpm
ステータス
$ sudo systemctl status php-fpm
自動起動
$ sudo systemctl enable php-fpm
phpinfo確認
$ sudo vi /var/www/prjx/phpinfo_test.php
----------------