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 <backupfile> -level <backuplevel>
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.