Linux 用 Windows サブシステム2 (WSL2)のトップページ


Linux 用 Windows サブシステム2 (WSL2)

WordPress で Web サイトを構築する

WordPress で本格的な Web サイトを構築してみよう.WordPress は多くの Web サイトで利用されている CMS (Contents Management System) です.Apache Web サーバと PHP で動作し,バックエンドには MySQL データベースを利用します.

なお,WordPress を動作させるためには,PHP の拡張機能(php-gd, php-mbstring など)が必要ですが, GitHub からダウンロードしたスクリプトをここの手順で実行すれば,既に必要な拡張機能がインストールされています.

目次

  1. IP アドレスの確認
  2. MySQL の設定
  3. Apache の設定
  4. WordPress の設置

目次に戻る

IP アドレスの確認

Ubuntu に設定されている IP アドレスを確認します.このためには ip a というコマンド入力し IP アドレスを探します.すると,この環境では172.23.116.166 というアドレスが割り当てられていることがわかりました.このアドレスを控えておきます.このページでは Ubuntu に 172.23.116.166 という IP アドレスが設定されているものとして作業を進めます.

rinsaka@XPS2019:~$ ip a ⏎
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: bond0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 7e:18:44:8e:94:2e brd ff:ff:ff:ff:ff:ff
3: dummy0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 6e:b3:63:d5:14:d8 brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
5: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:5f:2d:f0 brd ff:ff:ff:ff:ff:ff
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe5f:2df0/64 scope link
       valid_lft forever preferred_lft forever
rinsaka@XPS2019:~$

もしも大量の出力から目的の IP アドレスを探すのが面倒であれば,次のように grep で出力を絞り込む方法もあります.なお | はパイプ記号と呼ばれます.

rinsaka@XPS2019:~$ ip a | grep inet ⏎ # 「inet」が含まれる行だけを出力すると「inet6」の行も出力される
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
    inet6 fe80::215:5dff:fe5f:2df0/64 scope link
rinsaka@XPS2019:~$ ip a | grep "inet " ⏎ # 「inet」の後ろに半角空白が含まれる行だけを出力するとさらに絞り込まれる
    inet 127.0.0.1/8 scope host lo
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
rinsaka@XPS2019:~$

目次に戻る

MySQL の設定

WordPress では投稿したコンテンツなどが MySQL データベース内に保存されます.まず,GitHub からダウンロードしたスクリプトをここの手順で実行した後,MySQL に root ユーザでログインができるように設定を行なってください.

MySQL に root ユーザアカウントでログインし,WordPress が利用するデータベースを任意の名称で作成します.ここでは wp_testDB というデータベースを作成することにします.

rinsaka@XPS2019:~$ mysql -u root -p ⏎
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.32-0ubuntu0.22.04.2 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> SHOW DATABASES; ⏎
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myappDB            |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> CREATE DATABASE wp_testDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; ⏎
Query OK, 1 row affected, 2 warnings (0.03 sec)

mysql> SHOW DATABASES; ⏎
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myappDB            |
| mysql              |
| performance_schema |
| sys                |
| wp_testDB          |
+--------------------+
6 rows in set (0.00 sec)

mysql>

次に,新規ユーザを作成して,wp_testDB データベースにアクセス権を付与します.なお,ユーザのパスワードは hogehogehoge にしていますが,もちろん複雑なものを設定してください.このパスワードやデータベース名,ユーザ名は WordPress の設定時にも必要になります.

mysql> CREATE USER 'wp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hogehogehoge'; ⏎
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL ON wp_testDB.* TO 'wp_user'@'localhost'; ⏎
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES; ⏎
Query OK, 0 rows affected (0.01 sec)

mysql> EXIT; ⏎
Bye
rinsaka@XPS2019:~$

いま作成したユーザ (wp_user) で MySQL にログインできて wp_testDB データベースが見えている(mysql や sys データベースなどは見えていない)ことを念のために確認しても良いでしょう.また現時点では wp_testDB にテーブルは定義されていないことも確認します.

rinsaka@XPS2019:~$ mysql -u wp_user -p ⏎
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.32-0ubuntu0.22.04.2 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> SHOW DATABASES; ⏎
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| wp_testDB          |
+--------------------+
3 rows in set (0.00 sec)

