../ |
---|
WindowsにEclipseとPHPはインストール済みである。pleiades-2022-06-php-win-64bit-jre_20220619.exe
になる。MySQLは以前から使用中のものを継続して使う。
- Eclipse 2022-06 (4.24)
- PHP 7.4.29
- MySQL 5.6.46
この環境に、XAMPP 7.4.29 と WordPress 6.0 をインストールして開発環境を整えたい。
- XAMPP 7.4.29
- WordPress 6.0
XAMPP 7.4.29のインストール
XAMPPは、https://www.apachefriends.org/jp/ からWindows向け「XAMPP 7.4.29 (PHP 7.4.29)」をダウンロードした。最新版は「XAMPP 8.1.6 (PHP 8.1.6)」のようだったが、既存のPHPのバージョンに合わせた。
xampp-windows-x64-7.4.29-1-VC15-installer.exe
を実行した。コンポーネントからはMySQLを除外した。
インストール先は、Pleiades配下の C:\pleiades-xxx\xampp にした。インストールが終わるとXAMPP Control Panelが開く。Apacheのみを起動(start)してみた。
WordPress 6.0のインストール
WordPressは、https://ja.wordpress.org/download/ の「WordPress 6.0 をダウンロード」から wordpress-6.0-ja.zip
をダウンロードした。これを展開して、xampp配下の C:\pleiades-xxx\xampp\htdocs\wp に配置した。wordpressではなく、短いwp
というフォルダにしてみた。今後は、workspaceを C:\pleiades-xxx\xampp\htdocs にする。
MySQLにWordPressのDBとユーザーを作成する。DB名「wp」、ユーザー「wpadmin」とした。
# mysql -uroot -p mysql
Enter password: ***
> create database wp;
> show databases;
> create user 'wpadmin'@'localhost' identified by 'xxx'; // wpadmin追加
> grant all privileges on wp.* TO 'wpadmin'@'localhost'; // wpadminの権限
> flush privileges;
> select user,host from user;
> exit;
# mysql -uwpadmin -p wp
Enter password: xxx
> show tables;
Empty set (0.00 sec)
WordPress 6.0のセットアップ
Eclipse上でPHPビルトインサーバーを起動する。インストールしたwpも同期させておく。
プロジェクトエクスプローラから wp/wp-admin/index.php を選択して、サーバーで実行させると、ブラウザで http://localhost:8488/wp/wp-admin/setup-config.php が開く。順次入力して、ウィザードを進める。
データベース名 wp
ユーザー名 wpadmin // MySQLのuser
パスワード *** // MySQLのpassword
データベースのホスト名 localhost
テーブル接頭辞 wp_
サイトのタイトル xxx.com
ユーザー名 taconana // サイト管理者のID
パスワード *** // サイト管理者のpassword
メールアドレス xxx@xxx.com
「成功しました !」が出たら、先ほど設定したユーザー名とパスワードでログインする。
ダッシュボード (http://localhost:8488/wp/wp-admin/) が開く。
サイト (http://localhost:8488/wp/) を開くと、1羽の小鳥が飛ぶサンプルページが開く。
wp-config.phpの作成
wp-config-sample.phpをコピーしてwp-config.php
を作成しておく。中ほどにデータベース名、ユーザー名、パスワードなどを埋め込む。また秘密鍵も生成して、埋め込んでおく。
<?php
/**
* WordPress の基本設定
*
* このファイルは、インストール時に wp-config.php 作成ウィザードが利用します。
* ウィザードを介さずにこのファイルを "wp-config.php" という名前でコピーして
* 直接編集して値を入力してもかまいません。
*
* このファイルは、以下の設定を含みます。
*
* * データベース設定
* * 秘密鍵
* * データベーステーブル接頭辞
* * ABSPATH
*
* @link https://ja.wordpress.org/support/article/editing-wp-config-php/
*
* @package WordPress
*/
// 注意:
// Windows の "メモ帳" でこのファイルを編集しないでください !
// 問題なく使えるテキストエディタ
// (http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF 参照)
// を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。
// ** データベース設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wp' ); // 適宜変更する
/** データベースのユーザー名 */
define( 'DB_USER', 'wpadmin' ); // 適宜変更する
/** データベースのパスワード */
define( 'DB_PASSWORD', 'xxx' ); // 適宜変更すること
/** データベースのホスト名 */
define( 'DB_HOST', 'localhost' );
/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8' );
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
*
* @since 2.6.0
*/
// 以下は、https://api.wordpress.org/secret-key/1.1/salt/ にアクセスして表示されるテキストをコピペする
define('AUTH_KEY', 'htUaS DAjiw2($J&@5...');
define('SECURE_AUTH_KEY', 'VUC+|U*%IaPnQY|XMH&...');
define('LOGGED_IN_KEY', '{{&NV[T2}DnR2!2U~7_...');
define('NONCE_KEY', ']-vB+wEd_Ploo{Tf O4...');
define('AUTH_SALT', 'qt.La?1|Cpc7i?.so6r...');
define('SECURE_AUTH_SALT', ' l<^iY~P&#+0P<na]^I...');
define('LOGGED_IN_SALT', 'Lwn./_X+,9SMPLnIr!=...');
define('NONCE_SALT', '_tw9,.EJ-bd,o*I5X%u...');
/**#@-*/
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp_';
/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*
* その他のデバッグに利用できる定数についてはドキュメンテーションをご覧ください。
*
* @link https://ja.wordpress.org/support/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/* カスタム値は、この行と「編集が必要なのはここまでです」の行の間に追加してください。 */
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
/** 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';
WordPress のサイトヘルスに対応
ダッシュボードから「ツール -> サイトヘルス」を開いてみると、いくつかの致命的な問題とおすすめの改善が出ていた。対応しておきたい。
- REST API でエラーが発生しました
- サイトでループバックリクエストが完了できませんでした
この2つの問題は、不要なテーマを削除するといいらしい。保留としておく。
- 停止中のプラグインを削除してください
- 停止中のテーマを削除してください
この2つも、使わないプラグインやテーマを削除しておけというもの。とりあえず無視していい。たとえば「サイトには WordPress のデフォルトテーマ Twenty Twenty-Two と現在有効なテーマ Twenty Twenty-One を除いて、1個の停止中のテーマがあります。 サイトのセキュリティ向上のため、未使用のテーマの削除を検討してください」などと教えてくれる。
- 1つ以上の推奨モジュールが存在しません
詳細をみると「モジュール imagickとintlがインストールされていないか、無効化されている」と言っている。php.ini を修正した。intl はコメントを外すだけでよい。imagick は、行を追加した。
;extension=intl
extension=intl
extension=imagick
php_imagick.dll は、標準のPHPには含まれていないので、別途ダウンロードして所定の場所に配置する。私は、https://pecl.php.net/package/imagick からダウンロードして、DLLを C:\pleiades-xxx\xampp\php\ext に配置した。
- https://pecl.php.net/package/imagick にアクセス
- 「3.7.0 stable 2022-01-11 imagick-3.7.0.tgz」の隣にある「DLL」のリンクがWindows版である。紛らわしいので注意!
- PHP 7.4の「7.4 Thread Safe (TS) x64」をダウンロードする。NTS版やx86版を選ばないように!
- ダウンロードした php_imagick-3.7.0-7.4-ts-vc15-x64.zip を展開
- 展開した直下のフォルダに、
php_imagick.dll
がある - それを、C:\pleiades-xxx\xampp\php\ext にコピーする
Elcipseを再起動して、サービスを再開させ、「1つ以上の推奨モジュールが存在しません」のメッセージは消えた。
EclipseからPHPビルトインサーバーを使うとき
EclipseからPHPビルトインサーバーを起動して利用するとき、ポートが8488以外にならないように、server.xmlで固定しておく必要がある。サーバーを一旦削除して、新たにサーバーを追加するような操作を行うと、新たなポートが割り当てられる。なので、サーバーを開始する前にserver.xmlを編集してポート番号を戻しておく。WordPressは、DB内の各所でURIとして「localhost:ポート番号」を埋め込んだまま保持しているようだ。そのため、ポートが変わるとアクセスできなくなる。何か、他に効率的なやり方があるのかな。
../ |
---|