Joomla構築

Windows環境のセットアップって殆ど情報がないのでメモ。
突貫工事で何とか動いたっつーレベルなので、他の人にはお勧めしない。つーかできない。

環境

CPU: Pentium3 750
RAM: 256Mbyte
OS: Windows 2000 SP4
HTTPサーバー:Apache 2.0.55
DBサーバー: MySQL 4.1.18
PHP: PHP 4.4.2
アプリケーション:joomla1.0.7 日本語版

Apache2インストール

特に設定なし。
ブラウザでアクセスして、例の画面が出たので完了。

PHPセットアップ

ダウンロードしてきたzipファイルを適当なフォルダに解凍。(例:C:\PHP\PHP4_4_2)
php.ini-distファイルをphp.iniにリネームして編集開始。
まずPaths and Directionを以下のように編集。

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = ".;c:\[PHP_install_dir]\includes"

doc_root(Apache2のドキュメント・ルート)を以下のように編集。
拡張モジュールのディレクトリを追加。

doc_root = "[Apache_install_dir]\htdocs"

mbstingのセミコロンを外す。

extension=php_mbstring.dll

編集したphp.iniファイルをC:\WINNTにペースト*1
php4ts.dllをWINNT\System32にペースト。

Apache2-PHP4.4.2セットアップ

[Apache_install_dir]\conf\httpd.confを編集。
LoadModuleにphp4Apache2.dllを追記。

LoadModule php4_module [PHP_install_dir]sapi\php5apache2.dll

DirectoryIndexにindex.phpを追記。

DirectoryIndex index.html index.html.var index.php

Mime設定にPHP関連を追記。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

ここまでやって、phpinfo()で動作環境が表示されたので完了。

MySQLインストール

基本はほぼデフォルトのままインストール。
インストール先を変更するくらい。(例:C:\mysql\mysql4_1_18)
パラメータは特に変更せず、そのままインストール。
コマンドラインからアクセスできればOK。

MySQLセットアップ

[MySQL_install_dir]以下のmy.iniファイルを編集。
[mysqld]以下に

old-passwords

を追加。
他は変更なし。
rootのパスワードをコマンドラインから

set password for root@localhost = password('hogehoge');

で旧形式のパスワードに変更。

joomlaインストール

[Apache_install_dir]\htdocs以下にjoomlaフォルダを作成。
配布されているjoomlaのzipファイルを解凍して全部放り込む。
Apache再起動後、ブラウザからhttp://localhost/joomla/installationにアクセスして現在のPHPの環境がjoomlaに適合しているか確認。
適合するまで、php.iniを編集→Apacheを再起動→joomlaから確認を繰り返す。
データベース名は、MySQL内の他のデータベース名と被らなければ良さそう。

joomlaセットアップ

このままでも動作するが、CSSへのリンクが正常に設定されないのでconfiguration.phpを編集。
mosconfig_live_siteにhttp://マシン名/joomlaを設定。
以上で、突貫工事完了。

問題点

記事自体は文字化けを起こさないが、投稿日時が未だ文字化け……

考察

配布ファイルをそのまま使う場合

結局、PHP-MySQL間をUTF-8でやり取りするのが良さそう。
下手にMySQLをShift-JIS化すると、盛大な文字化けが発生*2

MySQL Shift-JIS化時の文字化け

joomlaインストール時のファイルがUTF-8なので、Shift-JISに変換しておけばMySQLがShift-JISでも文字化けしなかったのでは?

課題

Apache2 設定の詳細化
SSL導入
MySQL チューニング
PHP php.iniファイルの詳細設定

結論

文字コードの面倒さを考えると、Linuxで運用すべき。
来期にはLinux化したほうが良さそう。
あと、joomlaの軽さには驚き。

*1:[PHP_install_dir]にあるphp.iniを消し忘れててうまく動作しなかったのは秘密。

*2:DBに挿入するサンプル用のレコードがUTF-8エンコードされてるので