Difference between revisions of "Talk:Zarafa"

From SME Server
Jump to navigationJump to search
m (Added information on updating php-mapi if upgraded php to version 5.3)
 
(124 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== Rough Guide to get Zarafa running. Lots more to do... ==
+
=== Zarafa7 on SME8 ===
http://forums.contribs.org/index.php?topic=42118.0
+
If you want to test the new Zarafa 7 version on SME8b6: install as described [[Zarafa | here]], download the needed files from [[bugzilla:5789]] => Comment#5 and extract as described, make the following symbolic links and restart apache:
 +
ln -s /lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8
 +
ln -s /lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8
 +
sv t httpd-e-smith
  
===Download & Install===
+
=== Dependancies ===
  
http://www.zarafa.com/download-community
+
Here are links to all the dependencies that I used for version 7.0.1.28479 (free):
 +
libicu - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/libicu-3.6-5.16.i386.rpm
 +
poppler-utils - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/poppler-utils-0.5.4-4.4.el5_6.17.i386.rpm
 +
poppler - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/poppler-0.5.4-4.4.el5_6.17.i386.rpm
 +
hicolor-icon-theme - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/hicolor-icon-theme-0.9-2.1.noarch.rpm
 +
bitstream-vera-fonts - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/bitstream-vera-fonts-1.10-7.noarch.rpm
 +
w3m - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/w3m-0.5.1-18.el5.i386.rpm
  
Distribution = Rhel 4
+
If you are upgrading from version 6 you will also need these dependencies:
 +
MySQL-python - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/MySQL-python-1.2.1-1.i386.rpm
 +
mx - http://mirror.centos.org/centos/5/os/i386/CentOS/mx-2.0.6-2.2.2.i386.rpm
  
tar -zxvf zarafa-6.20-rhel4-i386.tar.gz
+
- Garth Kirkwood (girkers)
  
yum localinstall libvmime*.rpm libical*.rpm zarafa-6*.rpm zarafa-webaccess-6*.rpm
+
=== Installation ===
  
===Create the Database===
+
To make things a bit more easy for non Zarafa experts, I used this procedure for a clean install.
 +
Get zcp 7.01, unpack, remove the devel packages and install all rpm's:
 +
yum localinstall *.rpm
 +
All packages have dependencies that cannot be resolved if you install only part of the rpm's (as suggested installation instruction for zcp 6.40).
  
mysqladmin create zarafa
+
Then install smeserver-zarafa. I could not retrieve this file from the smevdev repository (sme8 uses another one?).
  mysql -e "grant all privileges on zarafa.* to zarafa@localhost identified by 'yourpassword'"
+
Get it manually and install:
  mysql -e "flush privileges"
+
  wget http://ftp.nluug.nl/os/Linux/distr/smeserver/releases/7/smedev/i386/RPMS/smeserver-zarafa-0.9.0-53.el4.sme.noarch.rpm
 +
  yum localinstall smeserver-zarafa-0.9.0-53.el4.sme.noarch.rpm
  
===Zarafa config files===
+
/etc/e-smith/events/actions/zarafa-install
  
nano /etc/zarafa/server.cfg
+
expand the php-mapi patch patch and and the symbolic links (see first text block above: Zarafa7 on SME8).
  mysql_user = zarafa
 
  mysql_password = 'yourpassword'
 
  mysql_database = zarafa
 
 
  user_plugin        = unix
 
  user_plugin_config = /etc/zarafa/unix.cfg
 
 
 
nano /etc/zarafa/unix.cfg
 
  default_domain = yourserver.net
 
  min_user_uid = 5000
 
  min_group_gid = 5000
 
 
 
nano /etc/zarafa/gateway.cfg [optional]
 
  pop3_enable    =      no
 
  pop3s_enable    =      no
 
  imap_enable    =      yes
 
  imap_port      =      144
 
  imaps_enable    =      no
 
  
===SME templates===
+
If you use webaccess mobile, change 86ZarafaAlias template [[bugzilla:6552]]
  
====httpd.conf====
+
If you use z-push, download and install (see [[Zarafa | here]] mobile synchronization).  
 +
You have to change the name of the installation folder from z-push<version #> to z-push, because this is expected by the smeserver-zarafa package.
 +
The download extracts correctly but leaves the file and group ownership to some unknown user 33. I changed that (might not be necessary, I consider it a small security risk).
 +
chown -R root:root /var/www/html/z-push
  
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
+
Then post-upgrade and restart.  
  
nano /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/86ZarafaAlias
+
For upgrades (tested with 6.40.2): zarafa-server does not start, there is an  error message in the /var/log/zarafa/zarafa-server.log file which tells you to update the database first. A python script is provided to do just that. See also [[http://doc.zarafa.com/7.0/Administrator_Manual/en-US/html/upgrading.html zarafa administration manual]]!
  Alias /zarafa /var/www/html/webaccess/
+
Stop running zarafa services, make sure a backup of the zarafa mysql database exists, install MySQL-python, run update script.  
  <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
 
 
 
====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
 
 
   
 
   
  {
+
  yum install MySQL-python
    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
+
  python /usr/share/doc/zarafa/zarafa7-upgrade
  
===Other tasks===
+
Reports the script failes with wrong inno_db settings for mysql are on the zarafa forums. So verify your local MySQL innodb settings match the required values [[http://doc.zarafa.com/7.0/Administrator_Manual/en-US/html/_memory_usage_setup.html zarafa administration manual]]). 
Change webaccess apache rights
 
  
chown -R www:www /var/www/html/webaccess/tmp
+
===Sogo===
  
Configure Zarafa services and add links for auto start
+
FYI, I'm now using [[Sogo]] instead of zarafa, hence I have stopped work on smeserver-zarafa.
  
config set zarafa-server service status enabled
+
Sogo may not be as complete as zarafa, but is simpler to intergrate/maintain and will likely have a wider usage.
config set zarafa-spooler service status enabled
 
config set zarafa-gateway service status enabled [optional]
 
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
 
ln -s /etc/rc.d/init.d/e-smith-service /etc/rc.d/rc7.d/S99zarafa-gateway [optional, and yes it can start before -server]
 
  
Start Zarafa services
+
[[User:Snoble|Snoble]] 01:59, 14 March 2010 (UTC)
  
/etc/init.d/zarafa-server start
+
I will mantain it for now, Paul Floor
/etc/init.d/zarafa-spooler start
 
/etc/init.d/zarafa-gateway start [optional]
 
  
Create Zarafa public store
+
=== Suggestions===
 +
If you can advise on standard configuration, please make it a bug so it is added to the rpm
  
/usr/bin/zarafa-admin -s
+
[[User:Snoble|Snoble]] 07:32, 22 December 2008 (UTC)
  
Assigning an administrator
 
  
When a user is an administrator, the user will be allowed to open all Zarafa stores of any user.
+
=== smeserver-zarafa-0.9-48===
  
List users:
+
/etc/e-smith/events/actions/zarafa-services-stop has been removed
/usr/bin/zarafa-admin -l
 
  
Update a user to admin status:
+
  /etc/e-smith/events/actions/zarafa-services
  /usr/bin/zarafa-admin -u <username> -a 1
+
Usage: start|stop|restart|enabled|disabled
 
+
===Usage===
+
start services
After implementing the .qmail fragment mail is sent to zarafa, and NOT the users ~\Maildir
+
stop services
 
+
restart services
====Webmail====
+
enabled - set db values to enabled, zarafa will start on reboot
Access with browser for a local user
+
disabled - set db values to disabled, zarafa won't start on reboot
 
 
* http://serverip/zarafa
 
 
 
====Windows Clients====
 
 
 
* MS Outlook using zarafaclient-*.msi add-on contained in the win32 directory of zarafa-*.tar.gz
 
 
 
====IMAP====
 
 
 
Configure your IMAP client to use port 144
 
 
 
====Mobiles====
 
UNTESTED
 
 
 
Install rpm, start service, configure
 
  
===Issues===
 
  
====Backup====
+
InnoDB support is enabled automatically, we need to add this note later
Nothing to do ?
 
  
data is in mysql, config files are in /etc
+
{{Note box| InnoDB support in MySql has been enabled in order to get zarafa-server running, for details see [[MySQL#Enable_InnoDB_engine]]}}
  
====.qmail fragment====
+
=== zarafa-6.40 ===
  
* mailsorting contrib sorts to Maildir folders, zarafa won't see this mail. Disable procmail/maildrop and re-create internal zarafa rules
+
yum localinstall libvmime-0*.rpm libical-0*.rpm zarafa-*.rpm catdoc-*.rpm
  
====Restarting httpd-e-smith====
+
==== indexing service ====
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
 
 
workaround is to
 
sv restart httpd-e-smith
 
  
====Address book====
+
The catdoc-rpm is needed for the new [http://www.zarafa.com/news/26-jan-zarafa-releases-community-version-its-collaboration-platform-640 indexing service] that is introduced with Zarafa 6.40... but the indexing-service is not yet handled by smeserver-zarafa. --[[User:Jester|jester]] 15:42, 13 February 2010 (UTC)
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.
+
the catdoc rpm has un meet dependencies on SME 7 so it's only listed on discussion not the main page,  
I don't see how to hide them, changing shell to /bin/false may break things
 
  
====Folder Naming====
+
yes it's not implemented yet, it'll only be implemented in sme8 unless others find the dependencies
SME and Zarafa use different folder naming. To enhance migration SME folders should be renamed prior to migration.
 
  
drafts > Drafts
+
[[User:Snoble|Snoble]] 01:13, 20 February 2010 (UTC)
junkmail > Junk E-mail
 
sent-mail > Sent Items
 
trash > Deleted Items
 
  
====Migrating users and data to Zarafa====
+
Dependencies are poppler and poppler-utils. Available here:
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
+
ftp://ftp.pbone.net/mirror/apt.kde-redhat.org/kde-redhat/redhat/4/i386/RPMS.stable/poppler-0.5.4-0.3.el4.i386.rpm
  
====Performing IMAP migration from SME/IMAP to Zarafa/IMAP====
+
ftp://ftp.pbone.net/mirror/apt.kde-redhat.org/kde-redhat/redhat/4/i386/RPMS.stable/poppler-utils-0.5.4-0.3.el4.i386.rpm
  
Configure zarafa-gateway for migration enabling IMAP on port 144 only as shown above
+
NOTE: Some poppler versions have been identified with security issues.  I didn't have time to look into this version.
  
Get imapsync and required perl module
+
Paul Floor.
  
wget http://dag.wieers.com/rpm/packages/perl-Mail-IMAPClient/perl-Mail-IMAPClient-2.2.9-1.2.el4.rf.noarch.rpm
+
=== SME 8 beta ===
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
+
==== php 5.2.10 ====
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)
+
The php mapi files zarafa uses are compiled against 5.1.6, if sme 8 uses 5.2.10 we have a problem
  
imapsync --noauthmd5 --host1 localhost --port1 143 --user1 <username> --password1 <password> --sep2 / --prefix2 "" --host2 localhost --port2 144 --user2 <username> --password2 <password>
+
here is one workaround http://forums.zarafa.com/viewtopic.php?f=9&t=3263&p=18753#p18753
  
Example to synchronize a user named 'bob' with password 'bob123' from SME IMAP into Zarafa:
+
I found with the mapi error that I was getting was caused by my upgrade, PHP wouldn't start as the file libvmime.so.0 was missing or something rather (log no longer has the message). How I fixed my issue was I deleted the symlink in the /usr/lib/libvmime.so.0 which pointed to ...libvmime.0.7.1.so which is deleted when you upgrade the packages for version 7. I then "reinstalled" libvmime-0.9.2+... and restarted the httpd damaen and all was right with the world. -- girkers
  
imapsync --noauthmd5 --host1 localhost --port1 143 --user1 bob --password1 bob123 --sep2 / --prefix2 "" --host2 localhost --port2 144 --user2 bob --password2 bob123
+
==== php 5.3 ====
 +
If you update your system against the testing repo, it will update php to version 5.3 and thus break things again. To fix the mapi error this time, I uninstalled php-mapi that was included with zarafa (I was using 7.0.1.28479 that was included with zarafa) and this also removes the two dependencies of zarafa-webaccess and zarafa-webaccess-mobile (if they are installed). I then downloaded an updated php-mapi, installed it and then reinstalled the webaccess rpms and restarted the httpd and all good again. - Girkers
  
After syncing is complete, stop zarafa-gateway service and/or edit /etc/zarafa/gateway.cfg to meet your needs.
+
The steps I did were:
 +
cd /tmp
 +
wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/i386/php53-mapi-7.0.1-1.el5.i386.rpm
 +
yum erase php-mapi
 +
yum localinstall php53-mapi-7.0.1-1.el5.i386.rpm
 +
cd zcp-[your version of zarafa]
 +
yum localinstall zarafa-webaccess-*
 +
sv t httpd-e-smith

Latest revision as of 07:26, 4 October 2011

Zarafa7 on SME8

If you want to test the new Zarafa 7 version on SME8b6: install as described here, download the needed files from bugzilla:5789 => Comment#5 and extract as described, make the following symbolic links and restart apache:

ln -s /lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8
ln -s /lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8
sv t httpd-e-smith

Dependancies

Here are links to all the dependencies that I used for version 7.0.1.28479 (free):

libicu - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/libicu-3.6-5.16.i386.rpm
poppler-utils - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/poppler-utils-0.5.4-4.4.el5_6.17.i386.rpm
poppler - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/poppler-0.5.4-4.4.el5_6.17.i386.rpm
hicolor-icon-theme - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/hicolor-icon-theme-0.9-2.1.noarch.rpm
bitstream-vera-fonts - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/bitstream-vera-fonts-1.10-7.noarch.rpm
w3m - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/w3m-0.5.1-18.el5.i386.rpm

If you are upgrading from version 6 you will also need these dependencies:

MySQL-python - ftp://ftp.pbone.net/mirror/ftp.centos.org/5.7/os/i386/CentOS/MySQL-python-1.2.1-1.i386.rpm
mx - http://mirror.centos.org/centos/5/os/i386/CentOS/mx-2.0.6-2.2.2.i386.rpm

- Garth Kirkwood (girkers)

Installation

To make things a bit more easy for non Zarafa experts, I used this procedure for a clean install. Get zcp 7.01, unpack, remove the devel packages and install all rpm's:

yum localinstall *.rpm

All packages have dependencies that cannot be resolved if you install only part of the rpm's (as suggested installation instruction for zcp 6.40).

Then install smeserver-zarafa. I could not retrieve this file from the smevdev repository (sme8 uses another one?). Get it manually and install:

wget http://ftp.nluug.nl/os/Linux/distr/smeserver/releases/7/smedev/i386/RPMS/smeserver-zarafa-0.9.0-53.el4.sme.noarch.rpm
yum localinstall smeserver-zarafa-0.9.0-53.el4.sme.noarch.rpm
/etc/e-smith/events/actions/zarafa-install

expand the php-mapi patch patch and and the symbolic links (see first text block above: Zarafa7 on SME8).

If you use webaccess mobile, change 86ZarafaAlias template bugzilla:6552

If you use z-push, download and install (see here mobile synchronization). You have to change the name of the installation folder from z-push<version #> to z-push, because this is expected by the smeserver-zarafa package. The download extracts correctly but leaves the file and group ownership to some unknown user 33. I changed that (might not be necessary, I consider it a small security risk).

chown -R root:root /var/www/html/z-push

Then post-upgrade and restart.

For upgrades (tested with 6.40.2): zarafa-server does not start, there is an error message in the /var/log/zarafa/zarafa-server.log file which tells you to update the database first. A python script is provided to do just that. See also [zarafa administration manual]! Stop running zarafa services, make sure a backup of the zarafa mysql database exists, install MySQL-python, run update script.

yum install MySQL-python
python /usr/share/doc/zarafa/zarafa7-upgrade

Reports the script failes with wrong inno_db settings for mysql are on the zarafa forums. So verify your local MySQL innodb settings match the required values [zarafa administration manual]).

Sogo

FYI, I'm now using Sogo instead of zarafa, hence I have stopped work on smeserver-zarafa.

Sogo may not be as complete as zarafa, but is simpler to intergrate/maintain and will likely have a wider usage.

Snoble 01:59, 14 March 2010 (UTC)

I will mantain it for now, Paul Floor

Suggestions

If you can advise on standard configuration, please make it a bug so it is added to the rpm

Snoble 07:32, 22 December 2008 (UTC)


smeserver-zarafa-0.9-48

/etc/e-smith/events/actions/zarafa-services-stop has been removed

/etc/e-smith/events/actions/zarafa-services
Usage: start|stop|restart|enabled|disabled

start services
stop services
restart services
enabled - set db values to enabled, zarafa will start on reboot
disabled - set db values to disabled, zarafa won't start on reboot


InnoDB support is enabled automatically, we need to add this note later


Important.png Note:
InnoDB support in MySql has been enabled in order to get zarafa-server running, for details see MySQL#Enable_InnoDB_engine


zarafa-6.40

yum localinstall libvmime-0*.rpm libical-0*.rpm zarafa-*.rpm catdoc-*.rpm

indexing service

The catdoc-rpm is needed for the new indexing service that is introduced with Zarafa 6.40... but the indexing-service is not yet handled by smeserver-zarafa. --jester 15:42, 13 February 2010 (UTC)

the catdoc rpm has un meet dependencies on SME 7 so it's only listed on discussion not the main page,

yes it's not implemented yet, it'll only be implemented in sme8 unless others find the dependencies

Snoble 01:13, 20 February 2010 (UTC)

Dependencies are poppler and poppler-utils. Available here:

ftp://ftp.pbone.net/mirror/apt.kde-redhat.org/kde-redhat/redhat/4/i386/RPMS.stable/poppler-0.5.4-0.3.el4.i386.rpm

ftp://ftp.pbone.net/mirror/apt.kde-redhat.org/kde-redhat/redhat/4/i386/RPMS.stable/poppler-utils-0.5.4-0.3.el4.i386.rpm

NOTE: Some poppler versions have been identified with security issues. I didn't have time to look into this version.

Paul Floor.

SME 8 beta

php 5.2.10

The php mapi files zarafa uses are compiled against 5.1.6, if sme 8 uses 5.2.10 we have a problem

here is one workaround http://forums.zarafa.com/viewtopic.php?f=9&t=3263&p=18753#p18753

I found with the mapi error that I was getting was caused by my upgrade, PHP wouldn't start as the file libvmime.so.0 was missing or something rather (log no longer has the message). How I fixed my issue was I deleted the symlink in the /usr/lib/libvmime.so.0 which pointed to ...libvmime.0.7.1.so which is deleted when you upgrade the packages for version 7. I then "reinstalled" libvmime-0.9.2+... and restarted the httpd damaen and all was right with the world. -- girkers

php 5.3

If you update your system against the testing repo, it will update php to version 5.3 and thus break things again. To fix the mapi error this time, I uninstalled php-mapi that was included with zarafa (I was using 7.0.1.28479 that was included with zarafa) and this also removes the two dependencies of zarafa-webaccess and zarafa-webaccess-mobile (if they are installed). I then downloaded an updated php-mapi, installed it and then reinstalled the webaccess rpms and restarted the httpd and all good again. - Girkers

The steps I did were:

cd /tmp
wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/i386/php53-mapi-7.0.1-1.el5.i386.rpm
yum erase php-mapi
yum localinstall php53-mapi-7.0.1-1.el5.i386.rpm
cd zcp-[your version of zarafa]
yum localinstall zarafa-webaccess-*
sv t httpd-e-smith