Skip to content
INSTALL_UBUNTU_8.10.txt 12.4 KiB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439
===============================================================================

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:

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
___


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 maildrop getmail4
___

Answer the questions from the package manager as follows.

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 ;)

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
chmod 4755 /var/run/courier/authdaemon

___
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
___


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
___

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:
###
x-httpd-php=php:/usr/bin/php-cgi
###

4.2) Optional: Install Fast-CGI
*******************************************************************************
___
apt-get install libapache2-mod-fcgid
___


5) Install pure-ftpd and quota
*******************************************************************************
___
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
echo 'yes' > /etc/pure-ftpd/conf/DontResolve
___


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
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
___


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
___


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/
___

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) Further Configuration-Tips
*******************************************************************************
8.1) Apache
*******************************************************************************
edit /etc/apache2/sites-available/default
change the first lines to match your system.

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

<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
*******************************************************************************
:-)