Help us understand the problem. What is going on with this article?

CentOS7.4 on Microsoft AzureにWordPressをインストール

More than 1 year has passed since last update.

今日は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

WrodPressを解凍

# 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」は適宜読み替えて下さい。

blog.conf
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に変更。

www.conf
;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]セクションに下記を追加。

server.cnf
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
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にアクセスします。

WordPress - インストールページ

wordpress_install.png

※私の場合、Microsoft Azure でLinux仮想マシンを構築したてでしたので、受信セキュリティ規則においてHTTP(TCP 80ポート)が開いておらず、最初アクセスできませんでした。もし、同じような現象に遭遇した場合、チェックしてみて下さい。

次に、blogの初期設定を行う。
下記を入力し、「インストール」ボタンをクリック。

設定項目 設定内容
タイトル hoge blog
ユーザー名 hogewpuser
パスワード hogewppassword
メールアドレス hogewpuser@hoge.com
検索エンジンでの表示 チェックOFF(※今回はお試し環境の為)

「成功しました!」と表示されたら、初期設定が完了です。

wordpress_install_success.png

「ログイン」ボタンをクリックして、WordPressの管理ページへログインできます。

お疲れ様でした!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした