ZimbraをWindowsで動かす

ZimbraはLinuxとかじゃないと動かないと思っていたが、開発環境用にWindowsで一部機能を動かせるみたい

ZCS4.5.10でやってみました。

情報源はソースコード内にある以下のファイル
ZimbraServer/docs/INSTALL.txt

ソースコードはここからダウンロード
http://www.zimbra.com/community/downloads_previous.html



インストール手順

1.5.xを入れろというので既にインストールしてあった1.5.0_14のインストールディレクトリをJAVA_HOMEに指定しといた。
INSTALL.txtによるとC:\\opt\zimbra\javaにインストールするのが推奨らしい。

mysql 4.1.22をインストール
インストールディレクトリは

C:\\opt\zimbra\mysql

ポートを7306に変更
rootのパスワードをzimbraに変更
以下のSQL発行

grant all on *.* to "root"@"localhost.localdomain" identified by 'zimbra' with grant option;
flush privileges;
  • openLDAP(バージョンの指定なし)

open LDAP 2.2.29をインストール(楽がしたかったらもっと前のバージョンの方がよいかも)
インストールディレクトリは

C:\\opt\zimbra\openldap

Tomcat5.5.15をインストール
インストールディレクトリは

C:\\opt\zimbra\tomcat


ZiimbraServer/conf/tomcat-5.5/にある以下のファイルをC:\\opt\zimbra\tomcat\confにコピー

server.xml
tomcat-users.xml
  • 各種ファイルの修正(build.xmlとか)

1.ZimbraServer/build.xml
data/soap/sampleserchfolders.xmlはZCS5.0以降でないと無いので414行目の以下をコメントアウト

<echo>Creating default search folders: user1@&{zimbra.server.hostname}</echo>
<java classname="com.zimbra.soap.SoapTestHarness" fork="true" classpathref="class.path" failonerror="true">
<arg line="-f data/soap/samplesearchfolders.xml">
</arg>
</java>


openLDAPディレクトリ指定を修正(etc/を削除)

変更前

 <condition property="slapd.etc.dir" value="openldap/etc"><isset property="is-windows"></isset></condition>

変更後

 <condition property="slapd.etc.dir" value="openldap"><isset property="is-windows"></isset></condition>

2.ZimbraServer/conf/ldap/slapd.win.conf
2.2.29以降はディレクトリ構成が変更されているので以下の変更をする

変更前  /opt/zimbra/openldap/schema/etc/〜
変更後  /opt/zimbra/openldap/schema/〜


ビルドする
ZimbraServer/ディレクトリで以下を実行

ant reset-the-world


ZimbraWebClient/ディレクトリで以下を実行

ant deploy
ant admin-deploy


http://localhost:7070/zimbra/でアクセスできたら成功です。

ユーザー user1
パスワード test123

でログインできます。


postfix代わりのMTAにはperlでつくられた

ZimbraServer\src\perl\zMTAHack.pl

を利用するようです。

これを動かすためにはActivePerlをインストールします。
そしてこれに含まれるppmで以下を更にインストール。

Net-LMTP
SMTP-Server
Net-DNS


環境変数ZIMBRA_HOMEにドメインを設定。
ここに指定したドメインはZimbra管理のものとみなされます。
デフォルトドメインがコンピュータ名に自動設定されているので、
この値にもとりあえずコンピュータ名を指定しておきました。

最後にZimbraServer\src\perl\zMTAHack.plをactiveperlで実行すれば設定終了。。

そとにメールは飛ばなかったものの、ZIMBRA_HOMEに指定したドメイン
Zimbraへメールを送ればメールを受け取れました




ちなみにはまったところ…

  • eclipseでビルドパスを設定しきってからeclipse上でantを実行したらクラスパスが長すぎてエラーになった(だから直接antで実行)
  • samplesearchfolders.xmlがこのバージョンにふくまれていなかったこと
  • ソースの解凍をLhaplusでやったら(パス+ファイル名)が長すぎてファイル名の末尾が0004444に化けるやつがでた