IRORIBATA

その他あれこれ

システム要件

2009年1月30日 2025年9月20日 更新
IRORIBATAを動かすためのシステムの条件についての情報です。


その昔、ホームページの作り方としていわゆるLAMP構成というのがいいと言われ、流行りはじめました。
 L ... Linux ...(OS)
 A ... Apache ..(WEBサーバー)
 M ... MySQL ...(データサーバー)
 P ... PHP .....(プログラム言語)
です。
現在でもこの構成はホームページ作成の基本として引き継がれているようです。

IRORIBATAはまさにこの構成です。
オーソドックスで無理がなく、またソフト類もこの構成が標準的なものとして構築が楽なように考慮されています。
ただデータサーバーはよほどの規模のサイトでなければSQLiteでも充分です。

OS
OSはLinuxです。Windowsでは試していません。
開始当初VineLinux4.2を使用していました。サーバーのディフォルト言語はEUC-JPでした。

その後CentOS5, 6, 7 を使い、ディフォルトの言語はUTF8に変わりました。
サーバーはディフォルト以外でもちゃんと指定すればどの言語でもかまいませんが、今後UTF8が主流になると思われたのでファイルをUTF8に変換しました。

他のLinuxでもさほど大きな問題はないと思います。

アプリケーション構成
以下のアプリケーションがインストールされ、稼働(待機)している必要があります。
アプリケーション 参考情報(2023年3月現在)
apache2apache1系では試していません。バージョンは当初2.2、現在は2.4です。
php-apache2
php-pdo
php-mysql
php-sqlite
phpは5以前のバージョンでの確認はしていません。現在は7.4です。
php8.1での動作確認で少し問題が出ましたが鋭意修正して今は問題ありません。
データベースとしてMySQLあるいはSQLiteを使います。
ただしよほど大きなサイトでない限りMySQLはめんどうで、SQLiteで充分です。
MySQL-server
MySQL-shared
MySQLを使う場合、MySQLのバージョンは5.6、あるいは8.0です。
MySQLについては他にMySQL-client,MySQL-embeddedが入っていますが本当に必要かどうかはよくわかりません。
shellbashなど。ファイル関係の操作や各種コマンドの起動に使用します。
よく使うコマンドはwhois, convertなど。
ImageMagickconvertコマンドをjpg以外の画像ファイルのサイズ変換等に使用しています。
必ずしも絶対必要ではありません。
postfix または
sendmail
メールによるコメント投稿通知に使用します。
メールによる投稿通知をしないなら不要です。

HTTPサーバー Apache
以下の条件が必要です。
1)PHPがapacheのモジュールもしくはcgiとして動作すること。
2)IRORIBATAをインストールしたサイトについて、AllowOverride Allで.htaccessが許可されていること。
3)できれば細かい制御ができるようにいくつかのモジュールが有効になっており使えること。
headers_module : Header Set でロボットアクセス制御などに使用。
expires_module : キャッシュ制御に使用。
rewrite_module : http:// を https:// に書き換え。 など。
あとはほとんどVineLinux, CentOS、Ubuntuなどのディフォルトのままで動作していますが、ディストリビューションによって追加や変更が必要かもしれません。

関係ありそうなhttpd.confの設定部分は、
AccessFileName .htaccess # .htaccess 使います。
HostnameLookups On # アクセスログにホスト名を記録します。
といったところです。

言語モジュール php
phpの設定ファイルphp.iniはほとんどディフォルトのままですが、一部変更しています。

;;default_charsetを指定するとShift-JISの古いページが文字化けする。
;;指定しなければそれなりに判断して処理してくれるようだ。
default_charset =

IRORIBATAには昔作った古いページなどもそのまま取り込んで表示する機能がありますが、昔のShift-JISのページが思い切り文字化けしてしまいました。
その対策として、上記php.iniのdefault-charsetの指定を変えました。

SQLデータサーバー
いちおうLAMP構成ではMySQLを使うことにはなっていますが、一日100人が見にくるかどうかといった個人のホームページで何千ページものサイトを作るのでもなければSQLiteで充分です。
MySQLもやってみたのは実を言うと単に技術的興味からだけでした。
SQLiteならデータサーバーに関して準備は特にいりません。

このサイトはSQLiteで動いています。
SQLiteの利点はサイトのフォルダをそっくり別のサーバーにコピーして少し調整すればサイトの移動やバックアップがわりと簡単にできてしまうことです。