今日はWordPressをインストールしてみたいと思います。
今後も同じ事をすると思うので、メモしておきます。
#インストール先環境
- CentOS 7.4 on Microsoft Azure
#準備
###epelリポジトリの追加
epelリポジトリをインストール。
# yum install epel-release
明示的にepelリポジトリを指定しないと使用できないように、リポジトリの設定を変更する。
私の場合、下記2つのファイルが存在していたので確認。
- epel.repo
- epel-testing.repo
epel.repoのみ有効化部分を発見したので、無効化。
# vi /etc/yum.repos.d/epel.repo
[epel]セクションの「enabled」を1から0に変更。
###remiリポジトリの追加
remiリポジトリをインストール。
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
remiリポジトリもepelリポジトリ同様に設定を変更する。
私の場合、下記5つのファイルが存在していたので確認。
- remi-php54.repo
- remi-php70.repo
- remi-php71.repo
- remi-php72.repo
- remi.repo
- remi-safe.repo
remi-safe.repoのみ有効化部分を発見したので、無効化。
# vi /etc/yum.repos.d/remi-safe.repo
[remi-safe]セクションの「enabled」を1から0に変更。
#nginx
###nginxのインストール
epelリポジトリを使用してnginxをインストール。
# yum install --enablerepo=epel nginx
###WordPressインストール用ディレクトリを作成
今回は「blog」というディレクトリを作成してみます。
# mkdir /usr/share/nginx/blog
# chown nginx:nginx /usr/share/nginx/blog/
###WordPressをダウンロード
最新版を取得。
# cd /usr/share/nginx/blog/
# wget https://ja.wordpress.org/latest-ja.tar.gz
###WordPressを解凍
# tar xvzf latest-ja.tar.gz
# chown -R nginx:nginx wordpress
###nginxの設定
展開したWordPressをnginxのバーチャルホストとして設定。
# cd /etc/nginx/conf.d
# vi blog.conf
設定内容は次の通り。
「server_name」と「root」は適宜読み替えて下さい。
server {
listen 80;
server_name blog.hoge.com;
root /usr/share/nginx/blog/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;
}
}
###nginxを起動
nginxを起動し、自動起動設定も行う。
# systemctl start nginx.service
# systemctl enable nginx.service
#php
###php7、php-fpmをインストール
remiリポジトリを使用してphp7をインストール。
php-fpmも併せてインストール。
# yum install --enablerepo=epel,remi-php72 php php-mbstring php-pear php-fpm php-mcrypt php-mysql
###php-fpmの設定
php-fpmをnginx上で動作するように設定。
# cd /etc/php-fpm.d/
# vi www.conf
設定内容は次の通り、実行ユーザー・グループをnginxに変更。
;user = apache
user = nginx
;group = apache
group = nginx
###php-fpmを起動
php-fpmを起動し、自動起動設定も行う。
# systemctl start php-fpm.service
# systemctl enable php-fpm.service
#MariaDB
###MariaDBをインストール
MariaDBをインストール。
# yum install mariadb mariadb-server
###MariaDBを起動
MariaDBを起動し、自動起動設定も行う。
# systemctl start mariadb.service
# systemctl enable mariadb.service
###MariaDBの設定
「mysql_secure_installation」を実行し、MariaDBを安全な状態に設定。
# mysql_secure_installation
現在のrootユーザーのパスワード。
まだ未設定なので「Enter」キーを押下。
Enter current password for root (enter for none):
rootユーザーのパスワードを設定するか否か。
設定するので「y」キーを押下し、パスワードを設定。
Set root password? [Y/n]
New password:
Re-enter new password:
最初から設定されているanonymousユーザーを削除するか否か。
削除するので「y」キーを押下。
Remove anonymous users? [Y/n]
rootユーザーでのリモートログインを禁止するか否か。
禁止するので「y」キーを押下。
Disallow root login remotely? [Y/n]
最初から設定されているtestデータベースを削除するか否か。
削除するので「y」キーを押下。
Remove test database and access to it? [Y/n]
今設定した各種設定を直ぐに反映させるか否か。
反映させるので「y」キーを押下。
Reload privilege tables now? [Y/n]
###MariaDBの文字コードを設定
WordPressのデータが文字化けしないようにMariaDBの文字コードを設定。
# cd /etc/my.cnf.d/
# vi server.cnf
設定内容は次の通り、[mysqld]セクションに下記を追加。
character-set-server = utf8
設定を反映させる為にMariaDBを再起動。
# systemctl restart mariadb.service
###WordPress用の設定
MariaDBにWordPress用のデータベースとデータベース管理ユーザーを作成。
まず、MariaDBにrootユーザーで接続。
# mysql -u root -p
Enter password:
次に、WordPress用データベースとしてblogを作成。
MariaDB [(none)]> CREATE DATABASE blog;
最後に、WordPress用データベース管理ユーザーを作成。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON blog.* TO "hogeuser"@"localhost" IDENTIFIED BY "hogepassword";
作成したユーザー情報を反映させ、作業を終了。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
#WordPress
###WordPressの設定
wp-configの設定を行う。
まず、wp-config-sample.phpをコピーして、wp-config.phpを作成する準備。
# cd /usr/share/nginx/blog/wordpress/
# cp -p wp-config-sample.php wp-config.php
次に、wp-config.phpに下記項目を設定。
設定項目 | 設定内容 |
---|---|
define(DB_NAME) | blog |
define(DB_USER) | hogeuser |
define(DB_PASSWORD) | hogepassword |
define(AUTH_KEY) | WordPressの秘密鍵サービス(https://api.wordpress.org/secret-key/1.1/salt/)の自動生成結果 |
define(SECURE_AUTH_KEY) | |
define(LOGGED_IN_KEY) | |
define(NONCE_KEY) | |
define(AUTH_SALT) | |
define(SECURE_AUTH_SALT) | |
define(LOGGED_IN_SALT) | |
define(NONCE_SALT) | |
$table_prefix | blog_ |
wp-config.phpを開く。
# vi wp-config.php
<?php
/**
* WordPress の基本設定
*
* このファイルは、インストール時に wp-config.php 作成ウィザードが利用します。
* ウィザードを介さずにこのファイルを "wp-config.php" という名前でコピーして
* 直接編集して値を入力してもかまいません。
*
* このファイルは、以下の設定を含みます。
*
* * MySQL 設定
* * 秘密鍵
* * データベーステーブル接頭辞
* * ABSPATH
*
* @link http://wpdocs.osdn.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86
*
* @package WordPress
*/
// 注意:
// Windows の "メモ帳" でこのファイルを編集しないでください !
// 問題なく使えるテキストエディタ
// (http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF 参照
)
// を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'blog');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'hogeuser');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'hogepassword');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになりま
す。
*
* @since 2.6.0
*/
define('AUTH_KEY','McVW=3+b_RA6E!l<s`P38#Ep[2wpF1591mTvk}t20*nH5Q3#V2$ {|-|6EFO~#+ ');
define('SECURE_AUTH_KEY','JTgsPKc{+xOC&srLSh-21guBH-?WZ6}P=C{7vE1<I+.f2)$|Yz)t?{-7nB+7ej-@');
define('LOGGED_IN_KEY','[~Kfh@%:aO9l>Sg8,DlDi$=,)iJQB VsZEHpUj]o-Qj]-(rbY+o~|VLM:iS>4XhI');
define('NONCE_KEY','2|;SrI;-lg!cD>%s2eJ; L`8u A+TPinEkjcqGZjB`/JMxDqN4Q84tlh5e>w+;d&');
define('AUTH_SALT','q&Ezg9I(r$EHG1os?I}BY%7-/Jj]C*<f@ro,e,R=97t(O8`-9ys4T%[hg|{<u:h4');
define('SECURE_AUTH_SALT',' =oFw|ujGbbV^RDhzpD&Q7|*R*<J|-`n-n=;v;~m{IeGYWh%;M`pDv)[s4qn}!)e');
define('LOGGED_IN_SALT','0#~BU J~iP-B1n@@`m@{Li6uP%$9cG6*1k ;h+-jh*xd]I ,ws?e$GJw|M=T!C?T');
define('NONCE_SALT','Y50H1L_X(s/_bpi]_{VWRzyAP@DZ]B,KDMX%Tn,k+GCl4:aJs*9icD`GF+a!p<[n');
/**#@-*/
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'blog_';
/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*
* その他のデバッグに利用できる定数については Codex をご覧ください。
*
* @link http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0
*/
define('WP_DEBUG', false);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
###blogの初期設定
まず、下記URLにアクセスします。
※私の場合、Microsoft Azure でLinux仮想マシンを構築したてでしたので、受信セキュリティ規則においてHTTP(TCP 80ポート)が開いておらず、最初アクセスできませんでした。もし、同じような現象に遭遇した場合、チェックしてみて下さい。
次に、blogの初期設定を行う。
下記を入力し、「インストール」ボタンをクリック。
設定項目 | 設定内容 |
---|---|
タイトル | hoge blog |
ユーザー名 | hogewpuser |
パスワード | hogewppassword |
メールアドレス | hogewpuser@hoge.com |
検索エンジンでの表示 | チェックOFF(※今回はお試し環境の為) |
「成功しました!」と表示されたら、初期設定が完了です。
「ログイン」ボタンをクリックして、WordPressの管理ページへログインできます。
お疲れ様でした!