RoundCubeインストールメモ

PHP製のウェブメール「RoundCube」のインストールメモです。
2008年9月21日時点での最新版は、「0.2-beta」です。

まずは、ダウンロード。

$ wget http://sourceforge.net/project/downloading.php?group_id=139281&filename=roundcubemail-0.2-beta.tar.gz

次に、解凍。

$ tar -zxvf roundcubemail-0.2-beta.tar.gz

次に、ブラウザからアクセス出来る場所へ移動&リネーム。

$ mv roundcubemail-0.2-beta/ /var/www/html/roundcube/
$ cd /var/www/html/roundcube/

次に、「temp」と「logs」ディレクトリを書き込み可能にパーミッションを変更。

$ chmod 0777 temp logs

次に、データベースのセッティングです。(私はMySQLを使用します)

$ mysql -u root -p

mysql> CREATE DATABASE roundcubemail;
mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO username@localhost IDENTIFIED BY 'password';

データベース名(roundcubemail)、ユーザー名(username)、パスワード(password)等はあなたの環境に合わせて変更して下さい。

また、MySQLを使用しているなら必ず下記のコマンドを実行してユーザー情報の更新を行ってください。

mysql> FLUSH PRIVILEGES;

次は、ブラウザからインストーラーを使ってインストールします。
http://www.example.com/roundcube/installer/

変更した箇所は、私の環境ではデータベースの部分と言語(location)の部分だけです。
あとは、デフォルトのままです。(環境によっては、適宜変更が必要になると思います。)

うまくいかない場合は、「config」ディレクトリに「main.inc.php」と「db.inc.php」を作って下さい。

SMTPとIMAPのテストが終わったら最後に、「installer」ディレクトリごと削除すれば
インストール作業は完了です。お疲れ様でした!!!

sendmailでSMTP認証の設定メモ(SMTP-Auth)

sendmailでSMTP認証でメール送信する為の設定メモ。

参考url:
http://centossrv.com/sendmail.shtml

# vi /etc/mail/sendmail.mc ← sendmail.mc編集

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ← 行頭のdnlを削除(SMTP-Auth有効化)
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') ← 行頭のdnlを削除(SMTP-Auth有効化)
# /etc/init.d/saslauthd start ← saslauthd起動
saslauthd を起動中:                       [  OK  ]
# chkconfig saslauthd on ← saslauthd自動起動設定
# chkconfig --list saslauthd ← saslauthd自動起動設定確認
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2~5のonを確認

以上、簡単なメモ。

sendmailの送受信設定

sendmailで送受信するための簡単な設定メモ。

参考URL:
sendmail の設定(メールを送るために最低限度すべき事)

まずは、local-host-names の編集。

# vi /etc/mail/local-host-names

このファイルの中にサーバが扱う(このサーバにメールが送られてくる)ドメイン名またはサブドメイン名を記述します。
たとえば、該当サーバで【 ユーザ@example.jp 】と【 ユーザ@hoehoe.jp 】を使いたい場合、ファイル中には次のようにドメイン名を列挙しておきます。

example.jp
hoehoe.jp

この記述は「サーバが扱うメールのドメイン名」の定義です。ここに記述されていないメールは扱われない=迷惑メール対策にもなります。

次に、sendmail.mc の設定
sendmail.mc は sendmail の設定ファイル sendmail.cf の元となっているファイルです。この sendmail.mc ファイルは M4 マクロ形式で記述されています。

# vi /etc/mail/sendmail.mc

などで、ファイルを編集します。
編集点は下記の通りです。

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

初期状態では 127.0.0.1(自分自身)に対してのみ SMTP ポートを開きます。これではメールを外部に送ることはできても、メールを受け取ることは出来ません。
以下のように行自体をコメントにして無効にします(M4 マクロでは dnl がコメントの意味です)

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

次はローカルドメインの編集です。

LOCAL_DOMAIN(`localhost.localdomain')dnl

初期状態ではこのように、自ホスト名が localhost.localdomain となっています。
このままではメールの配送に支障が出ますので、自分のホスト名を適切に記述します。たとえば、hoehoe.jp であれば

LOCAL_DOMAIN(`hoehoe.jp')dnl

このように書き換えます。
最後に、自ホスト名を Cw で定義します。sendmail.mc の末尾に、ドメインが hoehoe.jp であるなら

Cwhoehoe.jp

このようにして記述しておきます。この記述は無くてもよいのですが、sendmail は自分のホスト名を “localhost.localdomain” として認識されてしまうので、念のために自ホスト名は記述することに越したことはありません。
以上で sendmail.mc の最低限の設定は終わりです。

sendmail.mc から sendmail.cf の作成
次のコマンドを実行して sendmail.cf の構築を行います。

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

実行しても特に結果は出ません。sendmail.cf ファイルがこれで準備できました。

/etc/mail/access による利用者の制限
このファイルで「制限」を行わないと、世界中の誰でもそのサーバからメールが発信できてしまいます。つまり予期せぬ利用をされることもあります(スパムメール発信の為の踏み台)。そうならないよう、access ファイルで適切に制限をかける必要があります。

vi エディタでファイルを開き【許可する環境 RELAY】のように記述します。

# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
example.jp                      RELAY

記述が終わったら access.db ファイルを構築します(sendmail は直接 /etc/mail/access ファイルを読むことは出来ません)。

# makemap hash /etc/mail/access.db < /etc/mail/access

この access ファイルに記述されていない環境から送信を試みようとすると、/var/log/maillog に次のようなログが記録されます。

Jun 24 20:54:02 sion sendmail[4937]: j5OBs2fs004937: ruleset=check_rcpt,
arg1=<to@example.jp>, relay=dhcp102.internal [192.168.11.102],
reject=550 5.7.1 <from@example.jp>... Relaying denied

【 reject=550 5.7.1 】の【 Relaying denied 】=メールの中継を拒否した、という記録です。正しく環境が /etc/mail/access に記入されているかどうか、再確認をされることをオススメします。

sendmail の起動テスト

# /sbin/service sendmail start
sendmail を起動中:                                         [  OK  ]
sm-client を起動中:                                        [  OK  ]

sendmail の自動起動設定
初期状態で sendmail パッケージが選択されていれば、自動起動する設定になっています。

# /sbin/chkconfig --list sendmail
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off

もし自動起動しないような設定であれば、chkconfig で変更をします。

# /sbin/chkconfig sendmail on