Server Setup · 5 min read · Dec 12, 2025
Der perfekte Server - Fedora 13 x86_64 [ISPConfig 2] - Seite 4
9 MySQL 5
Um MySQL zu installieren, tun wir dies:
yum install mysql mysql-devel mysql-serverDann 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 jetzt, ob das Netzwerk aktiviert ist. Führen Sie aus
netstat -tap | grep mysqlEs sollte etwas wie folgt anzeigen:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1433/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 restartFühren Sie aus
mysql_secure_installationum 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 zu sichern, 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 (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-Benutzer root zugreifen kann.
Root-Passwort festlegen? [Y/n] <– EINGABETASTE
Neues Passwort: <– yourrootsqlpassword
Neues Passwort erneut eingeben: <– yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
… Erfolg!
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, der es
jedem ermöglicht, sich in MySQL anzumelden, ohne dass ein Benutzerkonto
für sie 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 eine Verbindung
erlaubt werden. Dies stellt sicher, dass jemand das root-Passwort
über das Netzwerk nicht erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <– EINGABETASTE
… 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] <– 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 ~]#
10 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 dovecotJetzt 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 erlaubt (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 1024chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csropenssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crtopenssl rsa -in smtpd.key -out smtpd.key.unencryptedmv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650Als 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.7.0/samples readme_directory = /usr/share/doc/postfix-2.7.0/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, saslauthd und Dovecot:
chkconfig --levels 235 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
/etc/init.d/dovecot startUm zu sehen, ob SMTP-AUTH und TLS jetzt ordnungsgemäß funktionieren, führen Sie den folgenden Befehl aus:
telnet localhost 25Nachdem Sie die Verbindung zu Ihrem Postfix-Mailserver hergestellt haben, geben Sie ein
ehlo localhostWenn Sie die Zeilen sehen
250-STARTTLSund
250-AUTH PLAIN LOGINist 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 PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#Geben Sie ein
quitum zur Shell des Systems zurückzukehren.
10.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 restartErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.