mysql> USE wp_testDB; ⏎
Database changed
mysql> SHOW TABLES; ⏎
Empty set (0.00 sec)

mysql> EXIT; ⏎
Bye
rinsaka@XPS2019:~$

なお,システムの再起動などの影響で MySQL が起動していない場合はここに示す手順で MySQL を起動する必要があります.

目次に戻る

Apache の設定

GitHub からダウンロードしたスクリプトをここの手順で実行すれば,Apache Web サーバがインストールされ,システムの起動時に Web サーバも起動しているはずです.Web ブラウザのアドレスバーに IP アドレス (172.23.116.166) を入力して,次の画面が表示されることを確認してください.

wsl-apache-01

なお,システムの再起動などの影響で Apache が起動していない場合はここに示す手順で Apache を起動する必要があります.

次に,Apache の設定を変更し,.htaccess の使用を有効化します.なお,Ubuntu の Web サーバでは WordPress のサイトだけを運用する前提で作業します.具体的には /etc/apache2/sites-available/000-default.conf ファイルを任意のエディタ(ここでは vi)で編集します.

rinsaka@XPS2019:~$ cd /etc/apache2/sites-available/ ⏎
rinsaka@XPS2019:/etc/apache2/sites-available$ ls -l ⏎
total 12
-rw-r--r-- 1 root root 1332  9月  8  2022 000-default.conf
-rw-r--r-- 1 root root 6338  9月 30 09:15 default-ssl.conf
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo vi 000-default.conf ⏎
000-default.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        <Directory /var/www/html/>
                AllowOverride All
        </Directory>

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

次に rewrite モジュールを有効化して,WordPress のパーマリンクが利用できるようにします.

rinsaka@XPS2019:/etc/apache2/sites-available$ sudo a2enmod rewrite ⏎
Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart
rinsaka@XPS2019:/etc/apache2/sites-available$

Apache の設定ファイルをテストしてから Apache を再起動します.このとき,WSL にインストールした Ubuntu では systemctl コマンドが利用できないことに注意してください(利用できるように設定する方法もありそうです).停止してから起動しても良いですし,再起動しても良いでしょう.

rinsaka@XPS2019:/etc/apache2/sites-available$ sudo apache2ctl configtest ⏎
Syntax OK
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo systemctl restart apache2 ⏎
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 status ⏎
 * apache2 is running
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 stop ⏎
 * Stopping Apache httpd web server apache2                                                                              *
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 start ⏎
 * Starting Apache httpd web server apache2
 *
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 status ⏎
 * apache2 is running
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 restart ⏎
 * Restarting Apache httpd web server apache2                                                                    [ OK ]
rinsaka@XPS2019:/etc/apache2/sites-available$ sudo service apache2 status ⏎
 * apache2 is running
rinsaka@XPS2019:/etc/apache2/sites-available$

目次に戻る

WordPress の設置

WordPress のダウンロード

WordPress をダウンロードして利用できるように設定していきます.まず,任意のフォルダ(今回は /home/rinsaka/)にダウンロードします.

rinsaka@XPS2019:/etc/apache2/sites-available$ cd ⏎
rinsaka@XPS2019:~$ pwd ⏎
/home/rinsaka
rinsaka@XPS2019:~$ curl -O https://wordpress.org/latest.tar.gz ⏎
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.6M  100 21.6M    0     0  4153k      0  0:00:05  0:00:05 --:--:-- 4851k
rinsaka@XPS2019:~$

ダウンロードしたファイルを tar コマンドで展開します.

rinsaka@XPS2019:~$ ls -lh ⏎
total 22M
drwx------ 4 rinsaka rinsaka 4.0K  3月 18 09:57 Documents
-rw-r--r-- 1 rinsaka rinsaka  22M  3月 18 10:23 latest.tar.gz
drwxr-xr-x 4 rinsaka rinsaka 4.0K  3月 18 09:18 ubuntu2204-ansible
rinsaka@XPS2019:~$ tar xvzf latest.tar.gz ⏎

必要なファイル (.htaccess) を作成,設定のためのページ (wp-config.php) をサンプルファイルからコピーし,さらに upgrade フォルダを作成します.

