Server Setup · 5 min read · Jan 20, 2026
Der perfekte Server - CentOS 6.0 x86_64 [ISPConfig 2] - Seite 4
10 MySQL (5.1)
Um MySQL zu installieren, machen wir Folgendes:
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 nun, ob das Netzwerk aktiviert ist. Führen Sie aus
netstat -tap | grep mysqlEs sollte eine Zeile wie diese angezeigt werden:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 2044/mysqld
[root@server1 ~]#
Wenn dies nicht der Fall ist, 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 Setzen Sie Passwörter für das MySQL-Root-Konto:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPTES 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 Root-Benutzer. Wenn Sie MySQL gerade installiert haben und
Sie das Root-Passwort noch nicht gesetzt haben, wird das Passwort leer sein,
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (Eingabe für keines):
OK, Passwort erfolgreich verwendet, weiter…
Das Setzen des Root-Passworts stellt sicher, dass niemand ohne die
richtige Autorisierung auf den MySQL-Root-Benutzer zugreifen kann.
Root-Passwort setzen? [Y/n] <– EINGABE
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 einzuloggen, ohne dass ein Benutzerkonto
für sie erstellt werden muss. Dies ist nur für Testzwecke gedacht und
um die Installation etwas reibungsloser zu gestalten. Sie sollten sie
vor dem Wechsel in eine Produktionsumgebung entfernen.
Anonyme Benutzer entfernen? [Y/n] <– EINGABE
… Erfolg!
Normalerweise sollte root nur von ‘localhost’ aus verbunden werden
dürfen. Dies stellt sicher, dass niemand das Root-Passwort ü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
niemand zugreifen kann. Dies ist ebenfalls nur für Testzwecke gedacht
und sollte vor dem Wechsel in eine Produktionsumgebung entfernt werden.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <– EINGABE
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen auf der 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] <– 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!
[root@server1 ~]#
11 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 dovecotAls Nächstes 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’
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.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 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 sollte Ihre /etc/postfix/main.cf jetzt so aussehen (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.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/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 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 |
Standardmäßig bietet der Dovecot-Daemon von CentOS nur IMAP- und IMAPs-Dienste an. Da wir auch POP3 und POP3s möchten, müssen wir Dovecot so konfigurieren. Wir bearbeiten /etc/dovecot/dovecot.conf und aktivieren die Zeile protocols = imap pop3:
vi /etc/dovecot/dovecot.conf| [...] # Protokolle, die wir bereitstellen möchten. protocols = imap pop3 [...] |
Als Nächstes müssen wir die Authentifizierung im Klartext aktivieren:
vi /etc/dovecot/conf.d/10-auth.conf| [...] # Deaktivieren Sie den LOGIN-Befehl und alle anderen Authentifizierungen im Klartext, es sei denn, # SSL/TLS wird verwendet (LOGINDISABLED-Funktionalität). Beachten Sie, dass, wenn die Remote-IP # mit der lokalen IP übereinstimmt (d.h. Sie sich vom selben Computer aus verbinden), die # Verbindung als sicher betrachtet wird und die Authentifizierung im Klartext erlaubt ist. disable_plaintext_auth = no [...] |
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 start
Um zu sehen, ob SMTP-AUTH und TLS jetzt richtig 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 PLAIN LOGIN 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 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
quit um zur Shell des Systems zurückzukehren.
11.1 Maildir
Dovecot verwendet das Maildir-Format (nicht mbox), also wenn Sie ISPConfig auf dem Server installieren, stellen Sie bitte sicher, dass Sie Maildir unter Management -> Server -> Einstellungen -> E-Mail aktivieren. ISPConfig wird dann die notwendige 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
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.