Fedora 8 のサーバ上に、Squirrelmail を設定する。
httpd サーバのインストール(これはデフォルトでインストール済み)、phpおよびphpマルチバイト文字モジュールのインストールを行う。
[root@localhost ~]# yum install php php-mbstring
Squirrelmailの日本語サイトより、最新のパッケージをダウンロードし、/var/www/html/… のフォルダ下辺りに解凍する。
[root@localhost ~]# cd /var/www/html
[root@localhost html]# tar xvf squirrelmail-1.4.13.tar.gz
[root@localhost html]# mv squirrelmail-1.4.13 webmail
[root@localhost html]# cd webmail ← 分かりやすい適当なディレクトリ名に変更
ディレクトリのパーミッション初期設定を行う
[root@localhost html]# mkdir webmail/attach ← 添付ファイル用ディレクトリ作成 (config/conf.pl でこのディレクトリを指定する)
[root@localhost html]# chown -R www_user:www_group webmail ← webmail以下全てのファイルとディレクトリをapache実行ユーザ:グループに変更
[root@localhost webmail]# chmod 730 data ← Squirrelmail 公式サイトの指定するパーミッションに変更
[root@localhost webmail]# chmod 730 attach
設定スクリプトを実行して、最低限の設定を行う (2のサーバ設定だけ行えば、アクセスくらいは出来る)
[root@localhost webmail]# cd config
[root@localhost config]# ./conf.pl
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings ← ここでIMAPサーバ、SMTPサーバの設定を行う
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color off
S Save data
Q Quit
Command >>
で、アクセスしてみるとエラー。(他のサーバで問題なく動いている設定をコピーしてもエラー)
"ERROR"
"You must be logged in to access this page."
/var/log/httpd/error_log を見てみると…
/var/log/httpd/error_log
[Sat Jan 26 09:17:19 2008] [error] [client 192.168.1.111] PHP Warning: session_write_clos
e() [<a href='function.session-write-close'>function.session-write-close]: open(/var/l
ib/php/session/sess_kg6hjjh8ahfkgnirmenl9m3h57, O_RDWR) failed: Permission denied (13) in
/var/www/html/sqmail/functions/auth.php on line 70, referer: http://192.168.1.115/sqmail/s
rc/login.php
phpのセッション一時ファイルが開けないようだ。
[root@localhost config]# cd /var/lib/php
[root@localhost php]# ll
合計 8
drwxrwx--- 2 root apache 4096 2007-10-16 22:20 session
[root@localhost php]# chown root:www_group session/
[root@localhost php]# ll
合計 8
drwxrwx--- 2 root www_group 4096 2007-10-16 22:20 session
この問題は、Apacheの実行ユーザを標準から変えている場合のみ起こるから、公式サイトには解決法の説明が無いのだろう。
最後に、設定ファイルのあるフォルダをwebからブラウズ出来ないように、.htaccessファイルを設定する。
/var/www/html/webmail/attach
/var/www/html/webmail/data
/var/www/html/webmail/config
/var/www/html/webmail/data
/var/www/html/webmail/config
Deny from All