作成 2012.03.26
更新 2012.04.28
Ubuntu で Web メールサーバー2
LAMP+RoundCube で。
Ubuntu-11.10-server-amd64 で確認。
このトピックは Ubuntu で DNS サーバー Ubuntu で LDAP サーバー Ubuntu でメールサーバー の環境で動作するよう構成しています。
目次
構成
インストール
設定
ログ
実行画面
構成
ホスト名 IP アドレス 用途
dns 192.168.0.102 DNS サーバー 構築済み
ldap 192.168.0.103 LDAP サーバー 構築済み
mail 192.168.0.104 SMTP, IMAP4 サーバー 構築済み
webmail2 192.168.0.106 Web メールサーバー
インストール
MySQL, Apache, PHP そして RoundCube をインストールする。
パッケージを全部まとめてインストールすると設定に矛盾が生じてインストールに失敗する。
$sudo apt-get install mysql-server mysql-client
$sudo apt-get install apache2 libapache2-mod-php5 zend-framework php-net-socket php5-mysql php5-mcrypt
$sudo apt-get install php-mdb2-driver-mysql
$sudo apt-get install roundcube
RoundCube インストール時に、使用するデータベースの問い合わせがある。mysql を選択。sqlite を選択すると、動作しなかった。
設定
MySQL 管理者パスワード exadmin
RoundCube 用 MySQL アプリケーションパスワード roundsql
設定
/etc/roundcube/apache.conf の Alias のコメントアウトを外す。
# Those aliases do not work properly with several hosts on your apache server
# Uncomment them to use it or adapt them to your configuration
Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube

# Access to tinymce files
<Directory "/usr/share/tinymce/www/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order allow,deny
      allow from all
</Directory>

<Directory /var/lib/roundcube/>
  Options +FollowSymLinks
  # This is needed to parse /var/lib/roundcube/.htaccess. See its
  # content before setting AllowOverride to None.
  AllowOverride All
  order allow,deny
  allow from all
</Directory>

# Protecting basic directories:
<Directory /var/lib/roundcube/config>
        Options -FollowSymLinks
        AllowOverride None
</Directory>

<Directory /var/lib/roundcube/temp>
        Options -FollowSymLinks
        AllowOverride None
        Order allow,deny
        Deny from all
</Directory>

<Directory /var/lib/roundcube/logs>
        Options -FollowSymLinks
        AllowOverride None
        Order allow,deny
        Deny from all
</Directory>
このファイルは、/etc/apache2/conf.d/roundcube からシンボリック リンクが貼られているため、編集後 Apache を再起動するだけで有効になる。
$ sudo service apache2 restart
/etc/roundcube/main.inc.php 変更部分のみ
$rcmail_config['default_host'] = 'mail.example.com';
$rcmail_config['smtp_server'] = '192.168.0.104';
default_host の設定は IMAP サーバーの接続先として使用されるだけでなく、ユーザーのメールアドレスのドメインとして使用される。つまり、user0001@mail.example.com がデフォルト値として設定される。
example.com をデフォルトにしたい場合は、/etc/hosts にアドレスを指定すればよい。
/etc/hosts に追記
192.168.0.104 mail.example.com example.com
/etc/roundcube/main.inc.php 修正
$rcmail_config['default_host'] = 'example.com';
ログ
Web サーバーに関するログは /var/log/apache2/ へ保存される。
RoundCube に関するログは /var/log/roundcube/ へ保存される。
実行画面
RoundCube の認証画面は IMAP4 の認証が利用されるため、Web メールサーバー側でユーザー登録する必要がない。
データベースにはアドレス帳や個人設定が保存される。
RoundCube
あと、コードが古いらしく以下のログが延々と記録される。
/var/log/roundcube/errors
[27-Mar-2012 00:31:40] PHP Deprecated:  Assigning the return value of new
 by reference is deprecated in /usr/share/php/MDB2.php on line 393
[27-Mar-2012 00:31:40] PHP Deprecated:  Assigning the return value of new
 by reference is deprecated in /usr/share/php/MDB2.php on line 2647
これを抑制するには、/usr/share/roundcube/program/include/iniset.php を以下の要領で修正する。
// ini_set('error_reporting', E_ALL&~E_NOTICE);
ini_set('error_reporting', E_ALL&~E_NOTICE&~E_DEPRECATED);
タグ: Ubuntu Mail

©2004-2017 UPKEN IPv4