rinsaka@XPS2019:~$ ls -lh ⏎
total 22M
drwx------ 4 rinsaka rinsaka 4.0K  3月 18 09:57 Documents
-rw-r--r-- 1 rinsaka rinsaka  22M  3月 18 10:23 latest.tar.gz
drwxr-xr-x 4 rinsaka rinsaka 4.0K  3月 18 09:18 ubuntu2204-ansible
drwxr-xr-x 5 rinsaka rinsaka 4.0K 11月 16 04:03 wordpress
rinsaka@XPS2019:~$ cd wordpress/ ⏎
rinsaka@XPS2019:~/wordpress$ pwd ⏎
/home/rinsaka/wordpress
rinsaka@XPS2019:~/wordpress$ touch .htaccess ⏎
rinsaka@XPS2019:~/wordpress$ cp wp-config-sample.php wp-config.php ⏎
rinsaka@XPS2019:~/wordpress$ mkdir upgrade ⏎
rinsaka@XPS2019:~/wordpress$ ls -lah ⏎
total 240K
drwxr-xr-x  6 rinsaka rinsaka 4.0K  3月 18 10:25 .
drwxr-x--- 11 rinsaka rinsaka 4.0K  3月 18 10:24 ..
-rw-r--r--  1 rinsaka rinsaka    0  3月 18 10:25 .htaccess
-rw-r--r--  1 rinsaka rinsaka  405  2月  6  2020 index.php
-rw-r--r--  1 rinsaka rinsaka  20K  1月  1  2022 license.txt
-rw-r--r--  1 rinsaka rinsaka 7.3K  9月 17 07:27 readme.html
drwxr-xr-x  2 rinsaka rinsaka 4.0K  3月 18 10:25 upgrade
-rw-r--r--  1 rinsaka rinsaka 7.1K  9月 17 08:13 wp-activate.php
drwxr-xr-x  9 rinsaka rinsaka 4.0K 11月 16 04:03 wp-admin
-rw-r--r--  1 rinsaka rinsaka  351  2月  6  2020 wp-blog-header.php
-rw-r--r--  1 rinsaka rinsaka 2.3K 11月 10  2021 wp-comments-post.php
-rw-r--r--  1 rinsaka rinsaka 3.0K 12月 14  2021 wp-config-sample.php
-rw-r--r--  1 rinsaka rinsaka 3.0K  3月 18 10:25 wp-config.php
drwxr-xr-x  4 rinsaka rinsaka 4.0K 11月 16 04:03 wp-content
-rw-r--r--  1 rinsaka rinsaka 5.5K  9月 21 00:44 wp-cron.php
drwxr-xr-x 27 rinsaka rinsaka  12K 11月 16 04:03 wp-includes
-rw-r--r--  1 rinsaka rinsaka 2.5K  3月 20  2022 wp-links-opml.php
-rw-r--r--  1 rinsaka rinsaka 3.9K  9月 19 17:59 wp-load.php
-rw-r--r--  1 rinsaka rinsaka  48K  9月 20 07:26 wp-login.php
-rw-r--r--  1 rinsaka rinsaka 8.4K 10月 17 20:06 wp-mail.php
-rw-r--r--  1 rinsaka rinsaka  25K  9月 26 19:17 wp-settings.php
-rw-r--r--  1 rinsaka rinsaka  34K  9月 17 09:35 wp-signup.php
-rw-r--r--  1 rinsaka rinsaka 4.8K 10月 17 20:22 wp-trackback.php
-rw-r--r--  1 rinsaka rinsaka 3.2K  6月  9  2020 xmlrpc.php
rinsaka@XPS2019:~/wordpress$

初期 Web ページのコンテンツを削除します.

rinsaka@XPS2019:~/wordpress$ ls -la /var/www/html/ ⏎
total 20
drwxr-xr-x 2 rinsaka rinsaka  4096  3月 18 09:00 .
drwxr-xr-x 3 root    root     4096  3月 18 09:00 ..
-rw-r--r-- 1 rinsaka rinsaka 10671  3月 18 09:00 index.html
rinsaka@XPS2019:~/wordpress$ rm /var/www/html/index.html ⏎
rinsaka@XPS2019:~/wordpress$ ls -la /var/www/html/ ⏎
total 8
drwxr-xr-x 2 rinsaka rinsaka 4096  3月 18 10:26 .
drwxr-xr-x 3 root    root    4096  3月 18 09:00 ..
rinsaka@XPS2019:~/wordpress$

