From a7cf088ca97da6ad43dab9ebbc70a8124099ad3a Mon Sep 17 00:00:00 2001
From: redray <redray@ispconfig3>
Date: Mon, 29 Dec 2008 13:18:17 +0000
Subject: [PATCH] updated ubuntu 8.04 install doc

---
 INSTALL_UBUNTU_8.04.txt | 375 +++++++++++++++++++++++++++++++---------
 1 file changed, 289 insertions(+), 86 deletions(-)

diff --git a/INSTALL_UBUNTU_8.04.txt b/INSTALL_UBUNTU_8.04.txt
index 6aeee780d7..bd40565a38 100644
--- a/INSTALL_UBUNTU_8.04.txt
+++ b/INSTALL_UBUNTU_8.04.txt
@@ -1,90 +1,147 @@
+===============================================================================
+
 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:
-
+1) Prepare your OS
+*******************************************************************************
+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!):
-
+___
+
+1.1) Change The Default Shell
+*******************************************************************************
+There are alway Shell-Scripts which are not POSIX-compatible and only run when using BASH instead of DASH!
+___
+sudo dpkg-reconfigure dash
+                           <-- ANSWER WITH: No
+___
+
+1.1) Install some software
+*******************************************************************************
+___
+apt-get install wget
+___
+
+
+2) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin
+*******************************************************************************
+(1 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.
+Enter the mysql root password. <-- Enter your 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!):
-
+SSL certificate required <-- Ok
+
+... use your own domain name of course ;)
+
+Authentication will be done by saslauthd. We have to change a few things to make it work properly. Because Postfix runs chrooted in /var/spool/postfix  we have to do the following:
+___
+echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
+echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf
+
+mkdir -p /var/spool/postfix/var/run/saslauthd
+___
+Now we have to edit /etc/default/saslauthd in order to activate saslauthd. Set
+###
+START=yes
+###
+
+and change the line OPTIONS="-c -m /var/run/saslauthd" to
+###
+OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
+###
+
+Next add the postfix user to the sasl group (this makes sure that Postfix has the permission to access saslauthd):
+___
+adduser postfix sasl
+___
+
+Now restart Postfix and start saslauthd:
+___
+/etc/init.d/postfix restart
+/etc/init.d/saslauthd start
+___
+
+
+3) 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!):
-
+4) 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
 a2enmod actions
+a2enmod headers
+___
 
-
-3.1) Optional: Install SuPHP
-
+4.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:
-
+Change: application/x-httpd-php=php:/usr/bin/php-cgi to:
+###
 x-httpd-php=php:/usr/bin/php-cgi
+###
 
+4.2) Optional: Install Fast-CGI
+*******************************************************************************
+___
+apt-get install libapache2-mod-fcgid
+___
 
-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.
 
+5) Install pure-ftpd and quota
+*******************************************************************************
+___
 apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
-
 echo 'yes' > /etc/pure-ftpd/conf/DontResolve
+___
 
 
-5) Install mydns
-
+6) 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
@@ -92,14 +149,16 @@ 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):
+and enter the following lines (between the "---"-lines):
 
-------------------------------------------------------
+-------------------------------------------------------------------------------
 #! /bin/bash
 #
 # mydns         Start the MyDNS server
@@ -156,44 +215,61 @@ case "$1" in
 esac
 
 exit 0
----------------------------------------------------------------------------
+-------------------------------------------------------------------------------
 
 now execute:
-
+___
 chmod +x /etc/init.d/mydns
 update-rc.d mydns defaults
+___
 
 
-6) Install vlogger and webalizer and firewall
-
+7) Install vlogger, webalizer and firewall
+*******************************************************************************
+___
 apt-get install vlogger webalizer bastille
+___
 
+7.1) OPTIONAL: 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
+___
 
-7) Install ISPConfig 3
 
+8) 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.8-rc1.tar.gz
-    tar xvfz ISPConfig_3.0.0.8-rc1.tar.gz
-    cd ispconfig3_install/install/
+___
+cd /tmp
+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/
+___
 
 b) Installation from SVN
+___
+apt-get install subversion
+cd /tmp
+svn export svn://svn.ispconfig.org/ispconfig3/trunk/
+cd trunk/install
+___
 
-    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:
-
+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!):
 
@@ -207,28 +283,155 @@ 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. 
+8) Further Configuration-Tips
+*******************************************************************************
+8.1) Apache
+*******************************************************************************
+edit /etc/apache2/sites-available/default
+change the first lines to match your system.
 
