Cyrus-imap
Cyrus-Imap
How to install and use cyrus-imap on sme7
Cyrus-imap enables folder sharing of mail items. Coupled with the Toltec connector, it can replace many functions of the Exchange Server with mail client Outlook.
By Sophie Romano (SopRom) http://www.logiciel-libre.org
This howto presents installation and usage of the cyrus-imap server on a Sme-Server system.
The cyrus-imap web site is at http://cyrusimap.web.cmu.edu. See also this doc: http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/cyrus-config.html
Beware !
Replacing mail server
You'll be modifying the SME7 and some actions will be required from time to time, when updates are applied. For example, the preilne file has its permissions resetted after some updates. Always test send/receive after a "yum update".
If you are new to SME7 and linux, it might be advisable to try this on a test machine.
Scripts
I am not a programmer. I assembled these scripts from the works of others (Lionel and Jon) and adapted them to SME7. There is no translation since the implementation of the new language engine.
Credits
The original scripts were developped by Mr. Lionel Debrus for SME6. Then, Jon Roberts from WestCountryBusiness adapted them for SME7. Since, Jon has switched to a different solution and might not be available to provide updates.
- smeserver-cyrus.tgz (no rpms)
http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/smeserver-cyrus.tgz
- installation script
http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/install-cyrus.sh
- uninstallation script
http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/uninstall-cyrus.sh
- websieve
http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/websieve-cgi-bin.tgz
Installation
Some services (imap, imaps, pop, pops) are disabled and replaced. After the installation of needed RPMS, templates are created and expanded, and newly replaced services are enabled. Finally, a panel is added to the server-manager menu.
The script will install these packages:
- cyrus-imapd
- cyrus-imapd
- cyrus-imapd-devel
- cyrus-imapd-murder
- cyrus-imapd-nntp
- cyrus-imapd-utils
- cyrus-sasl-devel
- cyrus-sasl-gssapi
- cyrus-sasl-ntlm
- cyrus-sasl-plain
- perl-Cyrus
- cyrus-sasl
- cyrus-sasl-md5
Note that POP and IMAP are rendered inaccessible from the Internet with these changes. It better to leave that so since vulnerabilities with this cyrus-imap implementation are not managed and investigated by the dev-team.
Install
mkdir -p /root/cyrus/uninstall cd /root/cyrus wget http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/smeserver-cyrus.tgz wget http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/websieve-cgi-bin.tgz tar -xz --directory="." -f smeserver-cyrus.tgz cd smeserver-cyrus wget http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/install-cyrus.sh chmod u+x install-cyrus.sh cd uninstall wget http://www.logiciel-libre.org/downloads/cyrus-imap-sme-howto/uninstall-cyrus.sh chmod u+x uninstall-cyrus.sh cd .. ./install-cyrus.sh
Updates
When updating (yum update) there is a problem from time to time with php-common. The workaround is:
rpm -e php-common yum -y update yum -y install php-common
Administration
The server-manager now has a new menu item at the bottom.
Imap accounts are based on the users list already existing on the server. They have been migrated to the new location.
Also note that the normal users's folders are not deleted and their content are intact.
It is then advisable to apply this howto on a new list of account that did not receive mail yet.
It is possible to keep messages by transfering them to a different server with the imapcopy tool. Then, after this installation, reimport them with the same tool.
Managing Accounts
The standard SME folder structure for mail is in
/home/e-smith/files/users/<user>/Maildir.
With cyrus-imap, the new structure is in
/var/spool/imap/<user>/user/<user>.
The standard structure is not destroyed with the installation and content just stay there, unreachable. If mail options in the server-manager are switched back to pop enabled and imap enabled, the standard structure is reactivated. When disabled, the cyrus-iamp structure is active.
It is advisable to plan ahead if users are already defined and have content in their mail boxes. With installation, new imap accounts will be created, but old content will not be transfered to new folder structure. The tool imapcopy is handy to move users's content to a temporary imap server, and restored the same way after installation.
Access Rights - Explanation
* l: List * r: Read * s: Set Read Flag * w: Write * i: Insert * p: Post * c: Create * d: Delete * a: Administrator
To assign permissions to everybody, the group name is "anyone".
Quotas
Quotas for each account is set to 100MB by default. This means that this space will be "reserved" on the server. So increasing default quota to 1GB for 20 users would reserve 20GB on the server.
With this installation (without Toltec Connector), sharing folders is done from the server-manager. Creating a folder and assigning access rights allows for other users and groups to see the account. EGroupware, Thunderbird, Outlook work with this. But note that Outlook will interfere with other clients with its character coding for languages like french.
Toltec's Outlook Connector
File:Tolec.perm.jpg The connector is available from here and the manual from here (toltec.co.za). It has been tested with the Kolab server.
The cost is affordable at about 14USD per seat. This connector is for use where a group needs/wants/prefers/sticks to Outlook for whatever the reason. It provides for sharing calendars, address books, notes, todos, etc.
Beware of the Connector's concept of attachment to the server. Read the manual about this, it's important. Changing or reinstalling on the server will reset the internal ID of the server and all attached clients will see the server as a new one. Then all items on clients will be downloaded again!
Toltec Connector wants to see the server as a POP account and each station can provide for content to be shared. Permissions need to be set for each station providing content to someone or to others.
Cyradm
CLI can be used to manage some options. See the man pages here.
Folders that matter are:
* Cyrus config: /var/lib/imap * Cyrus mailboxes: /var/spool/imap
Backing up:
/etc/init.d/cyrus-imapd stop cp /var/lib/imap /somewhere cp /var/spool/imap /somewhere /etc/init.d/cyrus-imapd start
Administration:
cd /usr/lib/cyrus-imapd su cyrus ./mbexamine <box> ./mupdate ./reconstruct -r <box> ./chk_cyrus ./ipurge -f -d 0
Login with the password provided when installing:
cyradm --user cyrus localhost cyradm --user admin localhost
Purge mailboxes :
Force deletion of mail in all mailboxes: /usr/lib/cyrus-imapd/ipurge -f -d 0
Reconstruct:
Reconstruct: /usr/lib/cyrus-imapd/reconstruct -r -f user.username
Uninstallation
To uninstall, run the script /root/cyrus/uninstall-cyrus.sh
cd /root/cyrus chmod u+x uninstall-cyrus.sh signal-event post-upgrade && signal-event reboot