Debian Sarge aufsetzen

Diese Internetpräsenz WAR bei Lycos gehostet auf einem eigenen (virtuellen und nicht besonders stabilen) Server mit Debian Sarge. Und damit ich nicht vergesse, wie ich ihn installiert habe, hier die wesentlichen Schritte.

System etwas sichern

Zuerst sollte ein Admin-User angelegt werden. Nennen wir ihn mal nase:

 adduser nase 

Und danach wird nase der Einzige, der auf unser System per ssh zugreifen darf. Dazu muss in

 /etc/ssh/sshd_config 

die Zeile

 AllowUsers nase 

ergänzt werden. Um alles zu Testen ist es sinnvoll sich jetzt auszuloggen, als nase neu anzumelden und per su wieder root zu werden.

Rechnernamen festlegen

echo hume.scaldra.net > /etc/hostname
/bin/hostname -F /etc/hostname 

apt aktualisieren

 apt-get update 

DNS

Mein DNS-Registrar ist directnic. Dort sind mit der passenden IP auch ns0.scaldra.net und

ns1.scaldra.net eingetragen. Der Rest muss hier stattfinden.

Nach

apt-get install bind

muß über

/etc/bind/named.conf.local

eine neue Zone bekannt gemacht werden:

zone "scaldra.net"{
        type master;
        file "/etc/bind/scaldra.net.hosts";
 }; 

Die Zone selbst liegt in /etc/bind/scaldra.net.hosts:

$ttl 38400
 scaldra.net.    IN      SOA     ns1.scaldra.net. rolf.scaldra.net. (
                        2005062702
                        7200
                        3600
                        604800
                        38400 )
scaldra.net.            IN      A       84.244.2.55
hume.scaldra.net.       IN      A       84.244.2.55
www.scaldra.net.        IN      A       84.244.2.55
ns1.scaldra.net.        IN      A       84.244.2.55
ns0.scaldra.net.        IN      A       84.244.2.55
scaldra.net.            MX      1       hume.scaldra.net.
scaldra.net.            IN      NS      ns1.scaldra.net.
scaldra.net.            IN      NS      ns0.scaldra.net.
scaldra.net.            IN      TXT     "v=spf1 a mx ptr" 

Nach einem Neustart von bind (/etc/init.d/bind reload)lässt sich das Resultat auch per DNS Test prüfen.

Postfix

Ich bevorzuge Postfix gegenüber exim (Wobei ich aber im Moment postfix in Verdacht habe an den Problemen auf meinem VDS mit beteiligt zu sein). Die Installationsanleitung dafür habe ich weitestgehend von Falko Timmes Perfect Debian Setup geklaut.

apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl
 

apt fragt einiges ab; dabei kann man die Defaults übernehmen.

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'
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

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

An dieser Stelle will openssl eine Passphrase für das Zertifikat haben. Sollte man

ihm auch geben…

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'

Vorsicht: hier fehlt noch die Konfiguration von saslauthd

Ein hilfreicher Dienst zur Kontrolle des eigenen Mailservers ist der Echodienst der TU Berlin : echo@tu-berlin.de Jede an ihn gesendete Mail wird postwendend zurückgeschickt. So kann man in einem Abwasch SMTP und IMAP/POP testen.

LAMP

apache 2

 apt-get install apache2  

Die eigenen (virtuellen) Hosts werden in /etc/apache2/sites-enabled beschrieben.

000-default kann man als Ausgangsbasis für die eigenen Hosts verwenden.

PHP 4

apt-get install libapache2-mod-php4 php4  php4-common

MySQL

apt-get install mysql-server-5.0 php4-mysql 

Nicht vergessen ein Root-Password PASSWORD anzugeben:

/usr/bin/mysqladmin -u root password PASSWORD

und

 mysql -u root -psnafu
set password for root@localhost = old_password('PASSWORD')

Da mein virtueller Server dauernd abstürzt seitdem ich MySQL wieder in Betrieb genommen habe, probiere ich es mit speichersparenden Einstellungen. Dazu die /etc/mysql/my.cnf modifizieren:

key_buffer              = 512k
sort_buffer             = 100k
record_buffer           = 100k
table_cache = 32

Infos zum Thema Mysql-Parameter gibt es bei dev.mysql.com

unison

Für die Sicherung und Synchronisierung wird unison eingesetzt. Es funktioniert prima und läuft auch über eine ssh-Verbindung.