| | |
| | | =============================================================================== |
| | | |
| | | 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.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 |
| | | ___ |
| | | |
| | | |
| | | 1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin with the following command line (on one line!): |
| | | |
| | | 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 |
| | | SSL certificate required <-- Ok |
| | | |
| | | ...use your own domain name of course ;) |
| | | ... 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 |
| | | ___ |
| | | |
| | | |
| | | 2) Install Amavisd-new, Spamassassin and Clamav (1 line!): |
| | | |
| | | 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 |
| | |
| | | ./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 |
| | |
| | | esac |
| | | |
| | | exit 0 |
| | | --------------------------------------------------------------------------- |
| | | ------------------------------------------------------------------------------- |
| | | |
| | | now execute: |
| | | |
| | | ___ |
| | | chmod +x /etc/init.d/mydns |
| | | update-rc.d mydns defaults |
| | | ___ |
| | | |
| | | |
| | | 6) Install vlogger and webalizer |
| | | 7) Install vlogger, webalizer and firewall |
| | | ******************************************************************************* |
| | | ___ |
| | | apt-get install vlogger webalizer bastille |
| | | ___ |
| | | |
| | | apt-get install vlogger webalizer |
| | | 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.7-beta.tar.gz |
| | | tar xvfz ISPConfig_3.0.0.7-alpha.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!): |
| | | |
| | |
| | | In case you get a permission denied error from apache, please restart the apache webserver process. |
| | | |
| | | |
| | | 8) Apache Fix |
| | | 8) Further Configuration-Tips |
| | | ******************************************************************************* |
| | | 8.1) Apache |
| | | ******************************************************************************* |
| | | edit /etc/apache2/sites-available/default |
| | | change the first lines to match your system. |
| | | |
| | | Once you have restarted Apache you need to fix a quick setting in apache2. |
| | | 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 |
| | | |
| | | a) rm /etc/apache2/sites-enabled/000-default |
| | | <VirtualHost 0.0.0.0:80> |
| | | ServerAdmin webmaster@localhost |
| | | |
| | | b) echo "NameVirtualHost *:80">> /etc/apache2/httpd.conf |
| | | DocumentRoot /var/www/apache2-default/ |
| | | |
| | | c) /etc/init.d/apache2 restart |
| | | ### |
| | | |
| | | 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) Optional packages |
| | | 9) Additional Software |
| | | ******************************************************************************* |
| | | 9.1) NTP, Denyhosts |
| | | ******************************************************************************* |
| | | __ |
| | | apt-get install ntp denyhosts |
| | | __ |
| | | |
| | | 9.1) Installing Jailkit: |
| | | in /etc/ntp.conf replace the server-line with: |
| | | ### |
| | | server 0.pool.ntp.org |
| | | server 1.pool.ntp.org |
| | | server 2.pool.ntp.org |
| | | ### |
| | | |
| | | 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* |
| | | 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 |
| | | ******************************************************************************* |
| | | :-) |