SquirrelMail と WebDAV

Solaris9上でWebmailとWebDAVをApache2.0系で構築するメモ
今日Apacheのバージョンアップを実施した時、以前書いたメモが見つかったので転記。


1. WebMailサーバの構築2
1.1. PHP-4.4.2RC2+WebDAVが利用可能なApache2.0.55環境の構築

1.1.1. Apache-2.0.55のコンパイル

$ ./configure \
--prefix=/usr/local/httpd \
--enable-module=all \
--enable-http=yes \
--enable-dav=yes \
--enable-ssl \
--enable-shared=yes \
--enable-so
$ make
# sudo make install

1.1.2. PHP-4.4.2RC2のコンパイル

$ ./configure \
--with-apxs2=/usr/local/httpd/bin/apxs \
--enable-mbstring
$ make
# sudo make install

1.1.3. httpd.confの編集
(ア) LoadModuleセクションに以下を追記する。

LoadModule dav_module  libexec/libdav.c
LoadModule php4_module libexec/libphp4.c

(イ) AddModuleセクションに以下を追記する。

AddModule mod_dav.c
AddModule mod_php4.c

(ウ) IfModule mod_dir.cセクションにindex.phpを追加する

<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>

(エ) WebDAVがMacOSXやWindowsで誤動作するので、以下を追記

<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

# for MacOS Protection
<Files ~ "^\.[Hh][Tt]">
Order allow,deny
Deny from all
Satisfy All
</Files>

<Files ~ "^\.[Dd][Ss]_[Ss]">
Order allow,deny
Deny from all
Satisfy All
</Files>

<Files "rsrc">
Order allow,deny Deny from all
Satisfy All
</Files>

<DirectoryMatch ".*?.?.namedfork">
Order allow,deny
Deny from all
Satisfy All
</DirectoryMatch>

(オ) WebDAVの設定を追加する

# WebDAV Configuration
DAVLockDB /usr/local/apache/var/DAVLock
DAVMinTimeout 600
Alias /dav /export/home2
<Directory /export/home2>
DAV On
AllowOverride AuthConfig Limit
Options None
</Directory>

<Location />
Header add MS-Author-Via "DAV"
</Location>

# mod_encording Configuration
LoadModule encoding_module libexec/mod_encoding.so

<IFModule mod_encoding.c>
EncodingEngine on
SetServerEncoding UTF-8
AddClientEncoding SJIS "Microsoft .* DAV"
AddClientEncoding SJIS "xdwin9x/"
AddClientEncoding EUC-JP "cadaver/"
AddClientEncoding "Goliath/" UTF-8
AddClientEncoding "WebDAVFS/" UTF-8
</IFModule>

(カ) PHPを実行できるするようにする

    # feature
#
#AddHandler send-as-is asis
#
# If you wish to use server-parsed imagemap files, use
#
#AddHandler imap-file map
#
# To enable type maps, you might want to use
#
#AddHandler type-map var
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

1.2. SquirrelMail1.4.5のインストール
1.2.1. SquirrelMail1.4.5をApacheのhtdocsフォルダに解凍する。
1.2.2. SquirrelMailパッチをApacheのhtdocsフォルダに解凍する。
1.2.3. ./configureを実行して設定を行う。

これだけ。
簡単だけど、Apacheのconfigureだけが面倒くさい。