The Perfect Server - OpenSUSE 11.1 [ISPConfig 3] - Page 5

12 MyDNS

Install the MyDNS DNS Server. Run:

cd /tmp
rpm -i mydns*.rpm
rm -f mydns*.rpm

chkconfig --add mydns


13 Install vlogger and Webalizer

cd /tmp
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
yast2 -i webalizer perl-DateManip


14 Install fail2ban

rpm -i

Warnings like "warning: /var/tmp/rpm-xfer.SCm0TM: Header V3 DSA signature: NOKEY, key ID 5b00c76e" can be ignored.


15 Install jailkit

cd /tmp
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
make install
cd ..
rm -rf jailkit-2.5*


16 Synchronize the System Clock

If you want to have the system clock synchronized with an NTP server do the following:

yast2 -i xntp

Then add system startup links for ntp and start ntp:

chkconfig --add ntp
/etc/init.d/ntp start


17 ISPConfig 3

Download the current ISPConfig version and install it. The ISPConfig installer will configure all services like postfix, sasl, courier, etc. for you. A manual setup as required for ISPConfig 2 is not nescessary anymore.

cd /tmp
tar xvfz ISPConfig-3.0.1.tar.gz
cd ispconfig3_install/install/

Now start the installation process by executing:

php -q install.php

 _____ ___________   _____              __ _
|_   _/  ___| ___ \ /  __ \            / _(_)
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
                                              __/ |

>> Initial configuration

Operating System: openSUSE 11.1 or compatible

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with <ENTER>.
    Tap in "quit" (without the quotes) to stop the installer.

Select language (en,de) [en]: en

Installation mode (standard,expert) [standard]: standard

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  []:

MySQL server hostname [localhost]: localhost

MySQL root username [root]: root

MySQL root password []: howtoforge

MySQL database to create [dbispconfig]: dbispconfig

MySQL charset [utf8]: utf8

Generating a 2048 bit RSA private key
writing new private key to 'smtpd.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Howtoforge
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]:8080

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
Restarting service MySQL
Shutting down service MySQL ..done
Starting service MySQL ..done
Shutting down mail service (Postfix)..done
Starting mail service (Postfix)..done
Shutting down service saslauthd..done
Starting service saslauthd..done
Waiting for the process [10980] to terminate
Waiting for the process [10980] to terminate
Daemon [10980] terminated by SIGTERM
Shutting down virus-scanner (amavisd-new):..done
Starting virus-scanner (amavisd-new):..done
Shutting down Clam AntiVirus daemon ..done
LibClamAV Warning: **************************************************
LibClamAV Warning: ***  The virus database is older than 7 days!  ***
LibClamAV Warning: ***   Please update it as soon as possible.    ***
LibClamAV Warning: **************************************************
Starting Clam AntiVirus daemon ..done
Shutting down Courier Authentication Daemon ..done
Starting Courier Authentication Daemon ..done
Shutting down Courier-IMAP ..done
Starting Courier-IMAP ..done
Shutting down Courier-IMAP (SSL)..done
Starting Courier-IMAP (SSL)..done
Shutting down Courier-POP3 ..done
Starting Courier-POP3 ..done
Shutting down Courier-POP3 (SSL)..done
Starting Courier-POP3 (SSL)..done
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) ..done
Starting httpd2 (prefork) Shutting down pure-ftpd..done
Starting pure-ftpd..done
Installation completed.

Create a symlink for phpMyAdmin:

ln -s /srv/www/htdocs/phpMyAdmin /usr/local/ispconfig/interface/web/phpmyadmin

Cleanup the /tmp directory:

rm -f /tmp/ispconfig3_install
rm -f ISPConfig-3.0.1.tar.gz

To log in to the ISPConfig control panel, open this URL in your browser (replace the IP to match your settings!):

The default login is:

user: admin
password: admin


17.1 ISPConfig 3 Manual


18 Optional

Install a webbased email client:

rpm -i
ln -s /srv/www/htdocs/squirrelmail /usr/local/ispconfig/interface/web/webmail


19 Disable AppArmor

AppArmor is a security extension of SUSE (similar to Fedora's SELinux) that should provide extended security. In my opinion you don't need it to configure a secure system, and it usually causes more problems than advantages (think of it after you have done a week of trouble-shooting because some service wasn't working as expected, and then you find out that everything was ok, only AppArmor was causing the problem). Therefore I disable it (this is a must if you want to install ISPConfig later on).

We can disable it like this:

/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor


Share this page:

Suggested articles

11 Comment(s)

Add comment


By: OvrFlote

I am putting a script together (first attempt at scripting) that will do all of this for you, I have made the changes in the commands that the other users commented on.  This is just a personal project but if anyone is interested, send me an email. basically, I'm just coping and pasting from this tutorial to my script, since all of this runs from the command line. But I am wondering if the author of the tutorial has the end user download all of the packages seperately for a reason or is it just due to the amount of time it takes to install all the packages. In my script i put all of the needed packages in one "yast2 -i" command. Excellent tutorial though. Really helpful and dead on. Once this script is working, I will add Openfire, and Wowza to the mix.

By: Daniel Prez

I installed everything like the how to explain. My system is function normally but i don't have DNS resolution, i'd like your script to compare with my instalation and see if i am doing something bad.


Daniel Prez

By: mdconner

Did you ever complete your project and have a working install config script?


This applies to the other package too... (you only mentioned the mysql sub-package)



The current version of MYDNS is:



Should the line:

rm -f /tmp/ispconfig3_install


rm -rf /tmp/ispconfig3_install



By: Emska

Current fail2ban is  fail2ban-0.8.3-3.1.i586.rpm. To obtain it :

rpm -i 

By: Anonymous

Postfix not sending and not receiving any messages in this configuration . This is too low . In second Suse 11.1 tutorial is better postfix config.Please write more details how to create running email. Its my problem only?


By: Daniel Prez

I had problems with virtual domains. In the apache log, the system says me that i'd been overlap when i created two or more sites, and that the first of these have been precedence.

Searching information in Internet i found that should delete the # in the line that virtualname *:80 in /etc/apache2/listen.conf.

But this is not everything, also i had to modify /etc/apache2/sites-available/name-site.vhost and write  the complete name in servername, for example instead of *

I want help to the ispconfig create my new sites with these template in  /etc/apache2/sites-available/. If somebody knows how i can do it please !! write me.

Thanks to all pleople and the writers of this how to.

Daniel Prez

By: Ozgur Dagli

You have to edit that "/etc/apache2/Listen.conf" to include these two lines.

Listen 80
NameVirtualHost *:80

First line is deafult listening port for global http server, you can add any other listening ports for special purposes. If you add any virtual servers differ than port 80, you have to add "Listen [XX]" and "NameVirtualHost *:[XX]" to your configuration.

"NameVirtualHost" parameter is required to apache for handling virtual domains...

By: Cracklefish

Fail2ban doesn't appear to be available from SUSE anymore, I tracked down a SUSE version at:

rpm -i