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

8 Install Postfix, Courier, Saslauthd, MySQL


yast2 -i postfix postfix-mysql mysql mysql-client courier-imap courier-authlib courier-authlib-mysql python cron cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd libmysqlclient-devel pwgen

Start MySQL, Postfix, SASL and Courier and enable the services to be started at boot time.

chkconfig --add mysql
chkconfig --add postfix
chkconfig --add saslauthd
chkconfig --add fam
chkconfig --add courier-authdaemon
chkconfig --add courier-pop
chkconfig --add courier-imap
chkconfig --add courier-pop-ssl
chkconfig --add courier-imap-ssl
/etc/init.d/mysql start
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start

Now I install some rpm packages which are not available from the openSUSE main repositorys.

cd /tmp
rpm -i
rpm --force -i

Warnings like: "warning: getmail-4.7.6-1.4.i586.rpm: Header V3 DSA signature: NOKEY, key ID 367fe7fc" can be ignored.

Next I install the pam_mysql module from source. pam_mysql is not available from the main openSUSE repository and the package from the build service does not worked for me.

yast2 -i pam-devel
cd /tmp
tar xvfz pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
make install
rm -rf /tmp/pam_mysql-0.7RC1
rm /tmp/pam_mysql-0.7RC1.tar.gz

To secure the MySQL installation, run:


Now you will be asked several questions:

server1:~ # mysql_secure_installation


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n]
 <-- Y
New password: <-- fill in your desired MySQL root password
Re-enter new password: <-- confirm that password
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]
 <-- Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]
 <-- Y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]
 <-- Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
 <-- Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

server1:~ #

Now your MySQL setup should be secured.


9 Amavisd-new, Spamassassin and Clamav

Install Amavisd-new, Spamassassin and Clamav antivirus. Run

yast2 -i amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

To enable it, run:

chkconfig --add amavis
chkconfig --add clamd
/etc/init.d/amavis start
/etc/init.d/clamd start


10 Install the apache 2 Webserver and PHP5

Inastall apache2 and suphp. Run:

yast2 -i apache2 apache2-mod_fcgid
rpm -i

Install PHP5:

yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5

Then run these commands to enable the apache modules:

a2enmod suexec
a2enmod rewrite
a2enmod ssl
a2enmod actions
a2enmod suphp
a2enmod fcgid
chown root:www /usr/sbin/suexec2
chmod 4755 /usr/sbin/suexec2

And start Apache.

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

Installing phpMyAdmin:

  rpm -i

Warnings like "warning: phpMyAdmin-3.1.2-1.1.src.rpm: Header V3 DSA signature: NOKEY, key ID 367fe7fc" can be ignored.


11 pure-ftpd

Install the pure-ftpd FTP daemon. Run:

yast2 -i pure-ftpd quota

chkconfig --add pure-ftpd
/etc/init.d/pure-ftpd start

Share this page:

Suggested articles

11 Comment(s)

Add comment



The version of phpMyAdmin in the openSUSE repo seems to have changed. The version there now is:


 I ran

"rpm -i"

it seems to work!

By: Anonymous

The current version is now

By: itsonlyme

it's now version 3.2.0-1.1

By: Wendy

You may need to change to root folder before doing mysql secure:

 cd /


By: Anonymous

i ran into a problem when i was trying to run..


 so i found this fix hopefully it helps you out.

 "echo 'export PATH=$PATH:/Applications/MAMP/Library/bin' >> ~/.bash_profile"

By: itsonlyme

I used 


because I could't find your version, hope that's ok....

By: itsonlyme

and for pam-mysql-0-7RC1-tar-gz

I had to use


because that package has been moved

By: itsonlyme

and better still, instead of :

cd /tmp
wget http://heanet.dl.... etc

just use :

rpm -i

By: Anonymous

 rpm --force -i
warning: /var/tmp/rpm-xfer.OCxYJZ: Header V3 DSA signature: NOKEY, key ID 6530cd38
error: Failed dependencies: is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586 is needed by maildrop-2.1.0-3.2.i586

By: Cracklefish

The current version can be got from:

rpm -i

However, this requires php5-fastcgi before it will load so I ran the  next statement and installed the php modules then ran the suphp install.

By: Cracklefish

There seems to be a problem with the version of Getmail-4.17.0 on the openSUSE site, whatever version of Python I have tried it still gives a "requires Python <2.6..." message so here is what I did:

cd /tmp


tar xvfz getmail-4.17.0.tar.gz

cd getmail-4.17.0

python build

python install

This was using Python 2.7b1 which is the end of life V2 Release Candidate. Apparently they will support this for 5 years. I've not tried the V3 versions on offer (if it a'int broke...!)