26 January 2008

SquirrelMailの設定 on Fedora 8

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

Deny from All