今回の構築にはPostfixで Cyrus IMAP + SquirrelMail(WebMail)を参考にしました。
整理すると、構築には
1.IMAPサーバー
2.PHPのインストール
3.SquirrelMailのインストール
4.Apache の設定
1.IMAPサーバーの構築
私の環境では Courier-IMAP をPOP3でメールサーバーに使用しているので、これにIMAPサーバーを追加しました。
Courier-IMAPをインストールしたときにすでに、courier-imap-imapd.shが rc.d フォルダにできているはずです。これを動作させるために、/etc/rc.conf に以下の行を追加します。
courier_imap_imapd_enable="YES"
そして、
#./rc.d/courier-imap-imapd.sh
とimapd を起動させます。
確認はこんな感じ
#ps -ax | grep imap
95753 p1- I 0:00.01 /usr/local/sbin/courierlogger -pid=/var/run/imapd.pid
95754 p1- I 0:00.07 /usr/local/libexec/courier-imap/couriertcpd -address=
613 con- I 0:03.19 /usr/local/libexec/courier-imap/couriertcpd -address=
2.PHP5のインストール
[svr-root]::pwd
/usr/ports/lang/php5
#make config
で、以下のように設定しました。APACHEはデフォルトで選択されていません。
これを忘れると、APACHEようのmoduleが作成されないので必ず選択してください。
[X] CLI Build CLI version
[X] CGI Build CGI version
[X] APACHE Build Apache module
[ ] DEBUG Enable debug
[X] SUHOSIN Enable Suhosin protection system
[ ] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[X] MAILHEAD Enable mail header patch
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
[ ] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
後は、
#make install
ここで一つ問題が出ました。
すでにインストールされているapache を削除しろと言ってきました。
ここでいったん今のapacheを削除します。
#./www/apacche22/make deinstall
そして再度
PHP5をインストールします。すると、apache1をインストールしようとするのであわててCTL-Cで止めました。
諦めて、もう一度 apache22 を再インストール。
#./www/apacche22/make reinstall
もう一度、PHP5のインストールに挑戦するとなぜか素直にインストール完了です。
理由はわからないけど、まずはよしとします。
PHPのインストール(Apache2.0 Linux編)
ここも参考しました。
3.SquirrelMailのインストール
これもportsから入れることにします。
[svr-root]::pwd
/usr/ports/mail/squirrelmail
普通に
make install
すると、
[svr-root]::pwd
/usr/local/www/squirrelmail
にフォルダができます。
このフォルダで
[svr-root]::./configure
で
Language preferences
1. Default Language : ja_JP
2. Default Charset : iso-2022-jp
3. Enable lossy encoding : false
Server Settings
General
-------
1. Domain : sample.com
2. Invert Time : false
3. Sendmail or SMTP : SMTP
A. Update IMAP Settings : localhost:143 (other)
B. Update SMTP Settings : localhost:25
の設定をします。
このままのパーミッションだとなぜか後でエラーが出るので、
今回はすべて、www.www にしました。
4.Apache の設定
httpd.conf に以下を追加します。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Alias /webmail/ "/usr/local/www/squirrelmail/"
<Directory /usr/local/www/squirrelmail>
DirectoryIndex index.php index.html
Allow from all
</Directory>
ちなみに、
LoadModule php5_module libexec/apache22/libphp5.so
は自動で入っているはず。
ここまでできたら、
apache22 を再起動します。
#./rc.d/apache22.sh restart
それでは
http://www.sample.com/webmail/
ちゃんと動いたかな?
送信サブジェクトの文字化け
日本語のサブジェクトが送信時に文字化けしていたのですが、
どうも、MIMEエンコードしていなようです。こんな感じ
X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char A5 hex): Subject: 245320241274245270245=?ISO-202.
ためにし、前もってエンコードしてサブジェクトに書いてみると
ちゃんと受信側(Becky)でも読めます。
なんでエンコードしないんだろう。
で、本家のページにこんなもんを見つけました。
件名: 文字化け直りました
著者:
Date: Monday, 2006/03/27 - 17:35
日本語パッチは正しくあたっていました。
以下の部分を変更したらうまくいきました。
----------------------------------------------------------------
変更ファイル名:
/usr/local/www/squirrelmail/class/deliver/Deliver.class.php
以下の行(458行目)の内容を変更
変更前:
$header[] = 'Subject: '.encodeHeader($rfc822_header->subject) . $rn;
変更後:
$header[] = 'Subject: '.mb_convert_encoding($rfc822_header->subject,"JIS") . $rn;
まあ、これで治ったんだけど、生JISヘッダがちょっと気持ちわり~感じです。
しばらく様子見かな
でも、↑のコードでなんでエンコードしないんだろう???だれか教えて
最新の画像もっと見る
最近の「FreeBSD」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
2012年
人気記事