Debian GNU/Linux 7 Wheezy サーバ上の Web メールシステム SquirrelMail を Web サーバ Nginx で運用する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。

0. 前提条件

  • Debian GNU/Linux 7.1.0 での作業を想定。
  • Web サーバは Nginx を想定。
  • SMTP サーバ Postfix 構築済み。
  • IMAP サーバ Dovecot 構築済み。

1. PHP を Nginx と連携

以下の当ブログ過去記事を参考に PHP を Nginx と連携させる。("PHP5-FPM" 使用)

2. Nginx 設定

Nginx の設定ファイル “/usr/local/nginx/conf/nginx.conf” を以下のように編集する。(HTTPS 用ディレクティブ内に追記する) (環境の違いによりディレクトリ構成が異なる場合、適宜読み替える。また、PHP5-FPM との連携は TCP ポートではなくソケットを使用している)

File: /usr/local/nginx/conf/nginx.conf

 1 http {
 2     # HTTPS server
 3     server {
 4 
 5         # Squirrel Mail
 6         location /squirrelmail {
 7             root /usr/share/;
 8             index index.php index.html index.htm;
 9             location ~ ^/squirrelmail/(.+\.php)$ {
10                 try_files $uri =404;
11                 root /usr/share/;
12                 #fastcgi_pass 127.0.0.1:9000;
13                 fastcgi_pass   unix:/var/run/php5-fpm.sock;
14                 fastcgi_index index.php;
15                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
16                 include fastcgi_params;
17             }
18             location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
19                 root /usr/share/;
20             }
21         }
22         location /webmail {
23             rewrite ^/* /squirrelmail last;
24         }
25 
26     }
27 }

3. Nginx 再起動

設定を有効化するために Nginx を再起動する。

1
2
3
# /etc/init.d/nginx restart
Restarting Nginx Daemon: nginx
Restarting Nginx Daemon: nginx.

4. 動作確認

ブラウザで https://<Webサーバのホスト名 or IP アドレス>/webmail にアクセスし、ログインできること等を確認する。

うまく行かなければ設定を見直してみる。(特に Nginx の設定ファイルは、説明しているサイトにより記述方法が異なっているので。ソケットやディレクトリの指定等)

参考サイト


以上。