ワードプレス4.8をMySQLサーバーを使わずにファイル型データベースSQLite3で動かす手順をご紹介します。
手順だけ知りたい方は、
こちらからどうぞ。
ワードプレスとは
ワードプレスは、オープンソースで公開されている無料のコンテンツマネージメントシステムです。
コンテンツマネージメントシステム(CMS)といっても、イントラ<=>インターネット間の同期や情報の公開承認機構など高度なシステムではありません。
インターネット上に公開したサイトに対する記事やページを管理することができるシステムです。
ワードプレスは、テーマを変えることでデザインの変更や機能拡張が可能です。
さらに、世界中の人が公開しているプラグインをインストールすることでさらなる機能拡張が可能です。
ブログからEコーマースサイトまでサポートすることが可能です。
ワードプレスは、ApacheもしくはNginx・IISのHTTPサーバー上で動作させることができます。
実行には、PHP5またはPHP7のモジュールと通常MySQL5.6以降(データベースサーバー)またはMariaDB10.0以降が必要になります。
MySQLの他に、PostgreSQLをご利用することも可能です。
PostgreSQLは、
PostgreSQL for Wordpressプラグインを利用するのが簡単です。
SQLServerはPHP用ドライバーがあります。ただプラグイン等はないので、
上記のようなプラグインを参考にしながらプラグインを作る必要があります。
(ワードプレスコアは、速いサイクルで更新されています。そのためコアの変更はおすすめできません)
ワードプレス4.8をSQLite3で動かすデメリットとメリット
ワードプレスはMySQLデータベースサーバーを使って動かすことが前提となっています。
これをSQLite3を使って実現する方法は自前でやる以外の方法で、2つあります。
- PDO (SQLite) For WordPress
長らく更新されていません。
- SQLite Integration
ここ最近更新されていません
どちらもワードプレスのプラグインを使った方法です。
今回ご紹介する最新ワードプレス4.8でSQLite3で動かす手順は、SQLite Integrationを利用します。
ワードプレスをSQLite3で動かすデメリットはあるの?
あります!
まずSQLite3のデメリットがあります。
SQLite3は参照系(select)やInsert(新規追加)が高速!という特徴があります。
一方、更新系(Update)や削除(Delete)は遅いので、大きなサイトには向かないです。
これ以外にワードプレスをSQLite3で動かすデメリットは、以下の通りです。
- 1)表面上は動くのに、深いところで動作しない可能性がある
ワードプレスは、テーマやプラグインで拡張できるとご紹介しました。
ワードプレスには、テーマやプラグインからアクセスできるよう共通関数やヘルパクラスなどが用意されています。
テーマやプラグインのソースコードは、名前空間の衝突さえなければ、ほぼ自由に創ることができます。
そのため、保守性が高いソースコードもあれば、保守性をあまり考えていないソースコードもあります。
データベースを利用する箇所がMySQLソースの直書きのような場合、その機能を使うタイミングでないと動く動かないの見定めがわかりにくいです。
- 2)サイト解析プラグインや訪問者アクセスチェックなどのプラグインは避けた方が無難
SQLite3は注意深く設計してもdatabase lockが発生しやすいと感じています。
記事の投稿・更新などは複数人同時更新は避けた方が無難です。
これと同じ理由で、訪問者が訪れた場合にデータベースへアクセスしてきたページや訪問者の画面サイズなどを記録するサイト解析系プラグイン、アクセスチェックなどのツールは避けた方が無難です。
また、テーマによっては、アクセス数をカウントする機能が盛り込まれたものがあります。同様の理由で避けた方が無難です。
動かすことは可能です。複数同時実行の際、予期しないエラーが発生しやすいです。
- 3)不具合が起きた場合、情報が少ないため自力解決が基本
全て自己責任です。
ワードプレスの高速化目的の場合、SQLite3で動かすメリットはありません。高速化の場合、高機能キャッシュプラグインはほぼほぼ使えないのでデメリットしかありません。
ワードプレスをSQLite3で動かすメリットって何?
デメリットしかなさそうなSQLite3を利用したワードプレスですが、メリットってあるんでしょうか?
あります!これから2つのメリットをご紹介します。
- 1)データベースの移動が簡単
SQLite3はファイル型データベースです。SQLite Integrationプラグインは1つのSQLite3データベースファイルを利用します。
ローカルで確認してリモートへアップしたい、リモートにアップした内容をローカルで確認したい、こういった場合、SQLite3が大きな武器になります。
1つのファイルを移動するだけ、ローカル<=>リモートのデータベース同期が可能になります。
MySQLの場合、ダンプ=>インポートで同じようなことができます。
- 2)激安レンタルサーバーにワードプレスが設置できる
激安レンタルサーバーの中には、ワードプレスが動く!っていうサーバーもあります。
ただ、多くは、PHPは動作する、MySQLは提供なしというパターンが多いです。
MySQLなしでワードプレスを動かす選択肢として、SQLite3のメリットがあります。
わざわざ激安サーバーでワードプレスを動かすメリットがあるの?賢威のHTMテンプレートやSIRIUSでいいんじゃない?
メリットはあります。
ワードプレスは、Accelerated Mobile Pages (アクセラレーテッド・モバイル・ページ、 AMP) をプラグインを導入するだけで構築することができます。
AMPプラグインは無料です。
知らない方のための賢威、SIRIUSのご紹介
賢威はHTMテンプレートとワードプレステンプレートがいつでもダウンロードして使うことができます。
SEOに強いってよく言われています。
SIRIUSは、次世代型サイト作成システム、Windowsでテキスト記事を書くだけで立派なHTMLサイトが作れてしまうツールです。
どちらも甲乙つけがたい優れたツールです。
持っている方は活用した方が良いでしょうし、
持っていない方はそれほど高額ではないので購入した方が良いと思います。
賢威は、7系テンプレートと6系テンプレートがご利用可能です。
7系のテンプレートは、6種類【クール版、ビューティ版、プリティ版、コーポレート版、スタンダード版、ストーリー版(近日リリース予定)】でそれぞれHTML版、ワードプレス版があります。
6系のテンプレートは、5種類【コーポレート版、クール版、プリティ版、ヘルシー版、マネー版】でそれぞれHTML版、ワードプレス版があります。
7系のテンプレート、6系のテンプレートはそれぞれ共通化されています。
6種類、5種類とデザインを切り替えることができるのですが、
HTMLの構造は、共通化されている関係で、7系で1つ、6系で1つといったイメージになります。
SIRIUSは、デフォルト、ビジネス、レスポンシブ、角丸タイプの4つからオレンジ(1/2/3カラム)、グリーン・・・などの色とカラムタイプが選べます。
HTMLの構造はどれもほとんど同一に近いです。
一方ワードプレスは、292,000を超えるテーマがあります。
テーマを変えることで様々なHTML構造に簡単に変更できるというメリットがあります。
ワードプレス4.8をSQLite3で動かす手順
本記事は、すでにMySQLで動作させているワードプレスサイトは対象にしていません。
MySQLがない環境で新たにワードプレスサイトを立ち上げる手順です。
sshログインできるサーバー、FTPのみのサーバーと環境に依存する部分があります。
サーバーに依存しない基本的な手順と、sshできる環境での手順、FTPのみの環境での手順をご説明します。
【ワードプレスを正常に実行させる必須の要件】
- Apacheのmod_rewriteモジュールが動作する環境(Apache or Nginx )
- htaccessファイルが設置可能である
これら必須要件と、合わせてPHP7以降(ワードプレス4.8の推奨要件より)が動作する環境が望ましいです。
【SQLite Integrationを正常に実行させる必須の要件】
- PDO extensionが有効(PHP5.3以上)
- PDO SQLiteが使える
レンタルサーバーの確認方法
レンタルサーバー各社の公式サイトでPHPのバージョンやMySQLのバージョンが確認できます。
ただPDO extensionが有効なのか、PDO SQLiteが使えるのか、ちょっと深い情報になると開示状況はまちまちです。
こちらで
格安レンタルサーバーの比較を紹介しています。
どこでも1、2週間の間はお試し利用が可能です。深い情報は実際に使ってみて確認するのが一番早いです。
無料期間中に以下PHPファイルを配置して確認しましょう。
ファイル名:test.php(ご自由です)
<?php
phpinfo();
初期ドメインでアクセスできるフォルダ直下にtest.phpを配置してください。
ブラウザで「初期ドメイン/test.php」にアクセスすることで状態が確認できます。
【phpinfoで確認する項目】
- PDO drivers で検索します。
enabledにsqliteがあることを確認します。
- SQLiteのバージョンの確認は必須ではありません。
SQLite Library で検索します。
enabledにある値がご利用できるSQLiteのバージョンです
基本の手順
手順1 ワードプレスの最新版のダウンロード
ワードプレスの日本語版の最新ダウンロード先から最新版をダウンロードします。
現在の最新版はワードプレス4.8です。
ZIPファイル:
https://ja.wordpress.org/latest-ja.ziptgzファイル:
https://ja.wordpress.org/latest-ja.tar.gz手順2 ダウンロードしたワードプレスの展開
取得したワードプレスは圧縮されています。
拡張子に則した方法でワードプレスを解凍します。
手順3 SQLite Integrationプラグインのダウンロード
入手先:
SQLite Integration直リンク:
https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip手順4 SQLite Integrationプラグインの展開と設定
Windowsはエクスプローラー標準機能で解凍できます。Linux系の場合は、unzipコマンドで解凍できます。
展開先:wordpress/wp-content/plugins/
展開後、以下フォルダがあることを確認します。
展開後:wordpress/wp-content/plugins/sqlite-integration/
【必須の設定】
wordpress/wp-content/plugins/sqlite-integration/db.phpファイルをコピーします
コピー先:wordpress/wp-content/db.php必須の設定は、ここれだけです。オプションとしてSQLiteのファイル名を変更する、フォルダを変更する方法があります。次の「
手順5 ワードプレスの設定」で説明しています。
手順5 ワードプレスの設定
最新版ワードプレスを展開するとwordpress/wp-config-sample.phpが解凍されています。
wordpress/wp-config-sample.phpをリネームします。
リネーム名:wordpress/wp-config.phpこれで準備完了です。
MySQLを使わないため、wp-config.phpを編集する必要はありません。
SQL Integration用の設定がいくつか可能です。
wp-config.phpを編集する際は、必ずUTF-8(BOMなし)で保存してください。【SQLiteのファイル名を変更する】DB_FILEでSQL IntegrationがアクセスするSQLite3データベースのファイル名を変更することができます。
wp-config.phpに追加します。
define('DB_FILE', 'your_database_name');
your_database_nameのままでも大丈夫です。
your_database_nameをお好きな名前に変更してください。
変更したwp-config.phpはサーバーにコピーしてください。
【SQLiteのフォルダを変更する】DB_DIRでSQL IntegrationがアクセスするSQLite3データベースのフォルダを変更することができます。
HTTPでアクセスできないフォルダを指定することでセキュリティが向上できます。
define('DB_DIR', '/home/youraccount/database_directory/');
手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定
サイトを公開したいサーバーへ設置します。
ドメインやフォルダの指定をコントロールパネルで指定後、
公開したURLにアクセスし、サイト名、管理者ユーザー名、管理者パスワードを指定します。
お疲れ様です。これで手順完了です。もし、アクセスしても真っ白な画面になってしまった場合、
ドメイン/wp-login.phpへアクセスしてみてください。
これでも真っ白画面の場合、wp-config.phpがBOM付きUTF-8で保存されている可能性があります。
文字コードを指定できるエディタ(sakura editor、秀丸エディタ等)でUTF-8(BOMなし)保存したものを
再アップロードし確認してみてください。
ワードプレス4.8をSQLite3で動かす手順【SSHでログイン編】
本手順は、Linux系コマンドを多用しています。
設定は、「
基本の手順」に従っています。よくわからない場合は、参照してください。
ご契約しているレンタルサーバーのコントロールパネルでワードプレスを動かしたいドメインの初期設定を行います。
初期設定で、~/ドメイン名/public_html/などのフォルダが自動生成されるかと思います。
後からフォルダを指定することで公開できるタイプのレンタルサーバーの場合は、省略して構いません。
これからご紹介するのは、
~/ドメイン名/public_html/にSQL Integrationを適用した最新ワードプレスを設定する流れになります。
1 sshでログインする
$ ssh レンタルサーバー
$ cd ~/ドメイン名/
2 必要なファイルをダウンロード
カレントフォルダは、~/ドメイン名/です。
$ curl -O https://ja.wordpress.org/latest-ja.tar.gz
$ curl -O https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip
3 展開(解凍)
カレントフォルダは、~/ドメイン名/です。
$ cd public_html
$ tar xvzf ../latest-ja.tar.gz --strip=1
$ mv wp-config-sample.php wp-config.php
$ cd wp-content/plugins/
$ unzip ../../../sqlite-integration.1.8.1.zip
$ cp -p db.php ../../.
公開フォルダがpublic_htmlではなく~/ドメイン名/方式の場合は、cd public_htmlは不要です。
4 必要な方はwp-config.phpを修正します
「
手順5 ワードプレスの設定」を参考に、SQLite Integrationのオプションを指定してください。
5 用済みのファイルを削除する
後始末です。
latest-ja.tar.gzファイル、sqlite-integration.1.8.1.zipファイルは使わないので、削除します。
必要な方は残しておいて構いません。
$ cd ~/ドメイン名/
$ rm latest-ja.tar.gz
$ rm sqlite-integration.*.zip
これでMySQLなしでSQLite3+最新ワードプレスの環境が整いました。
あとは、「
手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定」でワードプレスの初期設定を始めましょう!
ワードプレス4.8をSQLite3で動かす手順【FTPで転送編】
ご契約しているレンタルサーバーのコントロールパネルでワードプレスを動かしたいドメインの初期設定を行います。
初期設定で、~/ドメイン名/public_html/などのフォルダが自動生成されるかと思います。
後からフォルダを指定することで公開できるタイプのレンタルサーバーの場合は、省略して構いません。
これからご紹介するのは、
~/ドメイン名/public_html/にSQL Integrationを適用した最新ワードプレスを設定する流れになります。
Windows10 PCを使っていることを想定した流れです。
FTPソフトは、FFFTP Ver 1.99a-20170325などご利用ください。
1 必要なファイルをダウンロード
Chromeで以下URLのファイルをダウンロードします。
https://ja.wordpress.org/latest-ja.ziphttps://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zipMicrosoft Edgeは、ダウンロードできない場合があります。
wordpress.orgはwordpressの公式ドメインです。
3 展開(解凍)とコピー(その1)
Windows10のダウンロードフォルダにlatest.zip、sqlite-integration.1.8.1.zipを解凍します。
図のようにpluginsフォルダにsqlite-integrationを移動またはコピーします。
4 db.phpのコピー
図のようにplugins\sqlite-integration\db.phpをwordpress\wp-contentへコピーします。
5 必要な方はwp-config.phpを修正します
「
手順5 ワードプレスの設定」を参考に、SQLite Integrationのオプションを指定してください。
6 再圧縮
ご契約のレンタルサーバーのコントールパネルから、圧縮ファイルを解凍する機能はあるでしょうか?
解凍する機能がある場合、ワードプレス+SQLite3を整えた圧縮ファイルを作成した方がスムーズに進められます。
圧縮ファイルは1ファイルの転送で完了します。
もし、解凍する機能がない場合、生ファイルをFTP転送するため、
数多くのファイル転送を行うことになります。途中で失敗することもあるので、リトライしながらアップロードします。
FTPで転送できるように再圧縮します。
図のようにwordpressフォルダを全選択後、圧縮ファイルを作ります。
圧縮ファイル作成後、任意のファイル名に変更することができます。
7 FTPで公開サーバーへ転送する
FFFTPで公開サーバーに接続し、
ドメイン名/public_htmlへ移動します。
解凍機能があるレンタルサーバーの場合、index.zipをアップロードし、コントロールパネルから解凍してください。
解凍機能がないレンタルサーバーの場合、全ファイル選択後、アップロードしてください。
ファイル数が多いので、転送完了までにはしばらく時間がかかります。
これでMySQLなしでSQLite3+最新ワードプレスの環境が整いました。
あとは、「
手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定」でワードプレスの初期設定を始めましょう!