前回までで、新サーバーへLANP環境が出来上がりました。
ここから、WordPress環境を構築し、現サーバーから引越ししたいと思います。
WordPress インストール
現サーバーのインストールは、このサイトでも紹介しています。
WordPress 準備
・ホームディレクトリの「Downloads」へ移動
・最新のWordPressパッケージをダウンロード
・ダウンロードされた、パッケージを展開
$ cd ~/Downloads/ <--- 一旦保存するディレクトリへ移動
$ wget https://ja.wordpress.org/latest-ja.tar.gz <--- 最新盤ダウンロード
・
・
$ ls
latest-ja.tar.gz <--- ダウンロードされた、WordPress パッケージ
$ tar xvzf latest-ja.tar.gz <---- 展開
・
・
$ ls
latest-ja.tar.gz wordpress <---- wordpress ディレクトリが作成された
$ ls wordpress/ <---- パッケージが展開されている。
index.php wp-includes
license.txt wp-links-opml.php
readme.html wp-load.php
wp-activate.php wp-login.php
wp-admin wp-mail.php
wp-blog-header.php wp-settings.php
wp-comments-post.php wp-signup.php
wp-config-sample.php wp-trackback.php
wp-content xmlrpc.php
wp-cron.php
WordPressパッケージの移動
・wordpressディレクトリをApacheのドキュメントルートへ移動
・wordpressディレクトリを、現状に合わせて、blogに変更
$ cd ~/Downloads/
$ su
パスワード:
# mv ./wordpress/ /home/www/html/ <----- ドキュメントルートへ移動
# cd /home/www/html/
# ls
index.html wordpress <----- 移動確認
# mv ./wordpress/ ./blog/ <----- WordPress のディレクトリ名変更
# ls
blog index.html
# chown -R apache.apache ./blog/ <----- Webサーバーユーザーに変更
MariaDBの設定
データベース作成
mariaDBにwordpress用のデータベースを作成前に、設定情報をメモしておきます。
・データベース名:WpDb
・ユーザー名:WpAdmin
・パスワード:WpPasswd
・データベースホスト:localhost
mariaDBに接続し、「CREATE DATABASE」でデータベース作成
「SHOW DATABASES」で確認できます。
$ mysql -u root -p[パスワード] <----- -pの後スペースなし
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.5.22-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)]> CREATE DATABASE WpDb;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| WpDb |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.000 sec)
データベース管理者の作成
MariaDB [(none)]> GRANT ALL ON WpDb.* TO 'WpAdmin'@'localhost' IDENTIFIED By 'WpPasswd';
Query OK, 0 rows affected (0.105 sec)
MariaDB [(none)]> USE mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> SELECT user,host from user;
+-----------------+-----------+
| User | Host |
+-----------------+-----------+
| WpAdmin | localhost |
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
+-----------------+-----------+
5 rows in set (0.001 sec)
MariaDB [mysql]> SHOW GRANTS FOR 'WpAdmin'@'localhost';
+--------------------------------------------------------------------------------------------------------------
--+
| Grants for WpAdmin@localhost
|
+--------------------------------------------------------------------------------------------------------------
--+
| GRANT USAGE ON *.* TO `WpAdmin`@`localhost` IDENTIFIED BY PASSWORD '*1D7A79234966407F4E4D1D1739BD39F36A92BA16
' |
| GRANT ALL PRIVILEGES ON `WpDb`.* TO `WpAdmin`@`localhost`
|
+--------------------------------------------------------------------------------------------------------------
--+
2 rows in set (0.000 sec)
MariaDB [mysql]> quit
Bye
WordPress の設定
Webブラウザから、WordPress本体のWebアドレスへアクセスすると、初期設定画面が表示されるはずです。
https://www.hogehoge.com/blog/
MySQL拡張機能エラー
筆者の今までの設定環境では、初期画面のはずが
「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」
のエラーがでました。
何かが足りないのか?
とりあず、「php」と「mysql」でパッケージを検索してみます。
$ dnf search php | grep mysql
・
php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
・
「php-mysqlnd」が見つかりました。
インストール状態を調べてみます。
$ dnf list --installed | grep php-mysql
$
なにも出てきません。インストールされていないようです。
とりあえず、インストールして再起動してみます。
# dnf install php-mysqlnd
・
インストール:
php-mysqlnd x86_64 8.2.14-1.el9.remi remi-インストール済み:
php-mysqlnd-8.2.14-1.el9.remi.x86_64
・
完了しました!
# systemctl restart php-fpm.service
# systemctl restart httpd
初期設定
どうにか、初期設定画面がでてきました!!
「さあ、始めましょう!」で次へ進み、
mariaDBに作成したデータベース情報を設定していきます。
設定が終了したら、「送信」
「インストール実行」で「ようこそ」画面が表示されます。
ブログのタイトルや、管理者ユーザー情報を入力
ここでの、ユーザー名・パスワードは、ワードプレス管理画面へログインする時の情報です
mariaDBに作成したデータベース情報とは違います。
設定したら、「WordPressをインストール」をクリック
「成功しました!」が表示されれば、成功です。
「ログイン」リンクで、ログイン画面が表示されます
ユーザー名とパスワードを入力すると、管理ページが表示されます。
管理ページが出ない場合は、下記からアクセスできます。
https://www.hogehoge.com/blog/wp-admin/
こちらの「設定」から、タイトルやパスワードなどの変更だけでなく、さらに詳細な設定ができます。
画面左上「ホームアイコン」⇒「サイト表示」でトップページが表示されます。
wp-config.phpのアクセス権限
上で設定した、「データベースのユーザー名」や「データベースのパスワード」の情報は、
設定後にWordPress本体のディレクトリの「wp-config.php」ファイルに書かれています。
このファイルの情報は非常に重要なため、アクセス権を厳しく設定しておきます。
また、バックアップを取りたいと思い、コピー先ファイルの拡張子「.php」を
「.bak」など他の拡張子にするのも危険です。
まず、WordPress本体のディレクトリに移動し、「chmod 600」でアクセス権を厳しくします
$ cd /home/www/html/blog
$ sudo chmod 600 ./wp-config.php
ローカルからドメイン名でのアクセス
hostsファイル
「https://」のアドレスをWebブラウザで確認する場合、IPアドレスでなくドメインでアクセスする必要があります。
ドメインの場合、IPアドレスとの紐づけが必要で、一般的にはDNSに解決してもらいますが
Webサーバーと同じローカル内のPCから確認したい場合には、うまく接続できない事があります。
そんな時には、クライアントの「hosts」ファイルに対応リストを書いておくことで、DNSに頼らず、ローカル内からも接続できるようになります。
「hosts」ファイルはクライアントが、Windowsの場合には、
「C:\Windows\System32\drivers\etc\hosts」。
linuxの場合には、「/etc/hosts」ファイルになります。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.11 www.hogehoge.com
WordPress のサイトヘルスエラー
WordPress をインストールして、ローカルのWindwsPCから、確認をしてみました。
「hosts」設定により、普通にアクセスでき、ページは正常に表示されましたが、
管理画面のサイトヘルスが致命的エラーを吐き出しました。
ネット情報を参考に、いろいろやってみましたが、解決しません。
エラー内容から、「curl」のエラーなのが、わかりました。
このコマンドを、立ち上げ中の「RocyLinux9」のターミナルで実行すると、エラーがでます
$ curl https://www.hogehoge.com
curl: (35) error:0A000102:SSL routines::unsupported protocol
ドメイン名でのアクセスは、クライアントだけかと思っていましたが、
サーバー側でも利用してるみたいです。
こちらも、名前解決できていないのが、原因のようですね。
筆者はWindowsPCの「hosts」しか編集していませんでしたが、
サーバーの「/etc/hosts」も編集したところ、このエラーを解決する事ができました。
$ sudo vi ./hosts
・
$ curl https://www.hogehoge.com
<html>
<body>
<h1>This website is currently under maintenance.</h1>
</body>
</html>
サイトヘルスも、「おすすめ改善」はありますが、「致命的な問題」は消えました。
これで、新しいブログを公開する準備は整いました。
今回のテーマは再構築なので、次回は、旧サーバーから既存のデータのバックアップを行い
この新しい環境で表示できるようにしたいと思います。
コメント