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.


