PHPのビルトインウェブサーバーとSQLiteでWordPressを動かせないかな? と思って調べてみたところ、「SQLite Integration」というプラグインを使えばできることが分かりました。
PHP(5.4.0以降)でビルトインウェブサーバーを使う - Sprint Life
実行環境
- Windows 7 Professional 64bit
- PHP 5.5.10(ビルトインウェブサーバーを使用するため5.4.0以降)
- WordPress 3.8.1 日本語版
手順
- WordPress本体をダウンロード
- プラグイン「SQLite Integration」をダウンロード
- インストール前の準備
- WordPressのインストール
PHP本体のインストールとPATHの設定については省略しています。
WordPress本体をダウンロード
実行環境のところにも書きましたが、今回ダウンロードしたのは日本語版の3.8.1です。
プラグイン「SQLite Integration」をダウンロード
「SQLite Integration」はWordPressのDBとしてSQLiteを使うためのプラグインです。 通常のプラグインとは異なり、WordPressのインストール時にも使用する必要があります。
WordPress › SQLite Integration « WordPress Plugins
プラグインの詳細については以下のページを参照してください。
SQLite Integration(ja) | ユニマージュ
インストール前の準備
php.iniの編集
PHPでSQLiteを扱えるようにするため、php.iniの以下の行を変更します。
変更前: ;extension=php_pdo_sqlite.dll 変更後: extension=php_pdo_sqlite.dll
PHP本体をCドライブ以外にインストールしている場合は、 extension_dirを変更します。正しく設定できていないと、 PHPやサーバーの起動時に「指定されたモジュールが見つかりません」 というエラーが出るはずです。
変更前: ; On windows: ; extension_dir = "ext" 変更後: ; On windows: extension_dir = T:\php\ext
T:\php\のところはPHPをインストールしたフォルダのパスに置き換えてください。
WordPress本体とプラグインのファイルを展開
WordPress本体とプラグインを、サーバーのドキュメントルートにするフォルダにファイルを展開します。 サーバーを起動したフォルダがドキュメントルートになるので、展開先は任意の場所でかまいません。
- ダウンロードしたWordPress本体およびプラグインのファイルを展開する
- 展開してできたプラグインのフォルダをwordpress\wp-content\pluginsに置く
- プラグインのフォルダ内にあるdb.phpをwordpress\wp-contentにコピー
wp-config.phpの編集
wordpress\wp-config-sample.phpのファイル名をwp-config.phpに変更します。
リンク先にあるオンラインジェネレータで表示された内容をコピーして、 wp-config.php内にある以下の認証用のユニークキーを上書きします。
wp-config.php の編集 - WordPress Codex 日本語版
上書きする箇所
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');
ローカルでしか使わないのでテーブルの接頭辞は変更しなくても問題ありませんが、 ここではwp_local_としました。
$table_prefix = 'wp_local_';
データベースのファイルは、wordpress\wp-content\database.ht.sqliteが作成されます。 プラグインのオプションでMySQLとSQLiteを切り替えて使用したり、データベースのファイルを 保存するフォルダやファイル名を変更できますが、今回は設定していません。
ここまでできればインストールが可能です。
WordPressのインストール
PHPのビルトインウェブサーバーを起動して、http://localhost:8000/wordpress/wp-admin/install.phpにアクセスします。
php -S localhost:8000
サイトのタイトル、ユーザー名、パスワード、メールアドレスを入力します。 「検索エンジンのインデックスを許可する」はチェックを外してください。
「WordPressをインストール」のボタンをクリックします。
インストールが完了しました。
サーバーがApacheではないため警告メッセージとかぶってますが、左下にある「ログイン」ボタンをクリックします。 もしボタンをクリックしても反応がなければ、ウインドウのサイズを変更してボタンが見えるようにするか、 Tabキーを押してボタンにフォーカスを当ててEnterキーを。
インストール時に作成したユーザーでログインします。
問題がなければ管理画面が開けるはずです。
テスト投稿も完了。とりあえずこれでWordPressが使えるようになりました。
注意点としては以下の通りです。
- ビルトインウェブサーバーは一般に公開するための機能ではないので、ローカルでの利用にとどめてください。
- .htaccessなどApache特有の機能は使えません。パーマリンクの投稿名が日本語だとページが見つからなくなります。
- SQL Integrationの利用により正常に動作しないプラグインがあるので、互換性や回避策はユニマージュさんのページを参照してください。
WordPressが公式にSQLiteをサポートしない現状では、SQLite Integrationへの依存度が高くなりますが、 ローカルにWordPressを構築する選択肢の一つとしていかがでしょうか。