Server Setup · 6 min read · Nov 17, 2025

Der perfekte Server - Fedora 15 x86_64 [ISPConfig 2] - Seite 4

11 MySQL 5

Um MySQL zu installieren, machen wir Folgendes:

yum install mysql mysql-devel mysql-server

Dann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

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

netstat -tap | grep mysql

Es sollte etwas wie folgt anzeigen:

[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 1151/mysqld
[root@server1 ~]#

Wenn nicht, bearbeiten Sie /etc/my.cnf und kommentieren Sie die Option skip-networking aus:

vi /etc/my.cnf

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

und starten Sie Ihren MySQL-Server neu:

/etc/init.d/mysqld restart 

Führen Sie aus

 mysql_secure_installation 

um ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!).

[root@server1 ~]# mysql_secure_installation

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

Um sich in MySQL anzumelden, um es abzusichern, benötigen wir das aktuelle
Passwort für den Benutzer root. Wenn Sie MySQL gerade installiert haben und
Sie das root-Passwort noch nicht festgelegt haben, wird das Passwort leer sein,
also sollten Sie hier einfach die Eingabetaste drücken.

Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines): <– EINGABETASTE
OK, Passwort erfolgreich verwendet, weiter…

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

Root-Passwort festlegen? [Y/n] <– EINGABETASTE
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 dass ein Benutzerkonto
für ihn erstellt werden muss. Dies ist nur für Tests gedacht und soll
die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen,
bevor Sie in eine Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [Y/n] <– EINGABETASTE
… 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 verweigern? [Y/n] <– EINGABETASTE
… Erfolg!

Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die
niemand 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] <– EINGABETASTE

  • Testdatenbank wird gelöscht…
    … Erfolg!
  • Berechtigungen für die Testdatenbank werden entfernt…
    … Erfolg!

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

Berechtigungstabellen jetzt aktualisieren? [Y/n] <– EINGABETASTE
… 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!

[root@server1 ~]#

12 Postfix mit SMTP-AUTH und TLS

Jetzt installieren wir Postfix und Dovecot (Dovecot wird unser POP3/IMAP-Server sein):

yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot

Jetzt konfigurieren wir SMTP-AUTH und TLS:

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,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’
postconf -e ‘mynetworks = 127.0.0.0/8 [::1]/128’

Wir müssen /usr/lib64/sasl2/smtpd.conf bearbeiten, damit Postfix PLAIN- und LOGIN-Anmeldungen zulässt (auf 32-Bit-Systemen befindet sich diese Datei in /usr/lib/sasl2/smtpd.conf). Sie sollte so aussehen:

vi /usr/lib64/sasl2/smtpd.conf

| pwcheck_method: saslauthd mech_list: plain login |

Danach 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 TLS:

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’

Dann setzen wir den Hostnamen in unserer Postfix-Installation (stellen Sie sicher, dass Sie server1.example.com durch Ihren eigenen Hostnamen ersetzen):

postconf -e 'myhostname = server1.example.com'

Nach diesen Konfigurationsschritten sollten Sie jetzt eine /etc/postfix/main.cf haben, die so aussieht (ich habe alle Kommentare entfernt):

cat /etc/postfix/main.cf

| queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.8.3/samples readme_directory = /usr/share/doc/postfix-2.8.3/README_FILES smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination mynetworks = 127.0.0.0/8 [::1]/128 smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom myhostname = server1.example.com |

Jetzt starten Sie Postfix und saslauthd:

chkconfig sendmail off
chkconfig –levels 235 postfix on
chkconfig –levels 235 saslauthd on
chkconfig –levels 235 dovecot on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start

Bevor wir Dovecot starten, müssen wir die Authentifizierung im Klartext aktivieren. Öffnen Sie /etc/dovecot/conf.d/10-auth.conf…

vi /etc/dovecot/conf.d/10-auth.conf

… und fügen Sie die Zeile disable_plaintext_auth = no hinzu:

| [...] # Deaktivieren Sie den LOGIN-Befehl und alle anderen Authentifizierungen im Klartext, es sei denn, # SSL/TLS wird verwendet (LOGINDISABLED-Fähigkeit). Beachten Sie, dass, wenn die Remote-IP # mit der lokalen IP übereinstimmt (d.h. Sie verbinden sich vom selben Computer), die # Verbindung als sicher betrachtet wird und die Authentifizierung im Klartext erlaubt ist. #disable_plaintext_auth = yes disable_plaintext_auth = no [...] |

Dann starten Sie Dovecot:

  /etc/init.d/dovecot start

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

ist alles in Ordnung.

[root@server1 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 10240000
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.
[root@server1 ssl]#

Geben Sie ein

quit 

um zur Shell des Systems zurückzukehren.

12.1 Maildir

Dovecot verwendet das Maildir-Format (nicht mbox), also stellen Sie sicher, dass Sie Maildir aktivieren, wenn Sie ISPConfig auf dem Server installieren, unter Management -> Server -> Einstellungen -> E-Mail. ISPConfig wird dann die erforderliche Konfiguration vornehmen.

Wenn Sie ISPConfig nicht installieren möchten, müssen Sie Postfix so konfigurieren, dass E-Mails an das Maildir eines Benutzers zugestellt werden (Sie können dies auch tun, wenn Sie ISPConfig verwenden - es schadet nicht ;-)):

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.