Installation
|
------------
|
|
It is recommended to use a clean (fresh) Ubuntu 8.04 LTS install where you selected no additional packages or servers during setup. Then follow the steps below to setup your server with ISPConfig 3:
|
|
Now become root user by executing:
|
|
sudo su
|
|
and entering the password of the user that you created during setup.
|
|
Edit the file /etc/apt/sources.list and comment out the line beginning with "deb cdrom:....", then run:
|
|
apt-get update
|
apt-get -u upgrade
|
|
|
1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin with the following command line (on one line!):
|
|
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4
|
|
Answer the questions from the package manager as follows.
|
|
Enter the mysql root password.
|
Create directories for web-based administration ? <-- No
|
General type of configuration? <-- Internet site
|
Mail name? <-- server1.mydomain.tld
|
SSL certificate required <-- Ok
|
|
...use your own domain name of course ;)
|
|
|
2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
|
|
apt-get 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 and phpmyadmin (1 line!):
|
|
apt-get 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
|
|
Then run the following to enable the Apache modules:
|
|
a2enmod suexec
|
a2enmod rewrite
|
a2enmod ssl
|
a2enmod include
|
|
|
3.1) Optional: Install SuPHP
|
|
apt-get install libapache2-mod-suphp
|
|
vi /etc/suphp/suphp.conf
|
|
set docroot to:
|
|
docroot=/var/clients
|
|
Change:
|
|
application/x-httpd-php=php:/usr/bin/php-cgi
|
|
to:
|
|
x-httpd-php=php:/usr/bin/php-cgi
|
|
|
4) Install pure-ftpd and quota
|
|
First we have to make sure that the capability module is loaded in the kernel
|
|
modprobe capability
|
echo 'capability' >> /etc/modules
|
|
Then we install pureftpd and quota.
|
|
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
|
|
echo 'yes' > /etc/pure-ftpd/conf/DontResolve
|
|
|
5) Install mydns
|
|
apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
|
|
cd /tmp
|
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.15.tar.gz
|
tar xvfz mydns-1.2.8.15.tar.gz
|
cd mydns-1.2.8
|
./configure
|
make
|
make install
|
|
Now create the start / stop script for mydns:
|
|
vi /etc/init.d/mydns
|
|
and enter the following lines (between the ----- lines):
|
|
------------------------------------------------------
|
#! /bin/bash
|
#
|
# mydns Start the MyDNS server
|
#
|
# Author: Philipp Kern <phil@philkern.de>.
|
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
|
# <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
|
#
|
|
set -e
|
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
DAEMON=/usr/local/sbin/mydns
|
NAME=mydns
|
DESC="DNS server"
|
|
SCRIPTNAME=/etc/init.d/$NAME
|
|
# Gracefully exit if the package has been removed.
|
test -x $DAEMON || exit 0
|
|
case "$1" in
|
start)
|
echo -n "Starting $DESC: $NAME"
|
start-stop-daemon --start --quiet \
|
--exec $DAEMON -- -b
|
echo "."
|
;;
|
stop)
|
echo -n "Stopping $DESC: $NAME"
|
start-stop-daemon --stop --oknodo --quiet \
|
--exec $DAEMON
|
echo "."
|
;;
|
reload|force-reload)
|
echo -n "Reloading $DESC configuration ..."
|
start-stop-daemon --stop --signal HUP --quiet \
|
--exec $DAEMON
|
echo "done."
|
;;
|
restart)
|
echo -n "Restarting $DESC: $NAME"
|
start-stop-daemon --stop --quiet --oknodo \
|
--exec $DAEMON
|
sleep 1
|
start-stop-daemon --start --quiet \
|
--exec $DAEMON -- -b
|
echo "."
|
;;
|
*)
|
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
|
exit 1
|
;;
|
esac
|
|
exit 0
|
---------------------------------------------------------------------------
|
|
now execute:
|
|
chmod +x /etc/init.d/mydns
|
update-rc.d mydns defaults
|
|
|
6) Install vlogger and webalizer and firewall
|
|
apt-get install vlogger webalizer bastille
|
|
|
7) Install ISPConfig 3
|
|
There are two possile scenarios a) or b), but not both:
|
|
a) Installation of beta 3
|
|
cd /tmp
|
wget http://www.ispconfig.org/downloads/ISPConfig_3.0.0.7-beta.tar.gz
|
tar xvfz ISPConfig_3.0.0.7-alpha.tar.gz
|
cd ispconfig3_install/install/
|
|
b) Installation from SVN
|
|
apt-get install subversion
|
cd /tmp
|
svn export svn://svn.ispconfig.org/ispconfig3/trunk/
|
cd trunk/install
|
|
after a) or b)
|
|
proceed with the ISPConfig installation.
|
|
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 nescessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):
|
|
http://server1.mydomain.tld: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.
|
|
|
8) Apache Fix
|
|
Once you have restarted Apache you need to fix a quick setting in apache2.
|
|
a) rm /etc/apache2/sites-enabled/000-default
|
|
b) echo "NameVirtualHost *:80">> /etc/apache2/httpd.conf
|
|
c) /etc/init.d/apache2 restart
|
|
|
9) Optional packages
|
|
9.1) Installing Jailkit:
|
|
apt-get install build-essential autoconf automake1.9 libtool flex bison
|
cd /tmp
|
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
|
tar xvfz jailkit-2.5.tar.gz
|
cd jailkit-2.5
|
./configure
|
make
|
make install
|
rm -rf jailkit-2.5*
|