Web ブラウザでトップページにアクセスします.コンテンツを削除したので表示されなくなりました.

wsl-wp-01

目次に戻る

WordPress ファイルのコピーと権限の設定

WordPress のファイルを /var/www/html/ フォルダにコピーします.

rinsaka@XPS2019:~/wordpress$ pwd ⏎
/home/rinsaka/wordpress
rinsaka@XPS2019:~/wordpress$ sudo cp -a /home/rinsaka/wordpress/. /var/www/html/ ⏎
rinsaka@XPS2019:~/wordpress$ ls -la /var/www/html/ ⏎
total 240
drwxr-xr-x  6 rinsaka rinsaka  4096  3月 18 10:25 .
drwxr-xr-x  3 root    root     4096  3月 18 09:00 ..
-rw-r--r--  1 rinsaka rinsaka     0  3月 18 10:25 .htaccess
-rw-r--r--  1 rinsaka rinsaka   405  2月  6  2020 index.php
-rw-r--r--  1 rinsaka rinsaka 19915  1月  1  2022 license.txt
-rw-r--r--  1 rinsaka rinsaka  7389  9月 17 07:27 readme.html
drwxr-xr-x  2 rinsaka rinsaka  4096  3月 18 10:25 upgrade
-rw-r--r--  1 rinsaka rinsaka  7205  9月 17 08:13 wp-activate.php
drwxr-xr-x  9 rinsaka rinsaka  4096 11月 16 04:03 wp-admin
-rw-r--r--  1 rinsaka rinsaka   351  2月  6  2020 wp-blog-header.php
-rw-r--r--  1 rinsaka rinsaka  2338 11月 10  2021 wp-comments-post.php
-rw-r--r--  1 rinsaka rinsaka  3001 12月 14  2021 wp-config-sample.php
-rw-r--r--  1 rinsaka rinsaka  3001  3月 18 10:25 wp-config.php
drwxr-xr-x  4 rinsaka rinsaka  4096 11月 16 04:03 wp-content
-rw-r--r--  1 rinsaka rinsaka  5543  9月 21 00:44 wp-cron.php
drwxr-xr-x 27 rinsaka rinsaka 12288 11月 16 04:03 wp-includes
-rw-r--r--  1 rinsaka rinsaka  2494  3月 20  2022 wp-links-opml.php
-rw-r--r--  1 rinsaka rinsaka  3985  9月 19 17:59 wp-load.php
-rw-r--r--  1 rinsaka rinsaka 49135  9月 20 07:26 wp-login.php
-rw-r--r--  1 rinsaka rinsaka  8522 10月 17 20:06 wp-mail.php
-rw-r--r--  1 rinsaka rinsaka 24587  9月 26 19:17 wp-settings.php
-rw-r--r--  1 rinsaka rinsaka 34350  9月 17 09:35 wp-signup.php
-rw-r--r--  1 rinsaka rinsaka  4914 10月 17 20:22 wp-trackback.php
-rw-r--r--  1 rinsaka rinsaka  3236  6月  9  2020 xmlrpc.php
rinsaka@XPS2019:~/wordpress$

Apache Web サーバは www-data というユーザ ID でファイルやフォルダにアクセスします.その ID を確認します.

rinsaka@XPS2019:~/wordpress$ id www-data ⏎
uid=33(www-data) gid=33(www-data) groups=33(www-data)
rinsaka@XPS2019:~/wordpress$

WordPress のフォルダに Apache Web サーバがアクセスできるように権限を設定します.もはや一般ユーザはアクセス拒否されていることもわかります.

