Talk:Zarafa
Rough Guide to get Zarafa running. Lots more to do...
http://forums.contribs.org/index.php?topic=42118.0
Download & Install
http://www.zarafa.com/download-community
Distribution = Rhel 4
tar -zxvf zarafa-6.20-rhel4-i386.tar.gz
yum localinstall libvmime*.rpm libical*.rpm zarafa-6*.rpm zarafa-webaccess-6*.rpm
Zarafa config files
nano /etc/zarafa/server.cfg mysql_user = zarafa mysql_password = 'yourpassword' mysql_database = zarafa user_plugin = unix user_plugin_config = /etc/zarafa/unix.cfg attachment_storage = files attachment_path = /home/e-smith/files/zarafa
+ mkdir /home/e-smith/files/zarafa
nano /etc/zarafa/unix.cfg default_domain = yourserver.net min_user_uid = 5000 min_group_gid = 5000
SME templates
httpd.conf
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
nano /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/86ZarafaAlias Alias /zarafa /var/www/html/webaccess/ <Directory /var/www/html/webaccess/> Options -Indexes AllowOverride None order allow,deny allow from all AddType application/x-httpd-php .php php_flag magic_quotes_gpc off php_flag track_vars on </Directory>
expand-template /etc/httpd/conf/httpd.conf
consider 'adding' a generic alias, just add a line below the other Alias
Alias /webaccess /var/www/html/webaccess/
php.ini
mkdir -p /etc/e-smith/templates-custom/etc/php.ini
nano /etc/e-smith/templates-custom/etc/php.ini/99Zarafa extension = mapi.so
expand-template /etc/php.ini
Restart httpd
signal-event ibay-modify
.qmail
enable zarafa for a user
db accounts setprop xxxx zarafa enabled
mkdir -p /etc/e-smith/templates-user-custom/.qmail nano -w /etc/e-smith/templates-user-custom/.qmail/80Zarafa { my $zarafa = $user->prop('zarafa') || 'disabled'; return "| /usr/bin/zarafa-dagent -q $USERNAME ; if [ $? -ne 0 ] ; then exit -1; else exit 99; fi;" if ($zarafa eq 'enabled'); }
/etc/e-smith/events/actions/qmail-update-user
Create the Database
mysqladmin create zarafa mysql -e "grant all privileges on zarafa.* to zarafa@localhost identified by 'yourpassword'" mysql -e "flush privileges"
Other tasks
Change webaccess apache rights
chown -R www:www /var/www/html/webaccess/tmp
Configure Zarafa services and add links for auto start
config set zarafa-server service status enabled config set zarafa-spooler service status enabled ln -s /etc/rc.d/init.d/e-smith-service /etc/rc.d/rc7.d/S99zarafa-server ln -s /etc/rc.d/init.d/e-smith-service /etc/rc.d/rc7.d/S99zarafa-spooler
Configure Zarafa calendar scheduling. (http://en.wikipedia.org/wiki/TNEF)
config setprop smtpd tnef2mime disabled signal-event email-update
Start Zarafa services
/etc/init.d/zarafa-server start /etc/init.d/zarafa-spooler start
Create Zarafa public store
/usr/bin/zarafa-admin -s
Assigning an administrator
When a user is an administrator, the user will be allowed to open all Zarafa stores of any user.
List users:
/usr/bin/zarafa-admin -l
Update a user to admin status:
/usr/bin/zarafa-admin -u <username> -a 1
Usage
After implementing the .qmail fragment mail is sent to zarafa, and NOT the users ~\Maildir
Webmail
Access with browser for a local user
Outlook
To use MS Outlook
Configure, enable and start /etc/init.d/zarafa-licensed
Install the zarafaclient-*.msi add-on contained in the win32 directory of zarafa-*.tar.gz
However, appears to be an issue when the user_plugin=unix finds matching user/group names (SME design):
http://forums.zarafa.com/viewtopic.php?f=12&t=1083
IMAP
To access mail in zarafa with an email client
nano /etc/zarafa/gateway.cfg pop3_enable = no pop3s_enable = no imap_enable = yes imap_port = 144 imaps_enable = no
config set zarafa-gateway service TCPPort 144 access private status enabled [access public/private as required] ln -s /etc/rc.d/init.d/e-smith-service /etc/rc.d/rc7.d/S99zarafa-gateway /etc/init.d/zarafa-gateway start; signal-event remoteaccess-update
Configure your IMAP client to use port 144
Calendar
http://download.zarafa.com/zarafa/release/docs/zarafa_ical_gateway.en.pdf
To access the calendar functions with an iCal client eg, Thunderbird and Lighting
nano /etc/zarafa/ical.cfg [maybe use icals on 8443] ical_enable = yes ical_port = 8088
config set zarafa-ical service TCPPort 8088 access private status enabled [access public/private as required] ln -s /etc/rc.d/init.d/e-smith-service /etc/rc.d/rc7.d/S99zarafa-ical /etc/init.d/zarafa-ical start; signal-event remoteaccess-update
in Tbird/Lightning > New Calendar > on network > ical > http://<domain>:8088/ical/<user>/calendar/
Note, there are problems with reading events created with /webaccess http://forums.zarafa.com/viewtopic.php?f=13&t=1019
Mobiles
To sync the data in zarafa to a compatible device
Install rpm, start service, configure
Issues
Backup
Nothing to do ?
data is in mysql, config files are in /etc/zarafa, attachments in /home/e-smith/files/zarafa
Store_attachment_outside_of_the_database
Early wiki instructions stored attachments in mysql, if you just edit the config file zarafa may fail to start and you get this error
Mon 29 Sep 2008 12:28:29 AM EST: Attachments are stored with option 'database', but 'files' is selected.
One way to fix is by dropping the database (this deletes your mail), and recreating the database with the server.cfg setting set to files.
.qmail fragment
- mailsorting contrib sorts to Maildir folders, zarafa won't see this mail. Disable procmail/maildrop and re-create internal zarafa rules
sv sigusr1 httpd-e-smith
Eg. modifying an ibay, causes a problem with webaccess
tail /var/log/messages <snip> Sep 28 16:30:27 kiwi httpd: PHP Warning: Function registration failed - duplicate name - mapi_zarafa_getuser in Unknown on line 0 Sep 28 16:30:27 kiwi httpd: PHP Warning: Function registration failed - duplicate name - mapi_zarafa_getgroup in Unknown on line 0 Sep 28 16:30:27 kiwi httpd: PHP Warning: mapi: Unable to register functions, unable to load in Unknown on line 0
most of these events will cause webaccess to break
# ls -la `slocate services2adjust | grep httpd-e-smith` /etc/e-smith/events/console-save/services2adjust/httpd-e-smith -> restart /etc/e-smith/events/domain-create/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/domain-delete/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/domain-modify/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/email-update/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/host-create/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/host-delete/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/host-modify/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/ibay-create/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/ibay-delete/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/ibay-modify-servers/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/ibay-modify/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/ldap-update/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/logrotate/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/network-create/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/network-delete/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/remoteaccess-update/services2adjust/httpd-e-smith -> sigusr1 /etc/e-smith/events/timezone-update/services2adjust/httpd-e-smith -> restart
workaround is to
sv restart httpd-e-smith
fix is to work out why php is giving an error
Address book
The Zarafa global address book finds users and groups from /etc/passwd etc/group
We don't want machine names, ibays, system, the group of a user, maybe others. I don't see how to hide them, changing shell to /bin/false may break things
Folder Naming
SME and Zarafa use different folder naming. To enhance migration SME folders should be renamed prior to migration.
drafts > Drafts junkmail > Junk E-mail sent-mail > Sent Items trash > Deleted Items
Migrating users and data to Zarafa
Zarafa migration whitepaper describes various ways of migrating your users and your data to a Zarafa server.
http://download.zarafa.com/zarafa/release/docs/zarafa_migration.en.pdf
IMAP migration from SME/IMAP to Zarafa/IMAP
Configure zarafa-gateway for migration enabling IMAP on port 144 only as shown above
Get imapsync and required perl module
wget http://dag.wieers.com/rpm/packages/perl-Mail-IMAPClient/perl-Mail-IMAPClient-2.2.9-1.2.el4.rf.noarch.rpm yum localinstall perl-Mail-IMAPClient-2.2.9-1.2.el4.rf.noarch.rpm
wget http://www.linux-france.org/prj/imapsync/dist/imapsync-1.264.tgz tar -zxvf imapsync-1.264.tgz cd ./imapsync-1.264 make install
Perform a user mail sync from SME/IMAP (host1/port1) to Zarafa/IMAP (host2/port2)
imapsync --noauthmd5 --host1 localhost --port1 143 --user1 <username> --password1 <password> --sep2 / --prefix2 "" --host2 localhost --port2 144 --user2 <username> --password2 <password>
Example to synchronize a user named 'bob' with password 'bob123' from SME IMAP into Zarafa:
imapsync --noauthmd5 --host1 localhost --port1 143 --user1 bob --password1 bob123 --sep2 / --prefix2 "" --host2 localhost --port2 144 --user2 bob --password2 bob123
After syncing is complete, stop zarafa-gateway service and/or edit /etc/zarafa/gateway.cfg to meet your needs.
SME Actions
Actions to be linked into events
user-delete
To delete a user from the server, use the following command:
/usr/bin/zarafa-admin -d <user name>
The user will be deleted from the database. The store of the user will be placed in the public store, in a 'Deleted Stores' folder. This folder is only available to administrative users of Zarafa.
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-zarafa component or use this link .