Difference between revisions of "Talk:Zarafa"

From SME Server
Jump to navigationJump to search
(remove config performed in rpm, and instructions on main page)
Line 2: Line 2:
 
http://forums.contribs.org/index.php?topic=42118.0
 
http://forums.contribs.org/index.php?topic=42118.0
  
===Download & Install Zarafa rpms===
+
===Misc.===
 
 
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-licensed-6*.rpm
 
 
 
===Download & Install alpha smeserver-zarafa rpm===
 
 
 
!!! THIS IS AN ALPHA RELEASE. BEWARE. FOR NON-PRODUCTION TESTING ONLY!!!
 
 
 
http://mirror.contribs.org/smeserver/contribs/dmay/smeserver/7.x/smeserver-zarafa-0.9-1a.noarch.rpm
 
 
 
yum localinstall smeserver-zarafa-0.9-1a.noarch.rpm
 
 
 
After rpm install executing two action scripts _should_ get you started:
 
 
 
/etc/e-smith/events/actions/zarafa-install
 
/etc/e-smith/events/actions/zarafa-create-user
 
 
 
Visit Zarafa WebAccess
 
 
 
http://yourserver/zarafa
 
 
 
===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
 
 
 
: I think that due to issues that arise from the unix plugin (including but not limited to) failed Outlook and Multi-Company support, we should revert back to using the db plugin.
 
:: go for it, So for a new user, 1. create in SME, 2. set qmail prop, 3. create in zarafa ?
 
:: if this is the way to go we tie zarafa commands into user-[create-delete], conf-password? etc
 
:: How hard is the transition, do you need to drop database/start again ?
 
 
 
===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:
 
List users:
 
  /usr/bin/zarafa-admin -l
 
  /usr/bin/zarafa-admin -l
Line 147: Line 9:
 
  /usr/bin/zarafa-admin -u <username> -a 1
 
  /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
 
 
http://server/zarafa
 
 
====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
 
 
=====Zarafa-client & Outlook 2007  0x80040700=====
 
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
 
 
=====Outlook Client Send/Recieve Error 0x80070057=====
 
Outlook 2007 client generates the above error on send and receive if the Zarafa
 
server is added to an existing profile.  Creating a new clean profile solved
 
the problem.
 
 
http://forums.zarafa.com/viewtopic.php?f=12&t=1048
 
 
====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===
 
===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====
+
====.qmail====
Early wiki instructions stored attachments in mysql, if you just edit the config file zarafa may fail to start.
+
* The smeserver-mailsorting contrib sorts to Maildir folders,  
One way to fix is by dropping the database (this deletes your data), and recreating the database with the server.cfg setting set to files.
+
zarafa won't see this mail. Disable procmail/maildrop and re-create internal zarafa rules
 
 
====.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====
 
====sv sigusr1 httpd-e-smith====
Line 311: Line 104:
 
public store, in a 'Deleted Stores' folder. This folder is only available to administrative
 
public store, in a 'Deleted Stores' folder. This folder is only available to administrative
 
users of Zarafa.
 
users of Zarafa.
 
=== Bugs ===
 
Please raise bugs under the SME-Contribs section in {{BugzillaFileBug|product=|component=|title=bugzilla}}and select the smeserver-zarafa component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-zarafa|title=this link}}.
 

Revision as of 08:28, 5 October 2008

Rough Guide to get Zarafa running. Lots more to do...

http://forums.contribs.org/index.php?topic=42118.0

Misc.

List users:

/usr/bin/zarafa-admin -l

Update a user to admin status:

/usr/bin/zarafa-admin -u <username> -a 1


Issues

.qmail

  • The smeserver-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.