rinsaka@XPS2019:~/wordpress$ cd /var/www/ ⏎
rinsaka@XPS2019:/var/www$ ls -l ⏎
total 4
drwxr-xr-x 6 rinsaka rinsaka 4096  3月 18 10:25 html
rinsaka@XPS2019:/var/www$ sudo chown -R www-data:www-data html ⏎
rinsaka@XPS2019:/var/www$ ls -l ⏎
total 4
drwxr-xr-x 6 www-data www-data 4096  3月 18 10:25 html
rinsaka@XPS2019:/var/www$ sudo find html/ -type d -exec chmod 750 {} \; ⏎
rinsaka@XPS2019:/var/www$ sudo find html/ -type f -exec chmod 640 {} \; ⏎
rinsaka@XPS2019:/var/www$ ls -la html/ ⏎
ls: cannot open directory 'html/': Permission denied
rinsaka@XPS2019:/var/www$ sudo ls -la html/ ⏎
total 240
drwxr-x---  6 www-data www-data  4096  3月 18 10:25 .
drwxr-xr-x  3 root     root      4096  3月 18 09:00 ..
-rw-r-----  1 www-data www-data     0  3月 18 10:25 .htaccess
-rw-r-----  1 www-data www-data   405  2月  6  2020 index.php
-rw-r-----  1 www-data www-data 19915  1月  1  2022 license.txt
-rw-r-----  1 www-data www-data  7389  9月 17 07:27 readme.html
drwxr-x---  2 www-data www-data  4096  3月 18 10:25 upgrade
-rw-r-----  1 www-data www-data  7205  9月 17 08:13 wp-activate.php
drwxr-x---  9 www-data www-data  4096 11月 16 04:03 wp-admin
-rw-r-----  1 www-data www-data   351  2月  6  2020 wp-blog-header.php
-rw-r-----  1 www-data www-data  2338 11月 10  2021 wp-comments-post.php
-rw-r-----  1 www-data www-data  3001 12月 14  2021 wp-config-sample.php
-rw-r-----  1 www-data www-data  3001  3月 18 10:25 wp-config.php
drwxr-x---  4 www-data www-data  4096 11月 16 04:03 wp-content
-rw-r-----  1 www-data www-data  5543  9月 21 00:44 wp-cron.php
drwxr-x--- 27 www-data www-data 12288 11月 16 04:03 wp-includes
-rw-r-----  1 www-data www-data  2494  3月 20  2022 wp-links-opml.php
-rw-r-----  1 www-data www-data  3985  9月 19 17:59 wp-load.php
-rw-r-----  1 www-data www-data 49135  9月 20 07:26 wp-login.php
-rw-r-----  1 www-data www-data  8522 10月 17 20:06 wp-mail.php
-rw-r-----  1 www-data www-data 24587  9月 26 19:17 wp-settings.php
-rw-r-----  1 www-data www-data 34350  9月 17 09:35 wp-signup.php
-rw-r-----  1 www-data www-data  4914 10月 17 20:22 wp-trackback.php
-rw-r-----  1 www-data www-data  3236  6月  9  2020 xmlrpc.php
rinsaka@XPS2019:/var/www$

目次に戻る

WordPress 秘密鍵やデータベース接続情報の設定

WordPressの秘密鍵を生成して,それを /var/www/html/wp-config.php で指定します.まず,API を使って秘密鍵を生成します(毎回異なるはずです).生成された8行の秘密鍵をコピーしておくと良いでしょう.

