View Single Post
Old 7th November 2010, 10:46
radim_h radim_h is offline
Senior Member
Join Date: Jan 2007
Location: Prague, Czech
Posts: 426
Thanks: 34
Thanked 26 Times in 21 Posts
Send a message via ICQ to radim_h
Default This One is from SVN trunk, for Debian 6 bud i used it for Ubuntu 10.4


# It is recommended to use a clean (fresh) Debian Squeeze 6.0 install where you just selected "Standard System" at the package selection during
# setup (tasksel). Then follow the steps below to setup your server with ISPConfig 3. In this guide "vi" is used as text editor, but
# you can use whatever you prefer. You should be root for doing all of this.

# Check we have Fully Qualified Domain Name


# it should return something like ""
# if not, then we assign a hostname (for example ispconfig):

echo > /etc/hostname

vi /etc/hosts

# and add lines similar but appropriate: localhost.localdomain localhost ispconfig

# Run:


# enable the Debian Volatile repository to get an updated ClamAV version
# The Volatile repository for Debian Squeeze was not available yet at the time this howto was written.
# echo "deb squeeze/volatile main contrib non-free" >> /etc/apt/sources.list.d/volatile.list
# apt-get update

# Some optional choices

opt0.1) Optionally install SSH-server to get remote shell

apt-get install openssh-server

opt0.2) Optionally, if you are not running inside a virtual machine, you can set server clocksync via NTP. Virtual guests get this from the host.

apt-get -y install ntp ntpdate

opt0.3) Optionally if you want vi editor improvement

apt-get -y install vim-nox

# Next is the real deal

1) Install Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils with the following command line (on one line!):

apt-get -y install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d sudo

# Answer the questions from the package manager as follows.

General type of configuration? <-- Internet site
Mail name? <-- server1.mydomain.tld

# ...use your own domain name of course

# Edit the file /etc/mysql/my.cnf

vi /etc/mysql/my.cnf

# and change the line:

bind-address =


#bind-address =

# then restart mysql

/etc/init.d/mysql restart

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

apt-get -y install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

3) Install Apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):

apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby

# When phpMyAdmin is asking wether to configure itself automatically, select "Apache2"

# Then run the following to enable the Apache modules suexec, rewrite and ssl:

a2enmod suexec rewrite ssl actions include ruby

# restart Apache before continuing

/etc/init.d/apache2 restart

4) Install pure-ftpd and quota

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

# Optional: Enable TLS in pureftpd
echo 1 > /etc/pure-ftpd/conf/TLS
mkdir -p /etc/ssl/private/
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem

# Edit /etc/fstab. Mine looks like this (I added ,usrquota,grpquota to the partition with the mount point /):

vi /etc/fstab

# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1
/dev/sda5 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

# To enable quota, run these commands:

touch /aquota.user /
chmod 600 /aquota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

5) Install BIND DNS Server

apt-get -y install bind9 dnsutils

6) Install vlogger and webalizer

apt-get -y install vlogger webalizer awstats

mkdir /usr/share/awstats/tools
cp -prf /usr/share/doc/awstats/examples/ /usr/share/awstats/tools/

7) Install Jailkit (optional, only needed if you want to use chrooting for SSH users)

apt-get -y install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
tar xvfz jailkit-2.11.tar.gz
cd jailkit-2.11
./debian/rules binary
cd ..
dpkg -i jailkit_2.11-1_*.deb
rm -rf jailkit-2.11*

8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
More info at:

apt-get -y install fail2ban

9) Install ISPConfig 3

cd /tmp
tar xvfz ISPConfig-
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!):

# the default login is:

user: admin
password: admin

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


Install a webbased Email Client

apt-get install squirrelmail
ln -s /usr/share/squirrelmail/ /var/www/webmail

Access squirrelmail:

To configure squirrelmail, run:




debian 5.0 under openvz:

vzctl set $VPSID --capability ${CAP}n --save


Optional recommended packages:

denyhosts - a utility to help sys admins thwart ssh crackers
rsync - fast remote file copy program (for backup)


Ispc log files rotation, for now manual add but to add in ispc installer:


/var/log/ispconfig/ispconfig.log {
rotate 4
/var/log/ispconfig/cron.log {
rotate 4


Possible errors and their solutions

pureftpd login does not work. Take a look at the syslog, if you find an error message like this:
Mar 24 16:26:28 ispconfig pure-ftpd: (?@?) [ERROR] Sorry, invalid address given

then pureftpd is not able to resolve the hostname. Name resolving can be disabled with these commands:

echo 'yes' > /etc/pure-ftpd/conf/DontResolve
/etc/init.d/pure-ftpd-mysql restart
Reply With Quote