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

はじめに

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

注意事項

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

目次

MariaDB をインストール

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

# yum install mariadb mariadb-server

自動起動するように設定

# systemctl enable mariadb

サービス起動

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

# systemctl start mariadb

初期設定

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

# 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
[mysql]
character-set-server = utf8 #追加

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

# systemctl restart mariadb

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

# mysql -u root -p
Password: <パスワード>

MariaDB [(none)]> show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

WordPressの設定

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

WordPress 用のデータベース作成

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

# mysql -u root -p
Enter password: <パスワード>

MariaDB [(none)]> create database <データベース名>;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on <データベース名>.* to "<ユーザ名>"@"localhost" identified by "<パスワード>";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

WordPress 本体のダウンロード

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

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

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

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

nginx の設定ファイルを修正

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

/etc/nginx/nginx.conf
server {
  listen       80 default_server;
  listen       [::]:80 default_server;
  server_name  _;
  root         /usr/share/nginx/wordpress;

  location / {
    index index.php
    try_files $uri $uri/ /index.php?q=$uri&$args;

    location ~* /wp-config.php {
      deny all;
    }

    location ~ \.php$ {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/wordpress/$fastcgi_script_name;
      include        /etc/nginx/fastcgi_params;
    }
  }
}

nginx を再起動します。

# systemctl restart nginx

wp-config.php の設定

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

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

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

ブラウザを開いて確認

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