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