このセクションでは、ブログやホームページ作成でよく使われている オープンソフトウェアである WordPress のインストールについて、紹介します。

モジュールの入手と配置

WordPress のモジュールをダウンロードします。

[root@localhost tmp]# wget wget http://ja.wordpress.org/wordpress-4.9.8-ja.tar.gz
--2018-09-30 16:03:02--  http://wget/
wget (wget) をDNSに問いあわせています... 失敗しました: 名前またはサービスが不明です.
wget: ホストアドレス `wget' を解決できませんでした。
--2018-09-30 16:03:02--  http://ja.wordpress.org/wordpress-4.9.8-ja.tar.gz
ja.wordpress.org (ja.wordpress.org) をDNSに問いあわせています... 198.143.164.252
ja.wordpress.org (ja.wordpress.org)|198.143.164.252|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 301 Moved Permanently
場所: https://ja.wordpress.org/wordpress-4.9.8-ja.tar.gz [続く]
--2018-09-30 16:03:03--  https://ja.wordpress.org/wordpress-4.9.8-ja.tar.gz
ja.wordpress.org (ja.wordpress.org)|198.143.164.252|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9292403 (8.9M) [application/octet-stream]
`wordpress-4.9.8-ja.tar.gz' に保存中

100%[=============================================>] 9,292,403   2.09MB/s 時間 4.2s   

2018-09-30 16:03:08 (2.09 MB/s) - `wordpress-4.9.8-ja.tar.gz' へ保存完了 [9292403/9292403]

終了しました --2018-09-30 16:03:08--
経過時間: 5.5s
ダウンロード完了: 1 ファイル、8.9M バイトを 4.2s で取得 (2.09 MB/s)
[root@localhost tmp]# 

ダウンロードしたモジュールを、ホームページを公開するディレクトリ( /var/www/wordpress )に解凍します。

[root@localhost tmp]# tar -zxvf wordpress-4.9.8-ja.tar.gz -C /var/www/
wordpress/
wordpress/wp-blog-header.php
wordpress/xmlrpc.php
wordpress/readme.html
wordpress/wp-activate.php
wordpress/wp-login.php
wordpress/wp-content/
〜(省略)〜
wordpress/wp-mail.php
wordpress/wp-comments-post.php
wordpress/wp-trackback.php
wordpress/wp-signup.php
[root@localhost tmp]# 

ホームページを公開するディレクトリ( /var/www/wordpress )のアクセス権と所有権を、Webサーバー( HTTPD )起動ユーザーに変更します。ここでは、HTTPD 起動ユーザーが apache としているので、適宜変更してください。

■ 現在のアクセス権と所有権を確認
[root@localhost www]# ls -la
合計 4
drwxr-xr-x.  5 root   root    50  9月 30 16:04 .
drwxr-xr-x. 20 root   root   278  9月 30 15:45 ..
drwxr-xr-x.  2 root   root     6  6月 27 22:49 cgi-bin
drwxr-xr-x.  2 root   root     6  6月 27 22:49 html
drwxr-xr-x.  5 nobody 65534 4096  8月  3 11:07 wordpress
[root@localhost www]# 

■ アクセス権と所有権の変更
[root@localhost www]# chown -R apache:apache *
[root@localhost www]# 

■ 変更後のアクセス権と所有権を確認
[root@localhost www]# ls -la
合計 4
drwxr-xr-x.  5 root   root     50  9月 30 16:04 .
drwxr-xr-x. 20 root   root    278  9月 30 15:45 ..
drwxr-xr-x.  2 apache apache    6  6月 27 22:49 cgi-bin
drwxr-xr-x.  2 apache apache    6  6月 27 22:49 html
drwxr-xr-x.  5 apache apache 4096  8月  3 11:07 wordpress
[root@localhost www]# 

データベースの作成

データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。

[root@localhost ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4012
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

WordPress のデータベースを、文字コード utf8 を指定して作成します。ここでは、データベース名を wp としているので適宜変更してください。

MariaDB [(none)]> create database wp character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> 

WordPress のデータベースに接続するためのユーザーを作成します。ここでは、ユーザーを WP_USER、パスワードを WP_DB_PASS としているので適宜変更してください。

MariaDB [(none)]> create user 'WP_USER'@'localhost' identified by 'WP_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 

WordPress のデータベースに接続するためのユーザーを作成します。ここでは、ユーザーを WP_USER、パスワードを WP_DB_PASS としているので適宜変更してください。

ユーザー WP_USER にデータベース wp へのアクセス権を付与します。

MariaDB [(none)]> grant all privileges on wp.* to 'WP_USER'@'localhost';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 

MariaDB [(none)]> quit
Bye
[root@localhost wordpress]# 

初期設定ファイルの作成

サンプルファイルをコピーし、WordPress 初期設定ファイルを作成します。

[root@localhost www]# cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
[root@localhost www]#

作成した WordPress 初期設定ファイルのアクセス権と所有権を、Web サービス( HTTPD )起動ユーザーに変更します。

[root@localhost wordpress]# chown -R apache:apache wp-config.php 
[root@localhost wordpress]#

WordPress 初期設定ファイルを編集し、以下設定します。

[root@localhost wordpress]# vi wp-config.php 

WordPress のデータベースを指定します。ここでは、データベース wp としているので、適宜変更してください。

/define('DB_NAME', 'database_name_here');
define('DB_NAME', 'wp');

WordPress のデータベース接続ユーザーを指定します。ここでは、データベース接続ユーザーを WP_USER としているので、適宜変更してください。

/** MySQL データベースのユーザー名 */
/define('DB_USER', 'username_here');
define('DB_USER', 'WP_USER');

WordPress のデータベース接続ユーザーのパスワードを指定します。ここでは、データベース接続ユーザーのパスワードを WP_DB_PASS としているので、適宜変更してください。

/** MySQL データベースのパスワード */
/define('DB_PASSWORD', 'password_here');
define('DB_PASSWORD', 'WP_DB_PASS');

WordPress のデータベースがある DBサーバーのホストを指定します。ここでは、WordPress のモジュールを配置したローカルサーバー上に DBサーバーがあるため、localhost を指定しています。

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

ドキュメントルートの変更

Webサーバーの設定ファイル( /etc/httpd/conf/httpd.conf )を編集し、以下設定します。

[root@localhost www]# vi /etc/httpd/conf/httpd.conf 

ドキュメントルートに、wordpress を配置したディレクトリ( /var/www/wordpress )を指定します。

DocumentRoot "/var/www/wordpress"

wordpress を配置したディレクトリ( /var/www/wordpress )に対する AllowOverride ディレクティブで、.htaccessを有効にします。

<Directory "/var/www/wordpress">
 AllowOverride All
</Directory>

変更した設定を反映させるために、Webサービス( HTTPD )を再起動します。

■ 再起動
[root@localhost www]# systemctl restart httpd
[root@localhost www]# 

■ 起動状態の確認
[root@localhost www]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-09-30 16:11:20 JST; 4s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 13370 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 13381 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─13381 /usr/sbin/httpd -DFOREGROUND
           ├─13383 /usr/sbin/httpd -DFOREGROUND
           ├─13384 /usr/sbin/httpd -DFOREGROUND
           ├─13385 /usr/sbin/httpd -DFOREGROUND
           ├─13386 /usr/sbin/httpd -DFOREGROUND
           └─13387 /usr/sbin/httpd -DFOREGROUND

 9月 30 16:11:20 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
 9月 30 16:11:20 localhost.localdomain httpd[13381]: AH00558: httpd: Could not rel...e
 9月 30 16:11:20 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost www]#