-a) rm /etc/apache2/sites-enabled/000-default
+Replace 0.0.0.0 with your IP.
+Change Document root to /var/www/apache2-default/
+This directory is now the standard-hompage for your Server.
+###
+NameVirtualHost 0.0.0.0:80
 
-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*
+<VirtualHost 0.0.0.0:80>
+	ServerAdmin webmaster@localhost
 
+	DocumentRoot /var/www/apache2-default/
+
+###
+
+8.2) Postfix - Aliases
+*******************************************************************************
+change /etc/aliases
+###
+# See man 5 aliases for format
+postmaster:    root
+clamav: root
+
+root: webmaster@yourdomain.tld
+###
+
+Then run:
+___
+newaliases
+___
+
+8.3) Php.ini
+*******************************************************************************
+I changed the following in the php.ini-Files in the following directorys:
+/etc/php5/apache2/
+/etc/php5/cgi/
+/etc/php5/cli/
+
+It is important to search the following parameters in the php.ini and replace them!!!
+Don't just copy the whole stuff to the end of the file.
+
+###
+memory_limit = 64M      ; Maximum amount of memory a script may consume (16MB)
+
+display_errors = Off
+
+log_errors = On
+
+upload_max_filesize = 32M
+
+allow_url_fopen = On
+allow_url_include = On
+
+date.timezone = Europe/Berlin
+
+extension = imap.so
+extension = mcrypt.so
+
+;Typo3 fast-cgi PHP5 bug fix
+cgi.fix_pathinfo = 0
+
+###
+
+add to the end of the file:
+###
+[htscanner]
+Extension = "htscanner.so"
+config_file = ".htaccess"
+default_docroot = "/var/www"
+###
+
+
+9) Additional Software
+*******************************************************************************
+9.1) NTP, Denyhosts
+*******************************************************************************
+__
+apt-get install ntp denyhosts
+__
+
+in /etc/ntp.conf replace the server-line with:
+###
+server 0.pool.ntp.org
+server 1.pool.ntp.org
+server 2.pool.ntp.org
+###
+
+9.2) Typo3 - typo3.org
+*******************************************************************************
+___
+apt-get install imagemagick php5-gd php5-imagick gs gs-esp
+___
+
+There is a bug in the php5-library under Ubuntu 8.04. You can fix it by changing "cgi.fix_pathinfo = 0" in the php.ini. Look at 8.4).
+
+10.2) Horde (Webmail) - horde.org
+*******************************************************************************
+First of all, install the horde3 and Imp4 packages (Ubuntu/Debian)
+___
+apt-get install horde3 imp4 gollem kronolith2 mnemo2 nag2 turba2
+pear install --onlyreqdeps Log Mail Mail_Mime MDB2 File Date
+___
+
+It is then necessary to setup an Alias for Apache. 
+If you want horde only on single pages, that are created with ispc3:
+Add the following line to ISPConfig->Sites->Web Domain->Options->Apache directives
+If you want to access webmail on all pages add the following line to /etc/apache2/apache2.conf
+###
+Alias /horde3 /usr/share/horde3
+###
+
+Allow Apache to write horde configuration files :
+___
+chown -R www-data:www-data /etc/horde
+___
+
+Important parameters to change are (in Horde setup) :
+###
+Horde URL (change it to /horde3)
+Enable Database Access. Do Not use MySQL Improved (4+), my attempts at using it failed. MySQL Standard runs fine however
+Enable Authentication. I recommend IMAP authentication (something like {localhost:143/imap/notls}. Do not forget the /notls, not specifying failed on my setup). Also make sure to add your username to the list of Administrators, otherwise, you won’t have access to horde/imp4 parameters. Using anything else than IMAP seeemed to fail on my setup
+Generate the configuration
+Horde should now be setup. You now have to configure imp4
+generate a configuration using the horde administration panel
+modify the /etc/horde/imp4/servers.php file. Instruction are given inside the file concerning the syntax. If you run Courier-IMAP, and want Imp to automatically authenticate using horde credentials :
+$servers[’imap’] = array(
+‘name’ => ‘IMAP Server’,
+’server’ => ‘localhost’,
+‘hordeauth’ => true,
+‘protocol’ => ‘imap/notls’,
+‘port’ => 143,
+‘folders’ => ‘INBOX.’,
+‘namespace’ => ‘’,
+‘maildomain’ => ‘domain.com’,
+’smtphost’ => ‘localhost’,
+’smtpport’ => 25,
+‘realm’ => ‘’,
+‘preferred’ => ‘’,
+‘dotfiles’ => false,
+‘hierarchies’ => array()
+);
+###
+
+
+11) have fun and drink a cup of coffee
+*******************************************************************************
+:-)
-- 
GitLab