

Installation
-----------

It is recommended to use a clean (fresh) CentOS 5.4 install. Then follow the steps below to setup your server with ISPConfig 3:

Installation of some basic requirements:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

enable the contrib and centosplus repositories.

vi /etc/yum.repos.d/CentOS-Base.repo

1. Edit the file /etc/yum.repos.d/CentOS-Base.repo and edit the lines below.

[base]
exclude=postfix

[update]
exclude=postfix

[centosplus]
enabled=1
includepkgs=postfix

[contrib]
enabled=1

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
rpm -i rpmforge-release-0.5.1-1.el5.rf.i386.rpm
yum update

You should disable selinux now, as some programs will not start when selinux is enabled:

system-config-securitylevel-tui

then reboot the server.

Then remove the postfix without mysql support

yum remove postfix

1) Install Postfix fron centosplus with mysql support, Dovecot, MySQL, phpMyAdmin with the following command line (on one line!):

yum install ntp httpd mysql-server php php-mysql php-mbstring phpMyAdmin postfix getmail

For 32Bit systems:

rpm -i http://dl.atrpms.net/all/dovecot-1.2.11-3_108.el5.i386.rpm
rpm -i http://dl.atrpms.net/all/dovecot-sieve-0.1.15-4.el5.i386.rpm

For 64Bit Systems:

rpm -ivh http://dl.atrpms.net/all/dovecot-1.2.11-3_108.el5.x86_64.rpm
rpm -ivh http://dl.atrpms.net/all/dovecot-sieve-0.1.15-4.el5.x86_64.rpm


chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

chkconfig --levels 235 httpd on
/etc/init.d/httpd start

chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start


Set the mysql database password:

/usr/bin/mysql_secure_installation


2) Install Amavisd-new, Spamassassin and Clamav (1 line!):

yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar

sa-update
chkconfig --levels 235 amavisd on
chkconfig --levels 235 clamd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd start

If you use the amavisd from rpmforge (as we do in this guide) and not the one from centos, you will have to do these additional steps:

add the following line in /etc/sysconfig/amavisd:

CONFIG_FILE="/etc/amavisd/amavisd.conf

run:

mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db
chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db
ln -s /var/run/clamav/clamd.sock /var/spool/amavisd/clamd.sock
yum install perl-DBD-mysql


3) Install apache, PHP5 and phpmyadmin (1 line!):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator  php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel phpmyadmin


4) Install pure-ftpd and quota

yum install pure-ftpd quota

chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

5) Install bind dns server

yum install bind-chroot

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/chroot/var/named/named.local
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
touch /var/named/chroot/etc/named.conf
touch /var/named/chroot/etc/named.conf.local

vi /var/named/chroot/etc/named.conf

--------------------------------------------------------------------------------------------------
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named/chroot/var/named";
        dump-file       "/var/named/chroot/var/named/data/cache_dump.db";
        statistics-file "/var/named/chroot/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/chroot/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };
        recursion yes;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.root";
};

include "/var/named/chroot/etc/named.conf.local";
--------------------------------------------------------------------------------------------------

chkconfig --levels 235 named on
/etc/init.d/named start

6) Install vlogger dependencies and webalizer

yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

Installing Jailkit:

yum install gcc
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
tar xvfz jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make
make install
rm -rf jailkit-2.11*

Edit the file /etc/sudoers

vi /etc/sudoers

and change the line:

Defaults    requiretty

to:

# Defaults    requiretty


7) Install ISPConfig 3


cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3.0.2.tar.gz
tar xvfz ISPConfig-3.0.2.tar.gz
cd ispconfig3_install/install/

Now start the installation process by executing:

php -q install.php

The installer will configure all services like postfix, sasl, courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):

http://192.168.0.100:8080/

the default login is:

user: admin
password: admin

In case you get a permission denied error from apache, please restart the apache webserver process.

Optional:

Install a webbased Email Client

yum install squirrelmail



