sg <

Apacheの設定を変更したらインストール済みのWordPressにアクセスできなくなって困る

環境

ハードウェア

  • 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で直接データベースを編集する方法が記載されている。

wordpressのアドレスを変更してログインできないときの対処方法

(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に正常にアクセスできるようになった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください