Debian auf 1und1 Rootserver

Aufgrund eines aktuellen Anlasses :-)

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

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
  • 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

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
  • 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)
  • /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.