nginx と PHP FPM と SquirrelMail で。
Ubuntu-11.10-server-amd64 で確認。
このトピックは Ubuntu で DNS サーバー Ubuntu で LDAP サーバー Ubuntu でメールサーバー の環境で動作するよう構成しています。
作成 2012.03.25
更新 2012.03.31
更新 2012.03.31
Ubuntu で Web メールサーバー
構成
ホスト名 | IP アドレス | 用途 |
dns | 192.168.0.102 | DNS サーバー 構築済み |
ldap | 192.168.0.103 | LDAP サーバー 構築済み |
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 を編集する。
ユーザー権限・グループ権限は 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 設定部分のみ
起動ユーザーは 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';
実行結果