作成 2012.03.25
更新 2012.03.31
Ubuntu で Web メールサーバー
nginx と PHP FPM と SquirrelMail で。
Ubuntu-11.10-server-amd64 で確認。
このトピックは Ubuntu で DNS サーバー Ubuntu で LDAP サーバー Ubuntu でメールサーバー の環境で動作するよう構成しています。
目次
構成
FastCGI
インストール
設定
ログ
Web サーバー
インストール
設定
サービス起動
ログ
Web メール
インストール
設定
実行結果
構成
ホスト名 IP アドレス 用途
dns 192.168.0.102 DNS サーバー 構築済み
ldap 192.168.0.103 LDAP サーバー 構築済み
mail 192.168.0.104 SMTP, IMAP4 サーバー 構築済み
webmail 192.168.0.105 Web メールサーバー
FastCGI
インストール
$ sudo apt-get install php5-fpm php5 php5-cli
インストール時に 127.0.0.1:9000/TCP で起動する。
設定
/etc/php5/fpm/php-fpm.conf が設定ファイルの本体だが、実態は /etc/php5/fpm/pool.d/www.conf に記述されている。
ユーザー権限・グループ権限は www-data/www-data で実行される。変更する場合は www.conf を編集する。
ログ
ログは /var/log/php5-fpm.log へ記録される。
Web サーバー
インストール
$ sudo apt-get install nginx
設定
/etc/nginx/nginx.conf が設定ファイルの本体だが、実態は /etc/nginx/sites-available/default に記述されている。
起動ユーザーは php5-fpm と同じく www-data となっており、変更する場合は nginx.conf を編集する。
/etc/nginx/sites-available/default 設定部分のみ
server {
        root /usr/share/nginx/www;
        index index.html index.htm;
        server_name webmail.example.com;
        location / {
                try_files $uri $uri/ /index.html;
        }
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}
/etc/nginx/fastcgi_params デフォルト
fastcgi_param   QUERY_STRING            $query_string;
fastcgi_param   REQUEST_METHOD          $request_method;
fastcgi_param   CONTENT_TYPE            $content_type;
fastcgi_param   CONTENT_LENGTH          $content_length;

fastcgi_param   SCRIPT_FILENAME         $request_filename;
fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
fastcgi_param   REQUEST_URI             $request_uri;
fastcgi_param   DOCUMENT_URI            $document_uri;
fastcgi_param   DOCUMENT_ROOT           $document_root;
fastcgi_param   SERVER_PROTOCOL         $server_protocol;

fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;

fastcgi_param   REMOTE_ADDR             $remote_addr;
fastcgi_param   REMOTE_PORT             $remote_port;
fastcgi_param   SERVER_ADDR             $server_addr;
fastcgi_param   SERVER_PORT             $server_port;
fastcgi_param   SERVER_NAME             $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param   REDIRECT_STATUS         200;
サービス起動
$ sudo service nginx start
ログ
ログは /var/log/nginx/access.log/var/log/nginx/error.log へ記録される。
Web メール
インストール
2行目は提案パッケージ
$ sudo apt-get install squirrelmail squirrelmail-locales php-gettext php5-cgi php-xml-parser
$ sudo apt-get install emacsen-common jed-extra spell squirrelmail-decode php5-recode php-pear php5-ldap
設定
/etc/nginx/sites-available/default 変更部分のみ
        # root /usr/share/nginx/www;
        root /usr/share/squirrelmail;

        location ~ configtest\.php$ {
                allow 192.168.0.0/24;
                allow 127.0.0.1;
                deny all;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }
$ sudo service nginx reload
/etc/squirrelmail/config_local.php
$squirrelmail_default_language = 'ja_JP';
$default_charset       = 'utf-8';
$imapServerAddress      = '192.168.0.104';
$smtpServerAddress      = '192.168.0.104';
実行結果
SquirrelMailのユーザー認証画面は IMAP4 の認証が利用される。
あとは見た目が…テーマはたくさんあるのに Default が比較的ましな部類。
SquirrelMail
タグ: Ubuntu Mail

©2004-2017 UPKEN IPv4