IceWarp Unified Communications Installation and Control in Linux Version 10 Printed on 22 October, 2009
i Contents IceWarp Server Installation and Control in Linux 1 V10 New Features... 2 Differences between Windows and Linux Versions... 3 Migration from Windows to Linux... 4 Before Installation... 5 Installation Package... 6 Running... 7 Installation Step-by-Step on CentOS 5.3... 8 Using MySQL Database for IceWarp WebClient Pro... 31 Installing Avast Anti-Virus Library... 32 New License Registration... 35 Controlling IceWarp Server in Linux... 40 Starting server and/or services... 40 Stopping server and/or services... 40 Service icewarpd functionality... 40 Commands table... 40 IceWarp Server Administration... 42 Installation of Aspell Dictionaries... 43 IceWarp Server - Dynamic Library Dependencies... 44
1 C HAPTER 1 IceWarp Server Installation and Control in Linux This document describes how to install IceWarp Server and control its services in Linux. In This Chapter V10 New Features... 2 Differences between Windows and Linux Versions... 3 Migration from Windows to Linux... 4 Before Installation... 5 Installation Package... 6 Running... 7 Installation Step-by-Step on CentOS 5.3... 8 Controlling IceWarp Server in Linux... 40 IceWarp Server Administration... 42 Installation of Aspell Dictionaries... 43 IceWarp Server - Dynamic Library Dependencies... 44
2 C HAPTER 2 V10 New Features Debian support Portable Ubuntu support (requires openssl, libmysqlclient and aspell libraries). ODBC support on Linux with unixodbc (Oracle, Postgre SQL) php_tidy for PHP purple module for IM and libpurple, purpleserv new menu item added to Wizard: Display licence information support for PDO MySQL in PHP support for UTF-8 in PDO SQLite in PHP unified API makes all available functions accessible through apiobjectcall interface Mail Log Analyzer available (log importer only), requires to compile and install ODBC drivers
3 C HAPTER 3 Differences between Windows and Linux Versions Linux version and Windows one are the same feature-to-feature, including: LDAP and ActiveDirectory integration Avast! anti-virus with AutoUpdates Commtouch Anti-Spam LIVE engine (ctasd) MLA Mail Log Analyzer (importer daemon) SQLite3 database engine installed and used by default PHP5 with XCache, php_tidy and common libraries MySQL 5.1 native support (requires libmysqlclient) command line tool with direct access to API and server constants the same unified IceWarpServer API library (RPC, PHP, apiobjectcall) the documentation applies with some abstraction if using WebAdmin There are however differences given by the platform architecture: Administration GUI is non-native but runs under Wine installation script instead of installer wizard PHP is installed separately UnixODBC and DB driver installation required for Oracle 11, Postgre SQL 8, Firebird 2.1 no support for FastCGI and FastISAPI multi-threaded web server modes
4 C HAPTER 4 Migration from Windows to Linux 1. Save Windows configuration into MCB file (Backup configuration). 2. In Linux, restore configuration in WebAdmin. 3. The correct paths are converted and set automatically by IceWarp Server, so you do not have to set them. 4. Mount Windows drive and manually copy the email folders into Linux destination directory (by default /opt/icewarp/mail).
5 C HAPTER 5 Before Installation 1. Check available space on your disc, min. 150 MB is required. 2. Please check if your system has installed required packages. The IceWarp Server Dynamic Library Dependencies (see "IceWarp Server - Dynamic Library Dependencies" on page 44) chapter lists these packages, you can install only packages that are required by selected features. 3. Stop and remove from the init process every program which can use any network port required for the server. For example sendmail listens on the port 25 and the SMTP service would not be able to start. 4. You can create a new user for the server, for example "icewarp". If the server should listen on a privileged port, you can install this server under the unprivileged "icewarp" user and then start it under the root. The server will drop its privileges from the root to the installed user, but will be able to listen on the privileged ports.
6 C HAPTER 6 Installation Package The installation package is in.tar.gz format. The latest package can be always found on IceWarp website http://www.icewarp.com, in the Downloads section. Example: IceWarpServer-10.0.0_(2009-02-10)_RHEL5.3.tar.gz 1. Extract the package: [linux]$ tar -xzf IceWarpServer-10.0.0_(2009-02-10)_RHEL5.3.tar.gz 2. Chdir to the created directory: [linux]$ cd IceWarpServer-10.0.0_(2009-02-10)_RHEL5.3 3. Start the installation: [linux]$./install.sh 4. Follow the onscreen instructions.
7 C HAPTER 7 Running After installation, at least one domain and one user must be created first, otherwise the server will not work. You can use wizard.sh in the installation directory to create the initial domain and user. The initial user should be System Administrator one so you can log in into WebAdmin and manage settings. The IceWarp Server uses database for storing informations for accounts, antispam and groupware. Default databases are: Accounts: uses file system Antispam and groupware: SQLite You can change database type in wizard or using the Remote Administration tool for Windows or using WebAdmin. Also UnixODBC is supported, but you must compile the latest version from http://www.unixodbc.com/. The server was tested with UnixODBC with Oracle and PostgreSQL. Default listening port for webserver is 32000. Default http addresses are: WebClient: http://localhost:32000/webmail WebAdmin: http://localhost:32000/admin RPC: http://localhost:32000/rpc/ If you have problem running the server, please check log files in the./logs directory, there can be found logged errors of unsuccessful port binding or required library loading error.
8 C HAPTER 8 Installation Step-by-Step on CentOS 5.3 To install IceWarp Server on CentOS 5.3, follow these steps: 1. Check available disk space in volumes using df -h. 2. Verify installed packages using rpm -qa.
Error! No text of specified style in document. 9 3. Check for services startup's using chkconfig --list grep on. 4. Turn off Auto-Start for clashing services, ie. Sendmail using chkconfig --level 0123456 sendmail off.
10 Installation and Control in Linux IceWarp Unified Communications 5. Stop clashing services, ie. Sendmail using /etc/rc.d/init.d/sendmail stop. 6. Optionally, create a user for IceWarp Server installation (both username and password are case sensitive).
7. If not already installed, install mysql. Error! No text of specified style in document. 11
12 Installation and Control in Linux IceWarp Unified Communications
Error! No text of specified style in document. 13 8. Set MySQL to Auto-Start using chkconfig mysqld on and then start the service immediately using service mysqld start.
14 Installation and Control in Linux IceWarp Unified Communications 9. Set MySQL root password. 10. Create tables for IceWarp Server in MySQL.
Error! No text of specified style in document. 15 11. Verify tables created in MySQL. 12. Begin IceWarp Server installation on the root or created user i.e. IceWarp.
16 Installation and Control in Linux IceWarp Unified Communications 13. Run the IceWarp Wizard immediately after installation or at a later stage by executing./wizard.sh from the /install_volume/icewarp ie. /opt/icewarp.
Error! No text of specified style in document. 17 NOTE that if you do not run the Wizard from the installer, you may need to manually start the IceWarp services using "/etc/rc.d/init.d/icewarp start". 14. Change storage setup to MySQL [3] for Accounts, AntiSpam and GroupWare.
18 Installation and Control in Linux IceWarp Unified Communications
Error! No text of specified style in document. 19
20 Installation and Control in Linux IceWarp Unified Communications
15. Create the initial domain and Administrative User [1]. Error! No text of specified style in document. 21
22 Installation and Control in Linux IceWarp Unified Communications
16. IceWarp Server installation done! Error! No text of specified style in document. 23
24 Installation and Control in Linux IceWarp Unified Communications Logs are available at /root/icewarp-install.log IceWarp Server services are operating properly. & /root/icewarp-install-error.log. Next, verify that primary
17. Check services startup using chkconfig --list grep on. Error! No text of specified style in document. 25
26 Installation and Control in Linux IceWarp Unified Communications 18. Check MySQL tables.
Error! No text of specified style in document. 27
28 Installation and Control in Linux IceWarp Unified Communications 19. Check IceWarp WebClient Basic, IceWarp WebClient Pro, WebAdmin and Remote Console login.
Error! No text of specified style in document. 29
30 Installation and Control in Linux IceWarp Unified Communications
Error! No text of specified style in document. 31 Using MySQL Database for IceWarp WebClient Pro 1. Change setting in IceWarp Server to use icewarp_webmail database in MySQL.
32 Installation and Control in Linux IceWarp Unified Communications 2. After logging into IceWarp WebClient Pro, IceWarp Server will create the necessary tables Installing Avast Anti-Virus Library 1. The libavastengine.so file is included in the IceWarp Server installation and is located in <pathtoicewarp>/avast/.
Error! No text of specified style in document. 33 2. There should also be a link in /usr/lib to the latest libavastengine.so file. If you do not see the libavastengine.so link in the /usr/lib, try the following : cd /usr/lib in -s <pathtoicewarp>/avast/libavastengine.so libavastengine.so.
34 Installation and Control in Linux IceWarp Unified Communications Once this link has been established, you should be able to run the Anti-Virus engine update to download the latest definitions.
Error! No text of specified style in document. 35 New License Registration 1. Start the./wizard.sh from <pathtoicewarp> and go to [2] License Operations.
36 Installation and Control in Linux IceWarp Unified Communications 2. Select [5] Export reference key to file, save the file to <filename>.xml and send it to your IceWarp Partner for processing of your new license key. 3. Once your NEW license has been processed, it will be e-mailed to you. Copy & paste the license block into <pathtoicewarp>/config/license.key.
Error! No text of specified style in document. 37
38 Installation and Control in Linux IceWarp Unified Communications 4. You may then review and verify your license using the wizard.sh [1] Display License Information.
Error! No text of specified style in document. 39
40 C HAPTER 9 Controlling IceWarp Server in Linux Starting server and/or services [linux]$./icewarpd.sh --start starts "icewarpd" and automatically starts all services, except PHP, which is started when first HTTP request arrives. [linux]$./icewarpd.sh --start control gw im pop3 smtp all starts the selected service or all services. If "icewarpd" is not already running, this command does not start it. If the control is started, it starts PHP on the first HTTP request. Stopping server and/or services [linux]$./icewarpd.sh --stop stops all running services, stops "icewarpd" and also PHP. This is the command for complete server shutdown. [linux]$./icewarpd.sh --stop control gw im pop3 smtp all stops selected service or all services. This command causes PHP stop together with control and does not stop "icewarpd". Service icewarpd functionality When the "icewarpd daemon" is running, it: checks every 1 minute whether all started services are running. If not, service is re-started. Commands table Action \ Platform RHEL 4 and 5 Other distributions Start all services and icewarpd [pc]$ service icewarp start [pc]$./icewarpd.sh --start Stop all services and icewarpd [pc]$ service icewarp stop [pc]$./icewarpd.sh --stop Restart all services and icewarpd [pc]$ service icewarp restart - Start specific service [pc]$./icewarpd.sh --start x [pc]$./icewarpd.sh --start x Stop specific service [pc]$./icewarpd.sh --stop x [pc]$./icewarpd.sh --stop x Check specific service [pc]$./icewarpd.sh --check x [pc]$./icewarpd.sh --check x Run wizard [pc]$./icewarpd.sh [pc]$./icewarpd.sh
Possible services are: control, gw, im, pop3, smtp, all. Error! No text of specified style in document. 41
42 C HAPTER 10 IceWarp Server Administration Via Win32 GUI - download and install the latest Win32 GUI from the IceWarp website http://www.icewarp.com, connect to IceWarp Server the same way you would do for Windows MailServer. commandline wizard used for quick setup and easy tasks, scriptable for more complex tasks. Wizard can create the initial account, generate unique SSL certificate and set up database connection, install license and manage IceWarp Server services. cd /opt/icewarp./wizard Web administation frontend browse to http://<your.server.here>:32000/admin/
43 C HAPTER 11 Installation of Aspell Dictionaries IceWarp Server uses Aspell (version 0.60.6) as a spell checker. It requires dictionaries for version 0.6 (or higher). You can download these dictionaries (free) from http://aspell.net/. To install a dictionary, use the./scripts/install_aspell_dictionary.sh script. Use the dictionary file name as a command line parameter. Example of the command for the Czech dictionary installation: [linux]$./scripts/install_aspell_dictionary.sh /home/user/aspell6-cs-20040614-1.tar.bz2 After dictionary installation, this new dictionary will not be available in WebClient. To fix it, you have to add a record about this dictionary to the WebClient configuration file:./config/_webmail/spellchecker.xml The record format is as follows: <aspell_dictionary_id>name_in_webmail</aspell_dictionary_id> Example: New IceWarp Server installation has in the./config/_webmail/spellchecker.xml file one record for implicit English dictionary that is included in the installation: <en>english</en> After installation of the Czech dictionary, it is necessary to add the following record: <cs>czech</cs> Use similar records for other languages. NOTE that the./config/_webmail/spellchecker.xml file is created after the first login to WebClient and after displaying of the dialog for spell checker setting. This dialog is accessible via the Settings menu item within the email composer window.
44 C HAPTER 12 IceWarp Server - Dynamic Library Dependencies Dynamic library Mail Server service and provided functionality Package which provides dynamic library RHEL 5 Debian 5 libc.so.6 System interface glibc libc6 libpthread.so.0 System interface glibc libc6 libgds.so libgds.so.0 libfbclient.so FireBird database FireBird database libmysqlclient.so libmysqlclient.so.14 libmysqlclient.so.15 MySQL database mysql mysql-client libsqlite3.so libsqlite3.so.0 SQLite database IceWarp Server IceWarp Server libz.so.1 Control: HTTP gzip zlib zlib1g Control: Backup libgd.so.2 Control: captcha gd libgd2-noxpm OR Smtp: captcha libgd2-xpm libgd.so Control: captcha gd libgd2-noxpm OR Smtp: captcha libgd2-xpm
Error! No text of specified style in document. 45 libiconv2.so All services: native conversion between any charset glibc libc6 (MIME class, Versit class etc.) libiconv.so All services: native conversion between any charset glibc libc6 (MIME class, Versit class etc.) libldap.so Groupware, Control, API: LDAP integration, sync openldap openldap-devel liblber.so Groupware, Control, API: LDAP integration, sync openldap openldap-devel libldap2-dev libldap2-dev libcap.so Bind ports under 1024 when started as root but libcap liblcap2-dev running as non privileged user libcap-devel libpcre.so All services: any regex pattern match and replace in pcre libpcre3-dev libpcre.so.0 different parts of sources (mod_rewrite, rules etc.) libpcre.so.1 libpcre.so.2 libpcre.so.3 libssl.so All services: SSL, TLS features for all services including openssl libssl-dev libssl.so.4 SSL Tunnel, certificate verification and others. libssl.so.5 libssl.so.6 libcrypto.so All services: SSL, TLS features for all services including openssl libcrypto.so.4 SSL Tunnel, certificate verification and others. libcrypto.so.5 libcrypto.so.6
46 Installation and Control in Linux IceWarp Unified Communications libymsgauth.so IM "Yahoo IM Gateway" used for login hash creation IceWarp Server IceWarp Server libphp4.so libphp5.so PHP and icewarpphp extension: php integration IceWarp Server IceWarp Server libavastengine.so Pop3 Smtp: Antivirus check Avast IceWarp Server IceWarp Server symcsapi.so Pop3 Smtp: Antivirus check Symantec IceWarp Server IceWarp Server libdb.so All services: DB access to accounts (if running in db db4 libdb4.2-dev OR mode) and spam engine. libdb4.5-dev OR libdb4.6-dev