まえがき
MS-Exchange互換のグループウェアソフトであるzarafaをUbuntuで動かしてみました。

ユーザとグループの設定
sudo adduser -system -no-create-home vmail
sudo gpasswd -a vmail root

必要なモジュールのインストール(1)
sudo dpkg -i libicu50_5.0.1.2-0ubuntu1_amd64.deb
sudo dpkg -i libboost-filesystem1.46.1_1.46.1-7ubuntu3_amd64.deb
sudo dpkg -i libboost-system1.46.1_1.46.1-7ubuntu3_amd64.deb
<若干、情報が古い。。。>

必要なモジュールのインストール(2)
sudo apt-get install postfix
sudo apt-get install mysql-server
sudo apt-get install apache2
sudo apt-get install sasl2-bin
sudo apt-get install php5 libapache2-mod-php5 libcdb1 postfix-cdb postfix-mysql postfix-pcre php5-mysql php5-imap php5-json
sudo apt-get install catdoc gawk libgc1c2 mktemp php-gettext python-support w3m xsltproc
<若干、情報が古い。。。>

MySQLにユーザを作成
mysql -u root -p

create user 'postmaster'@'localhost' identified by 'XXXXXXXX'; 

/etc/postfix/main.cfの更新
sudo vi /etc/postfix/main.cf

<環境に合わせて更新>
myhostname = ns.bondoffamily-net.com
mydomain = bondoffamily-net.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
myorigin = $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

<情報を追加>
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
#smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

virtual_alias_maps = mysql:/etc/postfix/mysql-aliases.cf
mailbox_transport = zarafa: zarafa_destination_recipient_limit = 1
mailbox_command = /usr/sbin/zarafa-dagent "$USER"
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/bin/X11
ddd $daemon_directory/$process_name $process_id & sleep 5

/etc/postfix/master.cfの更新
sudo vi /etc/postfix/master.cf

<情報を更新>
submission inet n - - - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

/etc/postfix/sasl/smtpd.confの更新
sudo vi /etc/postfix/sasl/smtpd.conf

<情報を更新>
pwcheck_method: saslauthd
mech_list: plain login

/etc/default/saslauthdの更新
sudo vi /etc/default/saslauthd

<情報を更新>
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="rimap"
MECH_OPTIONS="127.0.0.1"
THREADS=0
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

/etc/postfix/mysql-aliases.cfの更新
sudo vi /etc/postfix/mysql-aliases.cf

<情報を追加>
# The user name and password to log into the mysql server.
user = postmaster
password = XXXXXXXX
hosts = 127.0.0.1
dbname = zarafa

# For Postfix 2.2 and later The SQL query template
# See mysql_table(5) for details.
query = select value from objectproperty where objectid=(select objectid from objectproperty where value='%s' limit 1) and propname='loginname';

権限の設定
sudo chown root:root /etc/postfix/mysql-aliases.cf
sudo chmod 600 /etc/postfix/mysql-aliases.cf

/etc/postfix/master.cfの更新
sudo vi /etc/postfix/master.cf

<情報を追加>
#for zarafa
zarafa unix - n n - 10 pipe
flags=DRhu user=vmail argv=/usr/sbin/zarafa-dagent -R ${recipient}

zarafaのダウンロード
ここからダウンロード

zarafaの解凍
tar -xvf zcp-7.1.8-xxxxx-ubuntu-12.04-x86_64-free.tar.gz
cd zcp-7.1.8-xxxxx-ubuntu-12.04-x86_64

インストール
sudo dpkg -i *.deb
sudo ./install.sh
cd ..

権限の設定
sudo chmod 775 /var/log/zarafa/
sudo chmod 664 /var/log/zarafa/*

/etc/zarafa/server.cfgの更新
sudo vi /etc/zarafa/server.cfg

<情報を更新>
#local_admin_users = root
local_admin_users = root vmail

#mysql_user = root
mysql_user = postmaster

#mysql_password = root
mysql_password = XXXXXXXX

/etc/zarafa/ical.cfgの更新
sudo vi /etc/zarafa/ical.cfg

<情報を更新>
server_timezone = Asia/Tokyo

データベースの設定
mysql -u root -p

grant all privileges on zarafa.* to postmaster@localhost;

Apacheの設定
cd /etc/apache2/sites-available
sudo mv zarafa-webaccess zarafa-webaccess.conf
sudo mv zarafa-webapp zarafa-webapp.conf

sudo a2ensite zarafa-webaccess
sudo a2ensite zarafa-webapp

権限の設定
rm -rf /var/run/saslauthd/
mkdir -p /var/spool/postfix/var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
chgrp sasl /var/spool/postfix/var/run/saslauthd
adduser postfix sasl

再起動
sudo service zarafa-dagent restart
sudo service zarafa-spooler restart
sudo service zarafa-monitor restart
sudo service zarafa-gateway restart
sudo service zarafa-ical restart
sudo service apache2 restart
sudo service postfix restart

ファイアウォールの設定
<許可するポート番号>
tcp/80
tcp/25
tcp/110
tcp/236
tcp/143
tcp/587

ユーザリストの表示
sudo zarafa-admin -l

ユーザ詳細の表示
sudo zarafa-admin --details root

ユーザの作成
sudo zarafa-admin -c hogeuser -p password -e hogeuser@hogeserver.hogeddns.jp -f "Hoge User" -a 0

pop3,imap使用の設定
sudo zarafa-admin -u john --enable-feature imap
sudo zarafa-admin -u john --disable-feature pop3

グループの作成
sudo zarafa-admin -g Family -e family@hogeserver.hogeddns.jp

グループの追加
sudo zarafa-admin -b hogeuser -i Family