Server Setup · 5 min read · Sep 20, 2025

Der perfekte Server - OpenSUSE 11.3 x86_64 [ISPConfig 2] - Seite 4

8 MySQL

Um MySQL zu installieren, führen wir aus

yast2 -i mysql mysql-community-server mysql-client perl-DBD-mysql perl-DBI perl-Data-ShowTable libmysqlclient-devel libmysqlclient16 libmysqlclient16-32bit libmysqlclient_r16-32bit

Dann fügen wir die Systemstartlinks für MySQL hinzu und starten es:

chkconfig –add mysql
/etc/init.d/mysql start

Überprüfen Sie nun, ob das Netzwerk aktiviert ist. Führen Sie aus

netstat -tap | grep mysql

Im Ausgabe sollten Sie etwas wie dies sehen:

server1:~ # netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 5336/mysqld
server1:~ #

Wenn Sie keine Zeile wie diese sehen, bearbeiten Sie /etc/my.cnf, kommentieren Sie die Option skip-networking aus:

vi /etc/my.cnf

| [...] #skip-networking [...] |

und starten Sie Ihren MySQL-Server neu:

/etc/init.d/mysql restart

Um die MySQL-Installation zu sichern, führen Sie aus:

mysql_secure_installation

Jetzt werden Ihnen mehrere Fragen gestellt:

server1:~ # mysql_secure_installation

HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPT WIRD FÜR ALLE MySQL
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!

Um sich in MySQL anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MySQL gerade installiert haben und
Sie das Root-Passwort noch nicht festgelegt haben, ist das Passwort
leer, sodass Sie hier einfach die Eingabetaste drücken sollten.

Geben Sie das aktuelle Passwort für root ein (Eingabe für keines): <– EINGABE
OK, Passwort erfolgreich verwendet, weiter…

Das Festlegen des Root-Passworts stellt sicher, dass niemand ohne die
richtige Autorisierung in den MySQL-Root-Benutzer einloggen kann.

Root-Passwort festlegen? [Y/n] <– EINGABE
Neues Passwort: <– IhrrootSQLPasswort
Neues Passwort erneut eingeben: <– IhrrootSQLPasswort
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
… Erfolg!

Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, der es
jedem ermöglicht, sich in MySQL einzuloggen, ohne ein Benutzerkonto
zu haben. Dies ist nur für Tests gedacht, um die Installation
etwas reibungsloser zu gestalten. Sie sollten sie entfernen, bevor Sie
in eine Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [Y/n] <– EINGABE
… Erfolg!

Normalerweise sollte root nur von ‘localhost’ aus verbinden dürfen.
Dies stellt sicher, dass jemand das Root-Passwort nicht über das
Netzwerk erraten kann.

Root-Login aus der Ferne verbieten? [Y/n] <– EINGABE
… Erfolg!

Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die
jeder zugreifen kann. Dies ist ebenfalls nur für Tests gedacht und
sollte entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.

Testdatenbank und Zugriff darauf entfernen? [Y/n] <– EINGABE

  • Testdatenbank wird gelöscht…
    … Erfolg!
  • Berechtigungen auf Testdatenbank werden entfernt…
    … Erfolg!

Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle
Änderungen, die bisher vorgenommen wurden, sofort wirksam werden.

Berechtigungstabellen jetzt neu laden? [Y/n] <– EINGABE
… Erfolg!

Aufräumen…

Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen
haben, sollte Ihre MySQL-Installation jetzt sicher sein.

Danke, dass Sie MySQL verwenden!

server1:~ #

Jetzt sollte Ihre MySQL-Einrichtung gesichert sein.

Jetzt müssen wir dies tun…

mkdir -p /usr/local/lib/mysql
ln -s /usr/include/mysql /usr/local/lib/mysql/include
ln -s /usr/lib64/mysql /usr/local/lib/mysql/lib
cd /usr/local/lib/mysql/lib
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16.0.0
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16.0.0

… denn andernfalls würden wir während der ISPConfig-Installation den folgenden Fehler erhalten:

configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql. 

9 Postfix Mit SMTP-AUTH Und TLS

Jetzt installieren wir Postfix und Cyrus-SASL:

yast2 -i postfix cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd procmail

Dann fügen wir die Systemstartlinks für Postfix und saslauthd hinzu und starten sie:

chkconfig –add postfix
/etc/init.d/postfix start

chkconfig –add saslauthd
/etc/init.d/saslauthd start

Anschließend erstellen wir die Zertifikate für TLS:

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Als nächstes konfigurieren wir Postfix für SMTP-AUTH und TLS:

postconf -e ‘mydomain = example.com’
postconf -e ‘myhostname = server1.$mydomain’
postconf -e ‘mynetworks = 127.0.0.0/8’
postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_sasl_authenticated_header = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains’
postconf -e ‘inet_interfaces = all’
postconf -e ‘alias_maps = hash:/etc/aliases’
postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’

(Stellen Sie sicher, dass Sie den richtigen Hostnamen/Domäne in mydomain und myhostname verwenden!)

Um TLS-Verbindungen in Postfix zu aktivieren, bearbeiten Sie /etc/postfix/master.cf und kommentieren Sie die tlsmgr-Zeile aus, sodass sie wie folgt aussieht:

vi /etc/postfix/master.cf

| [...] tlsmgr unix - - n 1000? 1 tlsmgr [...] |

Jetzt starten Sie Postfix neu:

/etc/init.d/postfix restart

Um zu überprüfen, ob SMTP-AUTH und TLS jetzt ordnungsgemäß funktionieren, führen Sie den folgenden Befehl aus:

telnet localhost 25

Nachdem Sie die Verbindung zu Ihrem Postfix-Mailserver hergestellt haben, geben Sie ein

ehlo localhost

Wenn Sie die Zeilen sehen

250-STARTTLS

und

250-AUTH LOGIN PLAIN 

dann ist alles in Ordnung.

Auf meinem System sieht die Ausgabe so aus:

server1:/etc/postfix/ssl # telnet localhost 25
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
server1:/etc/postfix/ssl #

Geben Sie

quit

ein, um zur Shell des Systems zurückzukehren.

10 Courier-IMAP/Courier-POP3

Ich möchte einen POP3/IMAP-Daemon verwenden, der Maildir-Unterstützung hat. Deshalb verwende ich Courier-IMAP und Courier-POP3.

yast2 -i courier-imap fam-server courier-authlib expect tcl

Anschließend fügen wir die Systemstartlinks hinzu und starten POP3, IMAP, POP3s und IMAPs:

chkconfig –add fam
chkconfig –add courier-authdaemon
chkconfig –add courier-pop
chkconfig –add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig –add courier-pop-ssl
chkconfig –add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start

Wenn Sie ISPConfig nicht verwenden möchten, konfigurieren Sie Postfix so, dass E-Mails an das Maildir eines Benutzers zugestellt werden:

postconf -e ‘home_mailbox = Maildir/‘
postconf -e ‘mailbox_command =’
/etc/init.d/postfix restart

*Bitte beachten Sie: Sie müssen dies nicht tun (aber es schadet nicht ;-)), wenn Sie vorhaben, ISPConfig auf Ihrem System zu verwenden, da ISPConfig die erforderliche Konfiguration mit procmail-Rezepten vornimmt. Stellen Sie jedoch sicher, dass Sie Maildir unter Verwaltung -> Server -> Einstellungen -> EMail in der ISPConfig-Weboberfläche aktivieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.