Debian上で一時的にWordPressをSQLiteを使って動かす

_ Debianを使ってて手元で一時的にWordPressを動かしたいときがあります。Dockerを使ってもいいですが少し面倒です。そういう場合、PHP内蔵サーバーとSQLiteを使えばWordPressを動かせます。
コマンドライン版PHPとSQLiteライブラリをインストールします。
sudo apt install php-cli php-sqlite3
WordPressのzipファイルとWordPressをSQLiteで使うためのwp-sqlite-dbをダウンロードして展開します。
展開したwp-sqlite-dbのフォルダのsrc/db.php
を、WordPressのwp-contentフォルダにコピーします。
cp wp-sqlite-db-1.1.0/src/db.php wordpress/wp-content/
wp-sqlite-dbアーカイブのダウンロードが面倒な人は、GitHubにあるdb.php
ファイルをwgetでダウンロードして直接wordpressのフォルダーにコピーしても構いません。
wget https://raw.githubusercontent.com/aaemnnosttv/wp-sqlite-db/master/src/db.php -O wordpress/wp-content/db.php
wordpressのフォルダに入って、wp-config-sample.php
をwp-config.php
にコピーします。
cd wordpress/
cp wp-config-sample.php wp-config.php
そしてブラウザで https://api.wordpress.org/secret-key/1.1/salt/ にアクセスしてユニークキーを生成したら、wp-config.php
をエディタで開き、以下のユニークキー部分を生成したユニークキーと置き換えます。
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
以下のコマンドでPHPのWebサーバーを起動します。
php -S localhost:8000
ブラウザでhttp://localhost:8000/にアクセスすればWordPressが使えます(といってもジャーナルを設定しなければ遅いけど)。
おまけ: Sqlite3のジャーナルモードを変更する
これで使えますがジャーナルモードがdelete
なのでめちゃくちゃ遅いです。Sqliteデータベースのジャーナルモードをwalにすると高速にアクセスできます。
注: walモードはローカルで利用するだけなら大丈夫ですが、高速になる分、弊害もあるので変更前にSqliteのドキュメントを読んでください。
Sqlite3のコマンドラインを使うのでsqlite3をインストールします。
apt install sqlite3
sqlite3
コマンドを使ってwp-content
にあるデータベースのジャーナル設定を変更します。
sqlite3 wp-content/database/.ht.sqlite "PRAGMA journal_mode=wal"