Der Perfekte Server - Mandriva 2007 Spring Free (Mandriva 2007.1) - Seite 5

6 Den Hostnamen einrichten

(Dieser Schritt ist ebenfalls optional.)

Dies ist nicht notwendig, wenn Du den richtigen Hostnamen während der Installation eingerichtet hast. Den derzeitigen Hostnamen kannst Du überprüfen mit den Befehlen

hostname
hostname -f

Beide Befehle sollten server1.example.com anzeigen.

Falls die Ausgabe einen falschen Hostnamen angibt, kannst Du den richtigen wie folgt einrichten:

echo server1.example.com > /etc/hostname
/bin/hostname -F /etc/hostname

7 Konfiguration von urpmi

Um herauszufinden wie man urpmi konfiguriert, kannst Du den wizard auf http://easyurpmi.zarb.org/ verwenden, sodass urpmi nur online Paketdatenbanken verwendet:




Bei mir hat der wizard diese Befehle zurückgegeben, die ich in der Kommandozeile ausführe:

urpmi.addmedia main ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/2007.1/i586/media/main/release with media_info/hdlist.cz

urpmi.addmedia --update main_updates ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/2007.1/i586/media/main/updates with media_info/hdlist.cz

urpmi.addmedia contrib ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/2007.1/i586/media/contrib/release with media_info/hdlist.cz

urpmi.addmedia --update contrib_updates ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/2007.1/i586/media/contrib/updates with media_info/hdlist.cz

Now we create a script /etc/cron.daily/software_update that will autmatically be run by cron daily and looks for and installs the latest software updates on your Mandriva 2007 Spring system. The script looks like this:

vi /etc/cron.daily/software_update


#!/bin/bash
urpmi.update updates urpmi --auto --update --auto-select
Mach das Skript ausführbar:

chmod 755 /etc/cron.daily/software_update


8 Installation einiger Pakete

Nun installieren wir ein paar Pakete, die wir später noch brauchen werden:

urpmi fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp flex libxorg-x11-devel gcc gcc-c++


9 Quota

Um das Quota Paket zu installieren, führe Folgendes aus

urpmi quota

Bearbeite /etc/fstab damit es wie folgt aussieht (ich habe ,usrquota,grpquota der Partition mit dem mount point / hinzugefügt):

vi /etc/fstab


/dev/sda6 / ext3 defaults,usrquota,grpquota 1 1
/dev/sda1 /boot ext3 defaults 1 2 /dev/hdc /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0 none /media/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,umask=0,iocharset=utf8,sync 0 0 none /proc proc defaults 0 0 /dev/sda5 swap swap defaults 0 0
Führe dann dies aus:

touch /aquota.user /aquota.group
chmod 600 /aquota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

10 DNS Server

Um den BIND DNS Server zu installieren, führe Folgendes aus:

urpmi bind

Mandriva 2007 Springs BIND läuft standardmäßig gechrooted, daher müssen wir ein paar Symlinks erstellen, sodass ISP Config (wenn Du es installieren möchtest) damit umgehen kann:

cd /var/lib/named/var
mkdir -p lib/named/var
cd lib/named/var
ln -s ../../../named/ named
ln -s ../../../run/ run

Starte dann BIND:

/etc/init.d/named start


11 MySQL (5.0)

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

urpmi MySQL MySQL-client libmysql15-devel

Der Netzwerkbetrieb ist im Mandriva 2007 Springs MySQL Paket nicht standardmäßig aktiviert, jedoch benötigt ISPConfig den Netzwerkbetrieb. Wir können dies ändern, indem wir die Zeile skip-networking in /etc/my.cnf auskommentieren:

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 [...]
Danach starten wir MySQL:

/etc/init.d/mysqld start

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

netstat -tap | grep mysql

Die Ausgabe sollte wie folgt aussehen:

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

Führe als Nächstes dies aus

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

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

12 Postfix mit SMTP-AUTH und TLS

Installiere die benötigten Pakete (Postfix, cyrus-sasl, imap, 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 imap

Führe dann dies aus

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_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
postconf -e 'mydomain = example.com'
postconf -e 'myhostname = server1.$mydomain'
postconf -e 'mydestination = /etc/postfix/local-host-names, localhost.example.com'
postconf -e 'mynetworks = 127.0.0.0/8'
touch /etc/postfix/local-host-names
touch /var/lib/mailman/data/aliases

Bearbeite /etc/sasl2/smtpd.conf. So sollte es aussehen:

vi /etc/sasl2/smtpd.conf


# SASL library configuration file for postfix
# all parameters are documented into: # /usr/share/doc/cyrus-sasl-2.*/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 ein SSL Zertifikat, das wir für TLS benötigen:

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'

Starte nun Postfix, saslauthd, imap und pop3:

chkconfig imap on
chkconfig imaps on
chkconfig ipop3 on
chkconfig pop3s on
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
/etc/init.d/xinetd restart

Um herauszufinden ob SMTP-AUTH und TLS richtig funktionieren, führen folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server aufgebaut hast, gib Folgendes ein

ehlo localhost

Wenn Du die Zeilen

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.3.8) (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]#

Gib ein

quit

um zur Kommandozeile des Systems zurückzukehren.

0 Kommentar(e)

Zum Posten von Kommentaren bitte