CentOS7 WordPressでブログ環境を用意する

シェアする

今までは、MovableType(MT)を利用していましたが、事情により、WordPress(WP)を使うことにしました。

過去記事は、およそ、200件程度ありましたが、それ程の内容でもありませんので、移行自体は実施しないことにしました。
但し、必要だと思われるものは、加筆・訂正したものを再度投稿していこうと思います。

データベースの作成

WPで利用するデータベースはMySQLです。
MySQLが稼働するサーバで、WP専用データベースとWP専用ユーザーを作成します。

$ mysql -u root -p <LF>
Enter password:xxxxxx
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1218
Server version: 5.6.27-log MySQL Community Server (GPL)
    :
mysql> create database wpdb;
Query OK, 1 row affected (0.01 sec)
 
mysql> create user 'wpadmin'@'192.168.1.%' identified by 'wppass';
Query OK, 0 row affected (0.01 sec)
 
mysql> grant all privileges on wpdb.* to 'wpadmin'@'192.168.1.%';
Query OK, 0 row affected (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 row affected (0.00 sec)
 
mysql> quit;
Bye

インストール

EPELでWPがパッケージ化されていますので、そちらからインストールをすることにしました。

# yum --enablerepo=epel info wordpress <LF>
    :
Available Packages
Name : wordpress
Arch : noarch
Version : 4.3.1
Release : 1.el7
Size : 4.9 M
Repo : epel/x86_64
Summary : Blog tool and publishing platform
    :
# yum --enablerepo=epel -y install wordpress <LF>
:
Installed:
  wordpress.noarch 0:4.3.1-1.el7
 
Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7
  apr-util.x86_64 0:1.5.2-6.el7
  enchant.x86_64 1:1.6.0-8.el7
  httpd.x86_64 0:2.4.6-31.el7.centos.1
  httpd-tools.x86_64 0:2.4.6-31.el7.centos.1
  hunspell.x86_64 0:1.3.2-13.el7
  hunspell-en-US.noarch 0:0.20121024-5.el7
  libX11.x86_64 0:1.6.0-2.1.el7
  libX11-common.noarch 0:1.6.0-2.1.el7
  libXau.x86_64 0:1.0.8-2.1.el7
  libXpm.x86_64 0:3.5.10-5.1.el7
  libjpeg-turbo.x86_64 0:1.2.90-5.el7
  libpng.x86_64 2:1.5.13-5.el7
  libxcb.x86_64 0:1.9-5.el7
  libxslt.x86_64 0:1.1.28-5.el7
  libzip.x86_64 0:0.10.1-8.el7
  mailcap.noarch 0:2.1.41-2.el7
  php.x86_64 0:5.4.16-36.el7_1
  php-IDNA_Convert.noarch 0:0.8.0-2.el7
  php-PHPMailer.noarch 0:5.2.9-1.el7
  php-cli.x86_64 0:5.4.16-36.el7_1
  php-common.x86_64 0:5.4.16-36.el7_1
  php-enchant.x86_64 0:5.4.16-36.el7_1
  php-gd.x86_64 0:5.4.16-36.el7_1
  php-getid3.noarch 1:1.9.8-2.el7
  php-mbstring.x86_64 0:5.4.16-36.el7_1
  php-mysql.x86_64 0:5.4.16-36.el7_1
  php-pdo.x86_64 0:5.4.16-36.el7_1
  php-process.x86_64 0:5.4.16-36.el7_1
  php-simplepie.noarch 0:1.3.1-4.el7
  php-xml.x86_64 0:5.4.16-36.el7_1
  t1lib.x86_64 0:5.1.2-14.el7
 
Complete!

インストールされた「WordPress」のディレクトリを見てみると、CentOS(Redhat)の伝統に則った配置となってます。

$ repoquery --enablerepo=epel -l wordpress |\
> awk 'BEGIN {FS="/";OFS="/"} {$NF="";print $0}' |\
> sort |\
> uniq <LF>
/etc/
/etc/httpd/conf.d/
/etc/wordpress/
/usr/share/
/usr/share/doc/
/usr/share/doc/wordpress-4.3.1/
/usr/share/licenses/
/usr/share/licenses/wordpress-4.3.1/
/usr/share/wordpress/
/usr/share/wordpress/wp-admin/
/usr/share/wordpress/wp-admin/css/
/usr/share/wordpress/wp-admin/css/colors/
/usr/share/wordpress/wp-admin/css/colors/blue/
/usr/share/wordpress/wp-admin/css/colors/coffee/
/usr/share/wordpress/wp-admin/css/colors/ectoplasm/
/usr/share/wordpress/wp-admin/css/colors/light/
/usr/share/wordpress/wp-admin/css/colors/midnight/
/usr/share/wordpress/wp-admin/css/colors/ocean/
/usr/share/wordpress/wp-admin/css/colors/sunrise/
/usr/share/wordpress/wp-admin/images/
/usr/share/wordpress/wp-admin/includes/
/usr/share/wordpress/wp-admin/js/
/usr/share/wordpress/wp-admin/maint/
/usr/share/wordpress/wp-admin/network/
/usr/share/wordpress/wp-admin/user/
/usr/share/wordpress/wp-content/
/usr/share/wordpress/wp-content/plugins/
/usr/share/wordpress/wp-content/plugins/akismet/
/usr/share/wordpress/wp-content/plugins/akismet/_inc/
/usr/share/wordpress/wp-content/plugins/akismet/_inc/img/
/usr/share/wordpress/wp-content/plugins/akismet/views/
/usr/share/wordpress/wp-content/themes/
/usr/share/wordpress/wp-content/themes/twentyfifteen/
/usr/share/wordpress/wp-content/themes/twentyfifteen/css/
/usr/share/wordpress/wp-content/themes/twentyfifteen/genericons/
/usr/share/wordpress/wp-content/themes/twentyfifteen/inc/
/usr/share/wordpress/wp-content/themes/twentyfifteen/js/
/usr/share/wordpress/wp-content/themes/twentyfifteen/languages/
/usr/share/wordpress/wp-content/themes/twentyfourteen/
/usr/share/wordpress/wp-content/themes/twentyfourteen/css/
/usr/share/wordpress/wp-content/themes/twentyfourteen/genericons/
/usr/share/wordpress/wp-content/themes/twentyfourteen/genericons/font/
/usr/share/wordpress/wp-content/themes/twentyfourteen/images/
/usr/share/wordpress/wp-content/themes/twentyfourteen/inc/
/usr/share/wordpress/wp-content/themes/twentyfourteen/js/
/usr/share/wordpress/wp-content/themes/twentyfourteen/languages/
/usr/share/wordpress/wp-content/themes/twentyfourteen/page-templates/
/usr/share/wordpress/wp-content/themes/twentythirteen/
/usr/share/wordpress/wp-content/themes/twentythirteen/css/
/usr/share/wordpress/wp-content/themes/twentythirteen/genericons/
/usr/share/wordpress/wp-content/themes/twentythirteen/genericons/font/
/usr/share/wordpress/wp-content/themes/twentythirteen/images/
/usr/share/wordpress/wp-content/themes/twentythirteen/images/headers/
/usr/share/wordpress/wp-content/themes/twentythirteen/inc/
/usr/share/wordpress/wp-content/themes/twentythirteen/js/
/usr/share/wordpress/wp-content/themes/twentythirteen/languages/
/usr/share/wordpress/wp-includes/
/usr/share/wordpress/wp-includes/Text/
/usr/share/wordpress/wp-includes/Text/Diff/
/usr/share/wordpress/wp-includes/Text/Diff/Engine/
/usr/share/wordpress/wp-includes/Text/Diff/Renderer/
/usr/share/wordpress/wp-includes/certificates/
/usr/share/wordpress/wp-includes/css/
/usr/share/wordpress/wp-includes/fonts/
/usr/share/wordpress/wp-includes/images/
/usr/share/wordpress/wp-includes/images/crystal/
/usr/share/wordpress/wp-includes/images/media/
/usr/share/wordpress/wp-includes/images/smilies/
/usr/share/wordpress/wp-includes/images/wlw/
/usr/share/wordpress/wp-includes/js/
/usr/share/wordpress/wp-includes/js/crop/
/usr/share/wordpress/wp-includes/js/imgareaselect/
/usr/share/wordpress/wp-includes/js/jcrop/
/usr/share/wordpress/wp-includes/js/jquery/
/usr/share/wordpress/wp-includes/js/jquery/ui/
/usr/share/wordpress/wp-includes/js/mediaelement/
/usr/share/wordpress/wp-includes/js/plupload/
/usr/share/wordpress/wp-includes/js/thickbox/
/usr/share/wordpress/wp-includes/js/tinymce/
/usr/share/wordpress/wp-includes/js/tinymce/langs/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/charmap/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/colorpicker/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/compat3x/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/compat3x/css/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/directionality/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/fullscreen/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/hr/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/image/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/lists/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/media/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/paste/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/tabfocus/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/textcolor/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wordpress/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpautoresize/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpdialogs/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpeditimage/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpemoji/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpgallery/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wplink/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wptextpattern/
/usr/share/wordpress/wp-includes/js/tinymce/plugins/wpview/
/usr/share/wordpress/wp-includes/js/tinymce/skins/
/usr/share/wordpress/wp-includes/js/tinymce/skins/lightgray/
/usr/share/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/
/usr/share/wordpress/wp-includes/js/tinymce/skins/lightgray/img/
/usr/share/wordpress/wp-includes/js/tinymce/skins/wordpress/
/usr/share/wordpress/wp-includes/js/tinymce/skins/wordpress/images/
/usr/share/wordpress/wp-includes/js/tinymce/themes/
/usr/share/wordpress/wp-includes/js/tinymce/themes/modern/
/usr/share/wordpress/wp-includes/js/tinymce/utils/
/usr/share/wordpress/wp-includes/pomo/
/usr/share/wordpress/wp-includes/theme-compat/

Apache HTTPサーバの設定

WPが動作するための基本的設定は、WPのインストール時に用意されます。
ここでは、動作するための最低限の設定です。実運用では、システム運用に合わせたチューニングが必要です。

# cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.original <LF>
# vim /etc/httpd/conf/httpd.conf <LF>
    :
ServerAdmin webmaster@mail.orange.daemon.asia
    :
ServerName www.orange.daemon.asia:80
    :
# vim /etc/httpd/conf.d/wordpress.conf <LF>
Alias /wordpress /usr/share/wordpress
 
<Directory /usr/share/wordpress>
  AllowOverride Options
  <IfModule mod_authz_core.c>
    # Apache 2.4
    Require all granted
  </IfModule>
</Directory>
 
<Directory /usr/share/wordpress/wp-content/plugins/akismet>
  <FilesMatch "\.(php|txt)$">
    Order Deny,Allow
    Deny from all
  </FilesMatch>
</Directory>
# cp -p /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.conf.original <LF>
# cp -p /etc/httpd/conf.d/userdir.conf /etc/httpd/conf.d/userdir.conf.original <LF>
# cp -p /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.original <LF>
# apachectl configtest <LF>
Syntax OK

WordPressの設定

WordPressは、「wp-config.php」ファイルを編集することで設定します。
「wp-config.php」ファイルは、シンボリックリンクファイルになっていました。
ここでは、動作するための最低限の設定です。実運用では、システム運用に合わせたチューニングが必要です。

# ls -l /usr/share/wordpress/wp-config.php |\
> awk '{for(i=9;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}' <LF>
/usr/share/wordpress/wp-config.php -> ../../../etc/wordpress/wp-config.php
# cp -p /etc/wordpress/wp-config.php /etc/wordpress/wp-config.php.original <LF>
# vim /usr/share/wordpress/wp-config.php <LF>
  :
define('DB_NAME', 'wpdb');
define('DB_USER', 'wpadmin');
define('DB_PASSWORD', 'wppass');
define('DB_HOST', 'db01');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
  :
define('AUTH_KEY', 'zBP...-?q'); <= 認証用ユニークキーを設定する
define('SECURE_AUTH_KEY', '7mU...#@z'); <= 認証用ユニークキーを設定する
define('LOGGED_IN_KEY', '5/+...L0O'); <= 認証用ユニークキーを設定する
define('NONCE_KEY', '+g9...uq|'); <= 認証用ユニークキーを設定する
define('AUTH_SALT', '4_Q...[Le'); <= 認証用ユニークキーを設定する
define('SECURE_AUTH_SALT', '7-B...FgQ'); <= 認証用ユニークキーを設定する
define('LOGGED_IN_SALT', '{~?...?Mw'); <= 認証用ユニークキーを設定する
define('NONCE_SALT', ',;J...6;M'); <= 認証用ユニークキーを設定する
  :
$table_prefix = 'wpwp_'; <= テーブルの接頭語

認証用ユニークキーの作成について

認証用ユニークキーを用意するのに、自分で適当な文字列を入力してもいいですが、Wordpressのサイトで生成することも可能です。

/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies.
* This will force all users to have to log in again.
*
* @since 2.6.0
*/

適当なブラウザで「https://api.wordpress.org/secret-key/1.1/salt/」にアクセスすると、生成されたものが表示できます。

wordpress_secret_key

サービスの起動

WPの初回起動のインストールを行なうために、サービスを起動します。

・バックエンドサーバ(MySQL)

# systemctl start mysqld <LF>
# systemctl enable mysqld <LF>

・フロントエンドサーバ(Apache HTTP)

# systemctl start httpd <LF>
# systemctl enable httpd <LF>

WordPressの初回起動

WPの初回起動では、最低限の情報を入力して、インストールを行ないます。

適当なブラウザより、「http://www.orangetakam.com/wordpress/」を入力してアクセスすると、初回作成するブログの情報を求められるので、適当な情報を入力し、「Install WordPress」ボタンを押下します。
※ 入力した情報は、後で変更できますので、悩まずに適当な情報を入力してください。

wordpress_install_01

しばらくすると、画面が切り替わり、正常にインストールが完了したことが表示されますので、「Login」ボタンを押下します。

wordpress_install_02

今後は、この画面からログインすることになります。
ユーザー名とパスワードを入力して、「login」ボタンを押下してください。

wordpress_install_03

画面では、英語になっていますが、日本語に変更可能です。

wordpress_install_04