tbrehm
2009-02-08 dab85326e23b684ecf731ce5be6b67a563a0f09f
INSTALL_DEBIAN_LENNY.txt
@@ -1,83 +1,149 @@
Installation
-----------
It is recommended to use a clean (fresh) Debian etch install where you just selected "Standard System" as the package selection during setup. Then follow the steps below to setup your server with ISPConfig 3:
# It is recommended to use a clean (fresh) Debian lenny install where you just selected "Standard System" as the package selection during
# setup. Then follow the steps below to setup your server with ISPConfig 3. In this guide "vi" is used as texteditor, but you ofcourse
# you can use whatever you prefer. You should be root for doing all of this.
assign hostname (for example ispconfig)
# Check we have Fully Qualified Domain Name
/bin/hostname
# it should return something like "ispconfig.example.com"
# if not, then we assign a hostname (for example ispconfig):
echo ispconfig.example.com > /etc/hostname
vi /etc/hosts
and add line similar but appropriate:
# and add lines similar but appropriate:
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   ispconfig.example.com   ispconfig
1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, ntpdate, rkhunter 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 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 ntp ntpdate rkhunter
Answer the questions from the package manager as follows.
# Some optional choices
opt0.1) Optionally install SSH-server to get remote shell
apt-get install ssh openssh-server
opt0.2) Optionally if you are not running in virtual machine you can set server clocksync via NTP. Virtual quests get this from the host.
apt-get install ntp ntpdate
# Next is the real deal
1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils 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 rkhunter binutils
# Answer the questions from the package manager as follows.
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 ;)
# ...use your own domain name of course ;)
Edit the file /etc/mysql/my.cnf
# Edit the file /etc/mysql/my.cnf
vi /etc/mysql/my.cnf
and comment out the line
# and comment out the line
bind-address          = 127.0.0.1
then restart mysql
# then restart mysql
/etc/init.d/mysql restart
Set the mysql database password:
# Set the mysql database password:
# Again use your own domain name...
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h ispconfig.local -u root password yourrootsqlpassword
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 libapache2-mod-fcgid apache2-suexec
Then run the following to enable the Apache modules:
3) Install apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):
a2enmod suexec
a2enmod rewrite
a2enmod ssl
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 php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt
# When phpMyAdmin is asking weather 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
# Secure phpMyAdmin by deleting setuppassword-file
# and removing/commenting Setup Authorization from apache.conf
rm /etc/phpmyadmin/htpasswd.setup
vi /etc/phpmyadmin/apache.conf
# delete/comment following lines (between the ----- lines):
------------------------------------------------------
        # Authorize for setup
       <Files setup.php>
           # For Apache 1.3 and 2.0
           <IfModule mod_auth.c>
               AuthType Basic
               AuthName "phpMyAdmin Setup"
               AuthUserFile /etc/phpmyadmin/htpasswd.setup
           </IfModule>
           # For Apache 2.2
           <IfModule mod_authn_file.c>
               AuthType Basic
               AuthName "phpMyAdmin Setup"
               AuthUserFile /etc/phpmyadmin/htpasswd.setup
           </IfModule>
           Require valid-user
       </Files>
------------------------------------------------------
opt3.1) Optionally install some image manipulation capabilities to make advanced web designers happy
apt-get install php5-imagick imagemagick
# restart apache before continuing
/etc/init.d/apache2 restart
4) Install pure-ftpd and quota
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
Edit the file /etc/default/pure-ftpd-common
# Edit the file /etc/default/pure-ftpd-common to change the start mode from "inetd" to "standalone".
vi /etc/default/pure-ftpd-common
and change the start mode from inetd to standalone.
Edit the file /etc/inetd.conf
# Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp.
# To do this, comment line starting like "ftp   stream  tcp" by adding "#"-sign in front of the line.
vi /etc/inetd.conf
and comment out the line for the FTP service, so it looks like this:
# ftp   stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
Then execute:
# Then execute:
/etc/init.d/openbsd-inetd restart
5) Install mydns
@@ -85,18 +151,18 @@
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.4.tar.gz
tar xvfz mydns-1.2.8.4.tar.gz
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:
# Now create the start / stop script for mydns:
vi /etc/init.d/mydns
and enter the following lines (between the ----- lines):
# and enter the following lines (between the ----- lines):
------------------------------------------------------
#! /bin/sh
@@ -157,7 +223,7 @@
exit 0
---------------------------------------------------------------------------
now execute:
# now execute:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults
@@ -166,21 +232,37 @@
apt-get install vlogger webalizer
7) Install Jailkit (optional, only needed if you want to use chrroting for SSH users)
7) Install ISPConfig 3
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*
There are two possile scenarios, but not both:
7.1) Install the latest released version
7.2) Install directly from SVN
8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
More info at: http://www.howtoforge.com/fail2ban_debian_etch
7.1) Installation of last version from tar.gz
apt-get install fail2ban
9) Install ISPConfig 3
# There are two possile scenarios, but not both:
9.1) Install the latest released version
9.2) Install directly from SVN
9.1) Installation of last version from tar.gz
  cd /tmp
  wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.6-beta.tar.gz
  tar xvfz ISPConfig-3.0.0.7-beta.tar.gz
  wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.8-rc1.tar.gz
  tar xvfz ISPConfig-3.0.0.8-rc1.tar.gz
  cd ispconfig3_install/install/
7.2) Installation from SVN
9.2) Installation from SVN
  apt-get install subversion
  cd /tmp
@@ -188,23 +270,26 @@
  cd trunk/install
7.1+7.2) Now proceed with the ISPConfig installation.
9.1+9.2) Now proceed with the ISPConfig installation.
Now start the installation process by executing:
# 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!):
# 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://192.168.0.100:8080/
the default login is:
# the default login is:
user: admin
password: admin
In case you get a permission denied error from apache, please restart the apache webserver process.
# In case you get a permission denied error from apache, please restart the apache webserver process.
----------------------------------------------------------------------------------------------------------
Optional:
Install a webbased Email Client
@@ -235,14 +320,8 @@
----------------------------------------------------------------------------------------------------------
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*
Optional recommended packages:
denyhosts - a utility to help sys admins thwart ssh crackers
rsync - fast remote file copy program (for backup)