WordPress導入メモ

1.各ファイルダウンロード
①WordPress

下記より最新版5.6をダウンロード
https://ja.wordpress.org/download/
ブログのルートに解凍・展開

②PHP

下記より8.0をダウンロード(バージョン7.4以上必須,現在使用中のバージョン5.5は古い)
VS16 x64 Thread Safe
https://windows.php.net/download#php-8.0
dドライブのProgram Filesに解凍・展開

③MySQL

下記より8.0.22をダウンロード(バージョン5.6以上必須,MSSQL使用中)                      https://dev.mysql.com/downloads/windows/installer/8.0.html
Windows (x86, 32-bit), MSI Installer 8.0.22 405.2M を選択(インストーラー付き)
インストーラーでserver機能のみインストール。途中のユーザーID・パスワードをメモしWordPressインストール時に指定する。

OpenSSL や cURL関数使用時は、以下の 4 つのファイルを Apacheの bin フォルダへコピーする。httpd.confでloadしているので,必要ないかも。

libcrypto-1_1-x64.dll
libssh2.dll
libssl-1_1-x64.dll
nghttp2.dll
2.設定
①php.ini

◎php.ini  追加・変更箇所   ”php.ini-development” (開発用)をコピーして “php.ini” にリネーム 行番8はImageMagick使用時必要ならしいが.エラーとなるのでコメント。どうもバージョンが関係しているよう。PHP7.1らしいが「imagic.so」が見当たらない!。(PHP拡張モジュール) GDが使用できるのでまあいいか。しかしImageMagickはいろいろ問題が多い。ちなみにデバッグ等不要なら本番環境用の”php.ini-production”で良いみたい。違いはメッセージ関係の設定有無で”php.ini-development” (開発用)はエラーメッセージを出力する。
【追記】windowsの場合はextension=php_imagick.dllとするようだ。 ダウンロードが必要
2/1現在の「php_imagick.dll」のバージョンはphp 7.3.2のようだ。PHP8用がリリースされるまで待つか。
wordpressサイトヘルス改善(imagick,Intl) – na-blog (na-3.com)

max_execution_time = 180   <<<タイムオーバー頻発により 30 → 180
date.timezone = "Asia/Tokyo"
default_charset = "UTF-8"
extension_dir = "d:\Program Files\php8\ext"
; extensionのコメントアウト
extension=curl
extension=fileinfo
extension=gd
;extension = imagick.so    <<<間違い
;extension=php_imagick.dll    <<<windowsの場合
extension=mbstring
extension=exif
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=pdo_sqlite
extension=sqlite3
mbstring.language = Japanese
memory_limit = 256M
post_max_size = 120M
upload_max_filesize = 100M
②httpd.conf

◎httpd.conf   追加・変更

LoadModule php_module "d:/Program Files/php8/php8apache2_4.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddHandler php-script .php
PHPIniDir "d:/Program Files/php8"
LoadFile "d:/Program Files/php8/php8ts.dll"
LoadFile "d:/Program Files/php8/libssh2.dll"
LoadFile "d:/Program Files/php8/nghttp2.dll"
LoadFile "d:/Program Files/php8/libcrypto-1_1-x64.dll"
LoadFile "d:/Program Files/php8/libssl-1_1-x64.dll"
LoadFile "d:/Program Files/php8/libsqlite3.dll"
③MySQL(my.ini)

 MySQL の設定ファイルである my.ini (C:\ProgramData\MySQL\MySQL Server 8.0\my.ini)を変更する。
◎データの保存ディレクトリはデフォルトではcドライブの「C:/ProgramData/MySQL/MySQL Server 8.0\Data」なのでdドライブに変更する。
「data」フォルダーをそのままdドライブの任意の場所にコピーして,「datadir」パラメーターでデータ保存ディレクトリを指定する。
mysqlのサービスは実行ユーザー network serviceなのでこのユーザーに移動した「dataフォルダー」にフルコントロール権限を設定。
◎default-time-zone=+9:00を追加
[mysqld]の最後に追加する。 
編集後に保存する際は,文字コードはANSI(ShiftJIS)で保存

datadir=D:/ProgramData/MySQL/MySQL Server 8.0\Data
[mysqld]
   :  最後に追加
default-time-zone=+9:00
3.まとめ

続いてWordPressをインストールする。
とりあえずこの設定で動いているので,間違ってはいないと思うが・・・。
今後,使いながら修正していくか。テーマも一時的に設定したので,今後変えたいと思う。しかし,機能が豊富で複雑なので自分好みにカスタマイズすると,エラーが出てしまうので,あまり触らないでデフォルトで使用するのが一番なのかも。

※追加

2021/1/5 設定を忘れていたので追加
 ブログルートのwordpress自動作成の.htaccessの一番上に下記追加。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# http又はwww有りの場合、https://hoge.com/blog/にリダイレクト
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://hoge.com/blog/$1 [R=301,L]
</IfModule>