rinsaka@XPS2019:/var/www$ cd
rinsaka@XPS2019:~$ curl -s https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY',         'z[`23ZV,$FS]+| ...(中略)... r|iQWaxPwg*u8b');
define('SECURE_AUTH_KEY',  'g=_~vi)Y%G&&se ...(中略)... #oG-mj!aKG]|*V');
define('LOGGED_IN_KEY',    'iT?Eie)fM$TYB] ...(中略)... 3$O%xUAV!`bc92');
define('NONCE_KEY',        '7 c@%C%b+_@H|Z ...(中略)... =k.B=W`zi%a?l)');
define('AUTH_SALT',        'XY]Ef|}0_yf}(n ...(中略)... ZpU j7D-(q%p=E');
define('SECURE_AUTH_SALT', '^8Bv-ez@Yzz:c[ ...(中略)... zEdf:UPk^t6+-0');
define('LOGGED_IN_SALT',   'l+s|@++j_dx=eB ...(中略)... 3WnIzra[_JE6Xg');
define('NONCE_SALT',       '%)a:k_D-9+phXB ...(中略)... vgW5|U?Iz=T0(V');
rinsaka@XPS2019:~$

上で得られた秘密鍵を /var/www/html/wp-config.php に指定しつつ,ここで設定したデータベースの接続情報も設定,さらに最後の行のように define('FS_METHOD', 'direct'); を追加します.

rinsaka@XPS2019:~$ sudo vi /var/www/html/wp-config.php ⏎
rinsaka@XPS2019:~$
/var/www/html/wp-config.php
<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wp_testDB' );

/** Database username */
define( 'DB_USER', 'wp_user' );

/** Database password */
define( 'DB_PASSWORD', 'hogehogehoge' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * 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
 */
define('AUTH_KEY',         'z[`23ZV,$FS]+| ...(中略)... r|iQWaxPwg*u8b');
define('SECURE_AUTH_KEY',  'g=_~vi)Y%G&&se ...(中略)... #oG-mj!aKG]|*V');
define('LOGGED_IN_KEY',    'iT?Eie)fM$TYB] ...(中略)... 3$O%xUAV!`bc92');
define('NONCE_KEY',        '7 c@%C%b+_@H|Z ...(中略)... =k.B=W`zi%a?l)');
define('AUTH_SALT',        'XY]Ef|}0_yf}(n ...(中略)... ZpU j7D-(q%p=E');
define('SECURE_AUTH_SALT', '^8Bv-ez@Yzz:c[ ...(中略)... zEdf:UPk^t6+-0');
define('LOGGED_IN_SALT',   'l+s|@++j_dx=eB ...(中略)... 3WnIzra[_JE6Xg');
define('NONCE_SALT',       '%)a:k_D-9+phXB ...(中略)... vgW5|U?Iz=T0(V');
/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
        define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

define('FS_METHOD', 'direct');

目次に戻る

WordPress サイトの設定

WordPress ファイルの設置ができたので,サイトの設定を行います.Web ブラウザで IP アドレス (172.23.116.166) を指定して接続すると,次のようなインストールのページにリダイレクトされます.「言語」は「日本語」を指定して「次へ」をクリックします.

wsl-wp-02

サイトのタイトルや管理者のユーザ名などを指定します.今回はタイトルに「WordPress Test Page」を指定しました.管理者名に今回は「admin」を指定しました.入力できれば「WordPress をインストール」ボタンをクリックします.

wsl-wp-03

インストールが成功すれば次のような画面が表示されます.「ログイン」をクリックします.

wsl-wp-04

設定した管理者のユーザ名「admin」をパスワードを入力します.

wsl-wp-05

adminユーザでログインした直後のダッシュボードです.ここまでできれば,後はサイトの「外観」を設定して,「固定ページ」を作成します.さらに,「投稿」から様々な記事を投稿すると良いでしょう.

wsl-wp-06

「外観」等の設定をすることなく別の Web ブラウザで接続すると次のような表示になります.これが一般ユーザからの見え方です.

wsl-wp-07

「外観」をカスタマイズします.例えば新しいテーマから「OceanWP」をインストールして有効化します.

wsl-wp-08

その結果,一般ユーザからの見え方が次のようなデザインに変更されました.

wsl-wp-09

次は,トップページに「投稿内容」ではなく「固定ページ」が表示されるように設定を変更します.まず,固定ページの一覧を開きます.「サンプルページ」があるので,これがトップページになるように変更します.

wsl-wp-10

「外観」の「カスタマイズ」から「ホームページ設定」を開きます.このページで「ホームページの表示」は「固定ページ」に変更し,「ホームページ」は「サンプルページ」に変更します.変更したら上にある「公開」ボタンをクリックします.

wsl-wp-11

一般ユーザで表示(再読み込み)するとトップページが固定ページ(サンプルページ)に変更されたことが確認できます.

wsl-wp-12

さらにメニューを表示するようにします.「外観」の「カスタマイズ」から「メニュー」を開きます.

wsl-wp-13

メニュー名に適当な名前(今回は menu)を付けます.その後「項目を追加」を押して,メニューに表示したい固定ページや投稿ページを選択します.

wsl-wp-14

メニューの位置も任意ですが,「メイン」を選んでみます.やはり設定を変更すると「公開」ボタンをクリックします.

wsl-wp-15

一般ユーザで表示を確認すると,右上にメニューが表示されたことがわかりました.

wsl-wp-16

目次に戻る