plugins:nucleus_sqlite

SQLite 版 Nucleus

 SQLite 版 Nucleus のインストール・及び使用方法に関する説明です。ここで言うSQLite 版 Nucleus とは、Nucleus のオフィシャルサイト(http://nucleuscms.org/ 及び http://japan.nucleuscms.org/)から取得した物に若干の改造を施し、私(Katsumi)が作成した SQLite-MySQLラッパーを付加してGPLのライセンスの元で配布している物であり、Nucleus のオフィシャルプロダクトではありません。その点、ご承知おきください。(開発者の方は、こちらもご覧ください。

General Plugin info
作者: Katsumi
最新のバージョン: SQLite ラッパ: ver 0.9.0
入手先: フォーラムから入手可能。SQLite ラッパのみはこちらから入手可能。
動作サンプル: 目から鱗 w/SQLite
フォーラム参照先: SQLite版Nucleus βバージョン

(English)

インストール方法

  • インストール方法は、MySQLを用いているオリジナルのNucleusと同じですが、次の点に注意してください。
  1. SQLiteには、MySQLに必要なユーザやパスワードといった概念がありませんので、これらの設定は必要有りません。
  2. 『nucleus/sqlite/』ディレクトリに『.dbsqlite』という名のファイルが作成され、このファイルがデータベースになります。『nucleus/sqlite/』ディレクトリのパーミッションを、読み書き可能な値(777など)にあらかじめ設定しておいてください。
  • インストールは、通常のNucleusと同じで、install.phpにブラウザでアクセスすることで行えます。このとき、『NP_SkinFiles』に加えて『NP_SQLite』がプラグインとしてインストールされるはずですが、もしインストールされていない場合は管理メニューのプラグイン管理でインストールしてください。
  • Nucleusコアのバージョンをアップグレードする際は、下の『アップグレードの際の注意点』を参照してください。

インストールに関して最も注意すべき事

  • 『nucleus/sqlite/』ディレクトリに作成されるファイル『.dbsqlite』にすべてのデータが格納されています。これが第3者に読み取られないように、『nucleus/sqlite/』ディレクトリのセキュリティーだけはしっかりと確認してください。一応、読み取られないようにする『.htaccess』を入れてありますが、インストール終了後に『http:your.site.com/your/path/nucleus/sqlite/.dbsqlite』(your, site, path 等の部分は、適宜変更してください)にブラウザでアクセスしてみて、アクセスできないことを確認してください。 * もしアクセスできるようであれば、webサーバ設定などで何らかの処置を施す必要があります。もし、『nucleus/sqlite/』以外のディレクトリに『.dbsqlite』をおく必要が有れば、『sqliteconfig.php』ファイルで『$SQLITECONF['DBFILENAME']='/home/yourname/.dbsqlite';』の例のように、フルパスで指定してください。この設定値はあくまで例です。『/home/yourname/』の部分は、適宜変更して設定してください。 =====インストールが終了したら===== * 使い方は、普通のNucleusと殆ど同じです。プラグインをインストールする際は、そのプラグインのPHPファイルのパーミッションを読み書き可能な値に設定してからインストールすることをお勧めします。このようにしておくと、必要なファイル変更がプラグインのインストールの際に自動的になされます。 =====アップデートの際の注意点===== * 基本的に、Nucleusコアのアップデートの方法はオリジナルのNucleusと同じですが、以下の点に注意することでSQLite版に特異的なトラブルの可能性をいくらか低減できます。 * まず、データベースのバックアップを取ります。SQLite版の場合は、FTPなどを用いて『nucleus/sqlite/.dbsqlite』ファイルをダウンロードして保存しておくのが、簡単で確実な方法です。 * アップグレードパッケージのうち、必要なものを上書きでアップロードします。 * アップデートスクリプトを実行する前に、NP_SQLite管理画面で『VACUUM』を実行します。これによりデータベースが最適化され、パフォーマンスがアップします。 * SQLite 2.8 を利用している場合は、NP_SQLite管理画面で『PRAGMA default_synchronous = OFF;』を実行してください。これにより、アップグレードスクリプト実行の際の速度の上昇が見込めます。SQLite 3の場合は必要有りません。 * 次に、アップグレードスクリプトを実行します。 * 最後に、SQLite 2.8 を利用している場合は、NP_SQLite管理画面で『PRAGMA default_synchronous = NORMAL;』を実行してください。SQLite 3の場合は必要有りません。 =====プラグインのインストール===== * プラグインのインストールの方法は、普通のNucleusと同じです。プラグインのPHPファイルのパーミッションを読み書き可能な値に設定してあれば、必要なファイル変更がインストール時に自動的になされます。 * プラグインをアップデートする際にファイルの上書きだけで済ませることがありますが、そういった場合はNP_SQLiteの管理画面から『プラグインのチェック』を選択してください。これを行わないと、プラグインが正常に機能しない場合があります。 =====NP_SQLite のオプション===== * 【管理の際、SQL クエリを使用しますか?】 『はい』に設定すると、管理画面で SQL クエリが使用できるようになります(デフォルトは『いいえ』)。 * 【データベース復元の際、一回あたり何個の SQL クエリを実行しますか?】 【データベース復元の際、接続の待ち時間は何秒にしますか?】 Nucleus サイト管理の『DB保存/復元』を用いてデータベースを復元する際の設定値です。 =====対応レンタルサーバ===== ==== さくらインターネット ==== <code>extension_dir = "/usr/local/lib/php/20020429/" extension = "sqlite.so"</code> php.iniに上記のように記述します。さくらではnucleus/sqlite/ ディレクトリのパーミッションを書き込み可に設定する必要はありません。 ==== xrea ==== <code>extension_dir = "/usr/local/lib/php/extensions/" extension=sqlite.so extension=sqlite3.so</code> php.iniに上記のように記述(※この記述が不要なサーバもあります)。 nucleus/sqlite/.dbsqlite ファイルをローカルであらかじめ作ってからサーバ上に転送し、パーミッションを606などに設定してからインストールを始めるとセーフモードの問題を回避できます。 ==== ロリポップ ==== サーバ側で必要な設定は特になし。 =====Tipsと裏技===== * NP_SQLite の管理画面にて、バキューム・インテグリティチェック・データベーステーブルの閲覧など、SQLite データベースに関する管理を行うことができます。テーブルを閲覧する場合はプラグインオプションの「管理の際、SQL クエリを使用しますか?」を「はい」にしておかないと一覧できません。 =====希望事項===== =====バグ===== * バグではありませんが、一部のプラグインに対応できない場合があります。そういった場合、プラグインを若干書き換えることになります。あるいは、依頼を出していただければSQLiteラッパの次期バージョンで対応できるかもしれません。 =====開発履歴===== * Version 0.77β リリース 2006-10-23 * おそらく最後のβバージョン * Version 0.8.0 リリース 2006-10-29 * 最初の正式バージョン * Nucleus 3.24 / SQLite 0.8.0 リリース 2006-11-17 * Nucleus 3.3 / SQLite 0.8.5 リリース 2007-05-03 * SQL クエリーのパフォーマンスがアップ(PRAGMA short_column_names=1の採用) * セキュリティー強化(『;』を用いた2行以上のクエリーの禁止など) * インストールの高速化 * バグフィックス * Nucleus 3.31 SP1 / SQLite 0.9.0 リリース 2007-02-06 * ALTER TABLE ルーチンをスクラッチから書き直し、バグを解消 * DESC 'table' 'field' および RENAME TABLE サポート * セキュリティー強化(SQL関数'php'のアンレジスター) * NP_SQLite管理画面で、クエリーを続けて実行する際に上下に空白行ができる問題を解消
 
plugins/nucleus_sqlite.txt · 最終更新: 2011/03/23 21:28 (外部編集)