環境
ハードウェア
- CPU Intel Core i7 8700K BOX
- MEM DDR4-2666 DIMM 16GB x 2
- M/B GIGABYTE Z370 HD3
- SSD Intel SSD 545s 512GB SSDSC2KW512G8X1
- HDD SEAGATE ST4000DM004 4TB
- G/B 玄人志向 GF-GTX1080Ti-E11GB/OC/DF
ソフトウェア
- OS Ubuntu 18.04.1 LTS
- PHP PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
- MYSQL Server version: 5.7.24-0ubuntu0.18.04.1 (Ubuntu)
- HTTPサーバ Apache/2.4.29 (Ubuntu)
- NVIDIAドライバ NVIDIA-SMI 390.87 Driver Version: 390.87
- CUDA Toolkit 10.0
- cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0
- OpenBLAS
- libopenblas-base/bionic 0.2.20+ds-4 amd64
- libopenblas-dev/bionic 0.2.20+ds-4 amd64
- python-numpy (1:1.13.3-2ubuntu1)
- python-scipy (0.19.1-2ubuntu1)
- python-matplotlib (2.1.1-2ubuntu3)
- python-yaml (3.12-1build2)
- HDF5
- python-h5py (2.7.1-2)
- libhdf5-serial-dev (1.10.0-patch1+docs-4)
- graphviz (2.40.1-2)
- python-pip
- python-dev
- pydot-ng-2.0.0
- Bazel
- openjdk-8-jre:amd64 (8u181-b13-0ubuntu0.18.04.1)
- bazel (0.18.0)
- Python 2.7.15rc1
- pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
- virtualenv 15.1.0
- GNOME 3.28.2
問題
自宅PCにApache2を走らせ、WordPressを適当なディレクトリにインストールして使っていた。
apache2.conf に DocumentRoot /var/www/html と記載
wordpressは /var/www/html/xxxxx/yyyyy 配下にインストール (xxxxxは仮ドメイン名, yyyyyはWordPressインストール用ディレクトリ)
http://localhost/xxxxx/yyyyy でWordPressにアクセスできていた。
その後、リモートサーバでの運用を想定してapache2.conf を DocumentRoot /var/www/html/xxxxx に変更したところ、
http://localhost/yyyyy でWordPressにアクセスできなくなった。
解決策
まあ、当然といえば当然であろう。以下ブログには (1)wp-config.phpに define(‘WP_SITEURL’, ‘http://●●●.●●’); を追記する方法、(2) phpMyAdminで直接データベースを編集する方法が記載されている。
(2)によるリモートサーバをインストールする方法はセキュリティホールとなりうるので(1)の方法を試す。
wp-config.phpを以下の通り編集する。
変更前)
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */ define('DB_COLLATE', ''); /**#@+ * 認証用ユニークキー
変更後)
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */ define('DB_COLLATE', ''); define(‘WP_SITEURL’, ‘http://localhost’); /**#@+ * 認証用ユニークキー
しかし、うまく行かない。かくなるうえは直接データベースを書き換えるしかない。
MySQLの直接編集
mysql> show databases;
(略)
mysql> show tables;
+—————————+
| Tables_in_(データベース名) |
+—————————+
| (接頭辞)_commentmeta |
| (接頭辞)_comments |
| (接頭辞)_links |
| (接頭辞)_options |
| (接頭辞)_postmeta |
| (接頭辞)_posts |
| (接頭辞)_term_relationships |
| (接頭辞)_term_taxonomy |
| (接頭辞)_termmeta |
| (接頭辞)_terms |
| (接頭辞)_usermeta |
| (接頭辞)_users |
+—————————+
12 rows in set (0.00 sec)
mysql> select * from (接頭辞)_options;
(略)
| option_id | option_name | option_value | autoload |
(略)
| 1 | siteurl | http://localhost/xxxxx/yyyyy | yes |
| 2 | home | http://localhost/xxxxx/yyyyy | yes |
mysql> select option_value from (接頭辞)_options where option_name=’siteurl’;
+——————————————-+
| option_value |
+——————————————-+
| http://localhost/xxxxx/yyyyy |
+——————————————-+
1 row in set (0.00 sec)
mysql> update (接頭辞)_options set option_value=’http://localhost/yyyyy’ where option_id = 1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update (接頭辞)_options set option_value=’http://localhost/yyyyy’ where option_id = 2;
Query OK, 1 row affected (0.30 sec)
Rows matched: 1 Changed: 1 Warnings: 0
その後、ブラウザで http://localhost/yyyyy を立ちあげると、WordPressに正常にアクセスできるようになった。