developers blog

さくら VPS で WordPress を動かす – 後編 (CentOS7 + nginx + php7)

はじめに

さくらの VPS (1G SSD) に、nginx, php7 をインストールして、wordpress を動かすまでの後編です。 前編はこちら

注意事項

  • コマンドはすべて root 権限での操作です。

MariaDB をインストール

wordpress を動作させるためには MySQL が必要ですが、CentOS7 から、データベースが MySQL から MariaDB に変更されました。
MariaDB は、MySQL 派生として開発されているオープンソースのデータベースで、MySQL とほぼ互換性があります。そのため今回は、MariaDB をインストールします。

1# yum install mariadb mariadb-server

自動起動するように設定

1# systemctl enable mariadb

サービス起動

データベースを起動します。

1# systemctl start mariadb

初期設定

初期設定を行なうため、mysql_secure_installation を実行します。

1# mysql_secure_installation
  • Enter current password for root (enter for none) : 初期状態は何も設定されていないので Enter
  • Set root password? [Y/n] : root ユーザのパスワードを設定するか -> Y
  • Remove anonymous users? [Y/n] : anonymous ユーザーを削除するか -> Y
  • Disallow root login remotely? [Y/n] : root ユーザーのリモートログインを禁止するか -> Y
  • Remove test database and access to it? [Y/n] : テストデータベースを削除するか -> Y
  • Reload privilege tables now? [Y/n] : 今すぐ特権テーブルをリロードするか -> Y

文字コードの設定

設定ファイルを編集し、文字コードを utf8 に設定します。

/etc/my.cnf.d/server.cnf
1[mysql]
2character-set-server = utf8 #追加

データベースを再起動します。

1# systemctl restart mariadb

db にログインして、文字コードを確認します。

1# mysql -u root -p
2Password: <パスワード>
3
4MariaDB [(none)]> show variables like "chara%";
5+--------------------------+----------------------------+
6| Variable_name            | Value                      |
7+--------------------------+----------------------------+
8| character_set_client     | utf8                       |
9| character_set_connection | utf8                       |
10| character_set_database   | utf8                       |
11| character_set_filesystem | binary                     |
12| character_set_results    | utf8                       |
13| character_set_server     | utf8                       |
14| character_set_system     | utf8                       |
15| character_sets_dir       | /usr/share/mysql/charsets/ |
16+--------------------------+----------------------------+
178 rows in set (0.00 sec)

WordPressの設定

WordPress をダウンロードし、設置、初期設定を行ないます。

WordPress 用のデータベース作成

MariaDB にログインし、WordPres s用のデータベースとユーザーを作成しておきます。

1# mysql -u root -p
2Enter password: <パスワード>
3
4MariaDB [(none)]> create database <データベース名>;
5Query OK, 1 row affected (0.00 sec)
6
7MariaDB [(none)]> grant all privileges on <データベース名>.* to "<ユーザ名>"@"localhost" identified by "<パスワード>";
8MariaDB [(none)]> flush privileges;
9MariaDB [(none)]> exit;

WordPress 本体のダウンロード

最新の WordPress を、http://ja.wordpress.org/latest-ja.tar.gz よりダウンロードします。

1# cd /tmp
2# wget http://ja.wordpress.org/latest-ja.tar.gz

ダウンロードしたファイルを解凍し、nginx フォルダへコピーします。コピーしたフォルダの所有者とグループを nginx に変更します。

1# tar xzfv latest-ja.tar.gz
2# cp -r wordpress /usr/share/nginx/
3# chown -R nginx:nginx /usr/share/nginx/wordpress

nginx の設定ファイルを修正

WordPress が動くように、nginx の設定ファイルを修正します。

/etc/nginx/nginx.conf
1server {
2  listen       80 default_server;
3  listen       [::]:80 default_server;
4  server_name  _;
5  root         /usr/share/nginx/wordpress;
6
7  location / {
8    index index.php
9    try_files $uri $uri/ /index.php?q=$uri&$args;
10
11    location ~* /wp-config.php {
12      deny all;
13    }
14
15    location ~ \.php$ {
16      fastcgi_pass   127.0.0.1:9000;
17      fastcgi_index  index.php;
18      fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/wordpress/$fastcgi_script_name;
19      include        /etc/nginx/fastcgi_params;
20    }
21  }
22}

nginx を再起動します。

1# systemctl restart nginx

wp-config.php の設定

wp-config.php に、データベースへ接続するための情報を設定します。

1# cd /usr/share/nginx/wordpress
2# cp -p wp-config-sample.php wp-config.php
3# vi wp-config.php
wp-config.php
1define('DB_NAME', '<データベース名>');
2define('DB_USER', '<ユーザー名>');
3define('DB_PASSWORD', '<パスワード>');

認証用ユニークキーは、 https://api.wordpress.org/secret-key/1.1/salt/ から取得して設定します。

ブラウザを開いて確認

ブラウザからアクセスして確認します。WordPress の初期設定画面が表示されれば成功です。