3. Getting and installing the software

Most of the software is included in your Linux distribution. SuSE is shipping Cyrus as far as I know since 7.1 and Redhat at least since recent time.

I suggest you to install Cyrus and SASL as binary from rpm. Postfix is needed to compile by yourself because the lack of MySQL support by the rpm's from the distributors.

3.1. Getting and installing MySQL

3.1.2. Building and installing

cd /usr/local
tar -xvzf mysql-3.23.49a.tar.gz
cd mysql-3.23.49a

./configure \
--prefix=/usr/local/mysql \
--enable-assembler \
--with-innodb

make
make install

/usr/local/mysql/bin/mysql_install_db
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf
ldconfig

For security-improvement add a mysql-user on your system i.e. "mysql", then

chown -R mysql /usr/local/mysql/var

and change the line user=root to user=mysql in the file /usr/local/mysql/bin/safe_mysqld

you may wish to start mysql automatically at boottime, copy /usr/local/mysql/share/mysql/mysql.server to /etc/init.d/ for SuSE and Redhat. Further you need to add Symlinks to /etc/init.d/rc3.d for SuSE and /etc/rc.d/rc3.d

The following example is for SuSE Linux and should be easily changed for Redhat and other Linux distributions and commercial Unixes.

cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/k08mysql

3.2. Getting and installing Postfix

3.3. Getting and installing Cyrus IMAP

3.4. Getting and installing pam_mysql

3.4.2. Installing

tar -xvzf pam_mysql-0.4.7.tar.gz

cd pam_mysql

make

cp pam_mysql.so /lib/security

3.5. Getting and installing Web-cyradm

3.5.2. Installing

Web-cyradm is written in PHP. If you don't have a webserver with php installed, I like to refer to my Apache-Compile-HOWTO. That document describes how to set up Apache with PHP and other modules

cd /usr/local/apache/htdocs

tar -xvzf web-cyradm-latest.tar.gz

After unpacking web-cyradm move it to a place in your webservers DocumentRoot

This is all, now we need to configure the whole bunch of software