Der Perfekte Server - Mandriva 2008 Spring Free (Mandriva 2008.1) - Seite 5

10 MySQL (5.0)

Um MySQL 5.0 zu installieren, führen wir einfach das aus:

urpmi MySQL MySQL-client libmysql15-devel

Der Netzwerkbetrieb ist in Mandriva 2008.1s MySQL Paket standardmäßig nicht aktiviert. ISPConfig benötigt ihn aber. Wir ändern das indem wir die Zeile skip-networking in /etc/my.cnf auskommentieren. Zusätzlich ändern wir default-character-set von utf8 zu latin1:

vi /etc/my.cnf


[...]
# Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking [...] default-character-set = latin1 [...]
Danach erstellen wir die System Startup Links für MySQL...

chkconfig mysqld on

... und starten es:

/etc/init.d/mysqld start

Überprüfe nun, ob der Netzwerkbetrieb aktiviert ist. Führe dies aus

netstat -tap | grep mysql

Die Ausgabe sollte wie folgt aussehen:

[root@server1 var]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3863/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3871/mysqld
[root@server1 var]#

Führe als Nächstes Folgendes aus

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

um ein Passwort für den Benutzer root anzulegen (sonst kann jeder auf Deine MySQL Datenbank zugreifen!).

11 Postfix mit SMTP-AUTH und TLS; Dovecot

Installiere die benötigten Pakete (Postfix, cyrus-sasl, Dovecot, etc.) wie folgt:

urpmi cyrus-sasl libsasl2 libsasl2-devel libsasl2-plug-plain libsasl2-plug-anonymous libsasl2-plug-crammd5 libsasl2-plug-digestmd5 libsasl2-plug-gssapi libsasl2-plug-login postfix dovecot

Führe dann dies aus:

postconf -e 'mydestination = /etc/postfix/local-host-names, localhost.$mydomain'
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'
touch /etc/postfix/local-host-names

Dann richten wir den Hostnamen in unserer Postfix installation ein (pass auf, dass Du server1 und example.com mit Deinen eigenen Einstellungen ersetzt):

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

Bearbeite /etc/sasl2/smtpd.conf. Es sollte wie folgt aussehen:

vi /etc/sasl2/smtpd.conf


# SASL library configuration file for postfix
# all parameters are documented into: # /usr/share/doc/cyrus-sasl/options.html # The mech_list parameters list the sasl mechanisms to use, # default being all mechs found. mech_list: plain login # To authenticate using the separate saslauthd daemon, (e.g. for # system or ldap users). Also see /etc/sysconfig/saslauthd. pwcheck_method: saslauthd saslauthd_path: /var/lib/sasl2/mux # To authenticate against users stored in sasldb. #pwcheck_method: auxprop #auxprop_plugin: sasldb #sasldb_path: /var/lib/sasl2/sasl.db
Erstelle das SSL Zertifikat, das für TLS benötigt wird:

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

... und konfiguriere 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'

Als Nächstes müssen wir Dovecot so konfigurieren, dass es Protocols Imap, Imaps, Pop3 und Pop3s bedient. Öffne /etc/dovecot.conf und passe folgende Werte an:

vi /etc/dovecot.conf


[...]
# Protocols we want to be serving: imap imaps pop3 pop3s # If you only want to use dovecot-auth, you can set this to "none". protocols = imap imaps pop3 pop3s [...] disable_plaintext_auth = no [...] pop3_uidl_format = %08Xu%08Xv [...]
Nun müssen wir dem System mitteilen, dass es Dovecot erst startet, nachdem ntpd gestartet ist, da Dovecot nicht sehr nachsichtig ist, wenn Deine System-Zeit rückwärts läuft während Dovecot ausgeführt wird (siehe http://wiki.dovecot.org/TimeMovedBackwards). Das kann Fehler wie diesen hier in Deinem Syslog verursachen:

Apr 9 19:29:18 server1 dovecot: Time just moved backwards by 17 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards

Leider wird Dovecot auf Mandriva vor ntpd gestartet, also ändern wir das wie folgt:

cd /etc/rc3.d
mv S99ntpd S98ntpd
mv S54dovecot S99dovecot
cd /etc/rc4.d
mv S99ntpd S98ntpd
mv S54dovecot S99dovecot
cd /etc/rc5.d
mv S99ntpd S98ntpd
mv S54dovecot S99dovecot

Dann erstellen wir die System Startup Links für Postfix...

chkconfig postfix on

... und starten Postfix, saslauthd und Dovecot (neu):

/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
/etc/init.d/dovecot restart

Um herauszufinden, ob SMTP-AUTH und TLS richitg funktionieren, führe nun folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server aufgebaut hast, tippe

ehlo localhost

Wenn Du die Zeile

250-STARTTLS

und

250-AUTH PLAIN LOGIN

siehst, ist alles in Ordnung:

[root@server1 ssl]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (2.5.1) (Mandriva Linux)
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]#

Tippe

quit

um zur Kommandozeile des Systems zurückzukehren.

11.1 Maildir

Dovecot verwendet ein Maildir Format (nicht mbox). Wenn Du also ISPConfig auf dem Server installierst, pass bitte auf, dass Du Maildir unter Management -> Server -> Settings -> Email aktivierst. ISPConfig wird dann die notwendige Konfiguration vornehmen.

Wenn Du ISPConfig nicht installieren möchtest, dann musst Du Postfix konfigurieren, dass es E-Mails an die Maildir des Benutzers schickt (das kannst Du auch tun, wenn Du ISPConfig verwendest - es schadet nicht ;-)):

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

12 Apache2 mit PHP5 und Ruby

Um Apache2, PHP5 und Ruby zu installieren, führe folgenden Befehl aus (in einer Zeile):

urpmi apache-mod_suexec apache-mod_ssl apache-mod_php apache-mod_ruby libphp5_common5 php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini curl libcurl4-devel perl-libwww-perl ImageMagick

Erstelle die System Startup Links für Apache...

chkconfig httpd on

... und starte es:

/etc/init.d/httpd restart

0 Kommentar(e)

Zum Posten von Kommentaren bitte