CentOS7.4 on Microsoft AzureにWordPressをインストール – Qiita
を参考にして今回あらたに契約したKagoya Open VZにnginx とWordpressを導入しました。
既存のWordpressから引っ越すため、インスタンス作成時に選択できるWordpressのテンプレートは使いませんでした。
nginxにしたのは単純に人気があるということだったのでそちらにしました。
Kagoya Open VZの導入まではこちらを参考にしてください。
参考にしたページのまま設定していきます。
- epelリポジトリの追加
- remiリポジトリの追加
などの作業をしてください。詳しくは参考ページを参照ください。
nginxのインストール
レポジトリーを登録してるのでyum でインストールできます。
yum install –enablerepo=epel nginx
また、Wordpressを導入するためにphp7とphp-fpmを導入する必要があります。
PHPのインストール
yum install –enablerepo=epel,remi-php72 php php-mbstring php-pear php-fpm php-mcrypt php-mysql
を実行します。php-fpmはシステムアカウントnginxで動作させるためデフォルトで設定されているapacheからnginxに変更する必要があります。
vi /etc/php-fpm.d/www.conf
を実行しuser名、group名を以下のようにnginxに変更してください。
user = nginx
group = nginx
MariaDBのインストール
長年、mysqlが使われてきましたが、最近のCentOSはMariaDBが使われております。Wordpressインストールを紹介しているブログでmysqlのインストールを紹介しているブログがありますが、機能的に問題がないのであれば標準的な仕組みの採用をするべきだと信じているのでMariaDBで構築することにしました。
標準サポートなのでyumでインストールできます。
yum install mariadb mariadb-server
各サービスの起動
yumでインストールが終わったので各サービスを起動し、OS再起動しても立ち上がるように設定します。
各サービスの起動
systemctl start nginx.service
systemctl start php-fpm.service
systemctl start mariadb.service
上からnginx、php-fpm、MariaDBの起動を行います。OSが再起動した場合に自動で起動するにはstartの代わりにenableを使うことで設定できます。
MariaDBの設定
WordPressはDBに情報を格納するため、まず最初にDBの設定をする必要があります。
「mysql_secure_installation」を実行し、rootパスワードを設定し、anonymous、rootのリモートアクセスを禁止、テストデーターベースを削除します。
「mysql -u root -p」により、データベースの作成とそのデーターベースにアクセスするユーザーを作ります。
CREATE DATABASE WORDPRESS;
これでWORDPRESS データベースを作ります。
GRANT ALL PRIVILEGES ON WORDPRESS.* TO “wordpress”@”localhost” IDENTIFIED BY “#Password”;
ここからDB WORDPRESS にアクセスするためのユーザーwordpress を指定します。DBをウェブサーバーと違くサーバーにインストールするときは localhostの代わりに % を使用してください。#Password にはパスワードが入りますがくれぐれもこのような簡単なパスワードでなく複雑なパスワードの利用をお奨めます。”random password” とかでぐぐるとランダムパスワードを生成するサイトが出てくると思うのでそちらを利用するのもいいかもしれません。
WordPressのインストール
WordPressをインストールする前に、WordpressのサイトURLとWordpressをどこにインストールするか決めてください。
それが決まったら /etc/nginx/conf.d/ にサイトの設定ファイルを作ります。.conf を拡張子に持つファイルを作成してください。
server {
listen 80;
server_name wordpress.keisuke-yamada.yokohama;
root /usr/share/nginx/wordpress;
index index.php;charset utf-8;
# wordpress パーマネントリンク設定
try_files $uri $uri/ /index.php?q=$uri&$args;# wp-config.php へのアクセス拒否設定
location ~* /wp-config.php {
deny all;
}# php-fpm 設定
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
}
}
ポート番号、サイトURLの指定を行ってください。あとrootにはWordpress本体をインストールするディレクトリーの指定をしてください。
この例では サイトURL は wordpress.keisuke-yamada.yokohamaにし /usr/share/nginx/wordpress にwordpress 本体をインストールすることにしてます。
ドメイン名の指定
Kagoya VPS Open VZを利用している場合、カゴヤのWebコンソールから指定できます。
WordPressのダウンロードと所定の場所への移動
wget https://ja.wordpress.org/latest-ja.tar.gz
最新バージョンのWordpressをダウンロードします。
tar zxvf latest-ja.tar.gz
これで wordpress フォルダーができ、その中に解答されます。nginx上で動作するためchown コマンドを使ってシステムアカウント nginxがアクセスできるようにします。
chown -R nginx:nginx wordpress
/usr/share/nginx/ に置くので
mv wordpress /usr/share/nginx/
によりWordpressを移動させます。
WordPressの設定
WordPressを最終的にインストールするにはwp-config.php からデーターベースの設定情報を指定し、Wordpressから使えるようになるようにテーブルを作成する必要があります。(テーブルはWordpressのインストーラーが自動的に作るようになっています)
cd /usr/share/nginx/blog/wordpress/
cp -p wp-config-sample.php wp-config.php
ここでサンプルからコピーしてwp-config.phpを作成します。
wp-configで指定するのは
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘WORDPRESS’);/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘wordpress’);/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘#Password’);
MariaDBで作成したデーターベースの情報とあわせます。
また、テーブルの頭につける文字を指定できます。例えばデーターベースに複数のWordpressを割り当てることができるようになります。
$table_prefix = ‘wp_’;
デフォルトではwpです。用途に合わせて変更してください。
WordPress のインストール
ここからはWordpressのインストール作業になります。
systemctl restart nginx.service
nginxを再起動した後、インストールしたサイトにアクセスします。この例ではwordpress.keisuke-yamada.yokohamaにアクセスします。私が試したところなぜかエラーが出ました。その場合は [サイトアドレス]/wp-admin/install.php にアクセスすることでインストール画面が出てきます。
次回は
次回はMariaDBのなかのデーターベースを管理する、phpmyadminのインストールを紹介したいと思います。
また、既存のWordpressは、Wordpressプログラムとデーターベースをそのまま使うことで簡単に引っ越すことができました。
その様子を紹介したいと思います。
コメント
[…] Kagoya Open VZにnginx + WordPressを導入しました。(CentOS7 64bit) […]