====== Debian auf 1und1 Rootserver ====== Aufgrund eines aktuellen Anlasses :-) ... ===== Vorarbeit ===== Informationen vom alten Server: * Plesk Key /etc/psa/psa.key * IP Daten (Adressen, Gateway, Subnetz...) * Hostname (FQDN) * Plesk-Backup aller Clients * Evtl. ein komplett Backup, um im Falle des Falles wieder aller zurückrollen zu können ===== Partitionen erzeugen ===== Zunächst mal Partitionen anlegen. * /boot (ca. 128MB) * / (root) * /var (hier liegen Mails und httproots) * swap (wie immer: min. 2x RAM) Danach die beiden Platten syncronisieren: * sfdisk -d /dev/sda > parttab.txt && sfdisk /dev/sdb < parttab.txt Mit mdadm die Raiddevices erstellen: * mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb2 * usw... Initialsyncronisierung beschleunigen: * echo 200000 > /proc/sys/dev/raid/speed_limit_max Dateisysteme erstellen und mounten: * mkdir /mnt/deb /mnt/deb/var /mnt/deb/srv /mnt/deb/boot ===== debootstrap ===== * wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3.2etch1_all.deb * ar x debootstrap* * cd / && tar -xvzf /root/data.tar.gz * debootstrap --arch amd64 etch /mnt/deb ftp://ftp.de.debian.org/debian * mount -t proc none /mnt/deb/proc && LANG=C chroot /mnt/deb/ /bin/bash * aptitude update && aptitude install grub ssh mdadm kernel-image-2.6-amd64-generic locales console-data console-common * /etc/fstab sollte so aussehen: /dev/md0 /boot ext2 noauto,nodev,noatime 1 2 /dev/md1 / reiserfs defaults 0 1 /dev/md2 /var reiserfs defaults,nodev 0 1 /dev/md3 /srv reiserfs defaults,nodev 0 1 /dev/sda8 none swap sw 0 0 /dev/sdb8 none swap sw 0 0 none /proc proc defaults 0 0 * /etc/network/interfaces anpassen: auto lo iface lo inet loopback auto eth0 eth0:1 iface eth0 inet dhcp iface eth0:0 inet static address 123.456.789.123 network 123.456.789.0 netmask 255.255.255.0 raid1 Modul zur initramdisk hinzufügen * vim /etc/initramfs-tools/modules * mkinitramfs * grub installieren; ich musste die stage verzeichnisse kopieren * root passwort vergeben * hostname einstellen via /etc/hosts und /etc/hostname * consolen keymap und sprache ändern via locales und console-data und console-common * Zeitzone via tzconfig einstellen * Grub menu via update-grub erstellen * www-data UID von 33 auf 30 ändern und die Dateien die 33 gehören noch 30 zuweisen * sources.list auf standart setzen:deb http://ftp2.de.debian.org/debian/ etch main deb-src http://ftp2.de.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib ===== Serielle Console nutzbar machen ===== Zunächst ist es wichtig zu wissen, dass die serielle Console von 1und1 mit 57600 Baud läuft. * zu /boot/grub/menu.lst folgendes hinzufügen: serial --unit=0 --speed=57600 --word=8 --parity=no --stop=1 terminal serial * Falls man 10s Zeit haben will um sich zwischen physikalischer Konsole und serieller zu entscheiden terminal --timeout=10 serial console * zu kopt im grub file folgendes hinzufügen: # kopt=root=/dev/md1 ro console=tty0 console=ttyS0,57600n8 update-grub nicht vergessen! * /etc/inittab abändern: T0:23:respawn:/sbin/getty -L ttyS0 57600 vt100 ===== Plesk installieren ===== * **Vorher** noch Benutzer ID von Apache user ändern (30 Suse -> 33 Debian) und auch alle Dateien die dem Benutzer gehören ändern. * Plesk autoinstaller von der Homepage laden und ausführen, bzw. dem Menu folgen. * Falls der gesicherte plesk-key (/etc/psa/psa.key) XML Struktur enthält, kann man Plesk 9 installieren, falls es dort nicht nach XML aussieht sollte man PLESK 8 installieren und später updaten, weil der PLESK key sonst nicht angenommen wird. * Default Zugangsdaten sind port: 8443 User: admin Passwort: setup * Produktkey vom alten Server verwenden. Vorher muss die Datei /etc/psa/psa.key um folgendes am Anfang ergänzt werden: #!/bin/sh PRODUCT_ROOT_D=`awk '$1 ~ /PRODUCT_ROOT_D/{ print $2}' /etc/psa/psa.conf` if test -z "$PRODUCT_ROOT_D"; then echo "Plesk not detected" exit 1 fi "$PRODUCT_ROOT_D/admin/sbin/keymng" --install --source-file="$0" --skip=10 exit $? -----BEGIN PLESK KEY DESCRIPTION----- * Nach Produktkey einspielen, Updaten auf neueste Plesk Version * Legacy link von /var/www nach /srv/www erstellen, da es sonst Probleme gibt (www-root war bei Suse unter /srv/www) * Wer DrWeb nicht mag, oder nie benutzen will, kann sich den Paketen wieder entledigen die PLESK (bei mir) ungefragt installiert hat: apt-get remove drweb drweb-base drweb-daemon drweb-qmail drweb-updater * Default SSL Zertifikat gegen ein geeigneteres ersetzen * Verzeichniss-Skeleton leer machen (gibt sonst Probleme beim Wiederherstellen) ===== Pleskbackup einspielen ===== * /usr/local/psa/bin/pleskrestore --restore -level Backuplevel kann clients, server, domains sein * Fehler: "WARNING: Backup file has wrong signature for this server" oder "Unable to resolve all conflicts" * Lösung: .tgz entpacken und xml anschauen, vermutlich stimmt die IP dort nicht also: suchen und ersetzen * Falls die Berechtigungen nicht stimmen (bei mir wird z.B. die www-data Berechtigung beim zurückspielen des Backups NICHT wiederhergestellt), kann man das Backupfile entpacken und darin liegt eine *vhost*.tgz, die man einfach in den vhost mit -p (perserve permissions) Schalter entpacken kann. ===== Links ===== [[http://wiki.debian.org/de/fwknop|Howto install fwknop on Debian Etch]] \\ [[http://www.isp-control.net/documentation/howto/security/make_ispcp_more_secure|Generelle Apache Sicherheitshinweise von IspCP]]