Dieses Howto beschreibt die Installationen von Debian Squeeze auf einem OVH Server im Rescue Modus. Der Server ist nach der Installation weder abgesichert noch entspricht er dem ‘Standard’ von OVH.
Das bedeutet:
Darum empfehle ich dringend die Authentifikation per SSH Publickey. Einen Artikel darüber gibt es hier.
Das Ergebnis ist ein Minimalsystem für einen Fileserver, der folgende Eigenschaften hat.
Das HowTo basiert auf dem Squeeze from Scratch HowTo von Sven Richter.
Inhalt
Diese Daten sind zwingend erforderlich für die Fortführung der Installation. Am besten ist es, Ihr sichert die Daten in einer Textdatei (zum Beispiel mit Notepad).
Die Inhalte folgender Dateien werden benötigt.
cat /etc/resolv.conf hostname cat /etc/network/interfaces
Kundenmenü aufrufen und rescue-pro auswählen unter dem Menüeintrag Netboot. Anschließend in der Konsole ‘reboot’ eintippen.
Es dauert ein paar Minuten bis das Passwort per E-Mail eintrifft und danach meldet ihr euch per Putty mit dem Passwort auf dem Server an.
Sollte der Neustart nicht funktionieren, muss über das Kundenmenü, Menüeintrag Reboot ein Neustart initiiert werden.
Partionsmanager aufrufen
cfdisk -z
Gelöscht wird automatisch das komplette Partitionsschema der vorherigen Installation!
Angelegt werden nun drei Partitionen.
sda1
sda2
sda3
Das Ergebnis sieht für das Beispiel wie folgt aus.
Wir formatieren die neuen Partitionen und mounten diese sofort.
mkfs.ext4 /dev/sda1 mkswap /dev/sda2 swapon /dev/sda2 mount /dev/sda1 /mnt
Wir installieren nun Squeeze per debootstrap und anschließend per chroot in das frisch installierte System
cd /tmp wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.53_all.deb ar -xf debootstrap_1.0.53_all.deb tar xzf data.tar.gz tar xzf control.tar.gz
Sollte die debootstrap Quelle nicht mehr aktuell sein (ich schaue da nicht jeden Tag nach) hier findet ihr die aktuelle Quelle. Ich freue mich natürlich über eine kurze Mail um dann das Howto entsprechend anzupassen: http://ftp.de.debian.org/debian/pool/main/d/debootstrap/
Um jetzt per debootstrap installieren zu können, muss die Source von debootstrap etwas verändert werden
nano usr/sbin/debootstrap
Die folgenden Zeilen entsprechend editieren
Suche:
DEBOOTSTRAP_DIR=/usr/share/debootstrap
und ersetze mit:
DEBOOTSTRAP_DIR=/tmp/usr/share/debootstrap
usr/sbin/debootstrap --arch amd64 squeeze /mnt/ http://ftp2.de.debian.org/debian
mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev mount -t tmpfs none /mnt/tmp mount -o bind /sys /mnt/sys LANG=C chroot /mnt /bin/bash
Läuft alles ohne Fehlermeldung durch, befinden wir uns im frischen Debian Squeeze.
Neben dem Setzen des Passworts erstellen wir noch das Verzeichnis GRUB für den Bootmanager.
mkdir -p /boot/grub passwd
Jetzt kommen die gesicherten Daten zum Zug, dafür öffnet ihr die Textdatei, in der alle Daten gesichert wurden.
Diese werden jetzt sinngemäß eingetragen:
cat > /etc/hostname << "EOF" $euerServername EOF
cat > /etc/hosts << "EOF" 127.0.0.1 localhost localhost.localdomain 123.123.123.123 $servername EOF
cat > /etc/resolv.conf << "EOF" nameserver 127.0.0.1 nameserver 123.123.123.123 nameserver 213.186.33.99 EOF
Auch hier muss 123.123.123.123 entsprechend eurer Textdatei angepasst werden. Wer statt den Nameservern von OVH lieber unabhängige anonyme Nameserver einsetzen möchte, findet hier eine Liste.
Anhand dieses Beispiels kannst du dein Netzwerk konfigurieren. Nicht vergessen, deine eigene IP einzusetzen und nicht blind zu kopieren.
cat > /etc/network/interfaces << "EOF" auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 123.123.123.123 netmask 255.255.255.0 broadcast 123.123.123.255 network 123.123.123.0 gateway 123.123.123.254 EOF
echo 'BOOTLOGD_ENABLE=Yes' > /etc/default/bootlogd
cat > /etc/fstab << "EOF" /dev/sda1 / ext4 errors=remount-ro 0 1 /dev/sda2 swap swap defaults 0 0 proc /proc proc defaults 0 0 EOF
cat >/etc/apt/sources.list << "EOF" deb http://ftp.de.debian.org/debian/ squeeze main non-free contrib deb-src http://ftp.de.debian.org/debian/ squeeze main non-free contrib deb http://security.debian.org/ squeeze/updates main non-free contrib deb-src http://security.debian.org/ squeeze/updates main non-free contrib deb http://ftp.de.debian.org/debian/ squeeze-updates main non-free contrib deb-src http://ftp.de.debian.org/debian/ squeeze-updates main non-free contrib deb http://backports.debian.org/debian-backports squeeze-backports main EOF
aptitude update && aptitude upgrade
Jetzt bringen wir Squeeze die deutsche Sprache bei.
aptitude install locales && dpkg-reconfigure locales
Mit de_DE@euro ISO-8859-15 bist du auf der sicheren Seite. Die entsprechende Zeitzone muss auch gesetzt werden, in der Regel auf Europa/Berlin.
dpkg-reconfigure tzdata
Wir installieren den Kernel wie folgt.
aptitude -t squeeze-backports install linux-image-amd64
Bei der Installation werden zwei Fragen gestellt, die wie folgt zu beantworten sind:
Create a symbolic link to the current kernel image? YES.
Abort initrd kernel image installation? Hier zwingend mit NO antworten.
aptitude install -y ssh grub pciutils psmisc cryptsetup pwgen xfsprogs xfsdump
Während der Installation erscheint eine Nachfrage von grub-pc. Dort einfach bestätigen. Wird nach dem Ort, an dem GRUB installiert werden soll gefragt, gebt ihr /dev/sda an. Weicht eure Festplattenbenennung ab, ist es wichtig zu wissen, dass GRUB nicht in einer Partition (wie /dev/sda1), sondern auf der Festplatten (wie /dev/sda) installiert werden muss.
Wir gehen wieder zurück zum Kundenmenü, stellen unter Netboot HD ein und startet den Serve wie folgt neu.
exit reboot
Jetzt wird der Server mit dem eigenen Kernel hochgefahren und sollte nach maximal drei Minuten wieder verfügbar sein.
In diesem Beispiel wurde die Partition sda3 angelegt, aber noch nicht formatiert. Diese Partition soll jezt verschlüsselt werden. Dafür wird zuerst in Putty mit dem Befehl pwgen 200 1 ein 200 stelliges Kennwort erzeugt. Das Kennwort speichert ihr auf eurem lokalen Computer sicher ab.
Jetzt wird die Partition sda3 verschlüsselt. Dabei muss in Großbuchstaben YES gefolgt vom Kennwort eingegeben werden.
modprobe dm_mod cryptsetup luksFormat /dev/sda3
Jetzt wird die Partition geöffnet, formatiert und als Verzeichnis /home eingebunden.
cryptsetup luksOpen /dev/sda3 sda3_crypt mkfs.xfs -l size=128m -d agcount=4 -i attr=2,maxpct=5 -L storage /dev/mapper/sda3_crypt mount /dev/mapper/sda3_crypt /home
Um bei zukünftigen Systemstarts das Öffnen der verschlüsselten Partition zu automatisieren legen wir ein Skript an. Der Partitionsname ist entsprechend zu ersetzen, falls ihr ein anderes Partitionsschema gewählt habt.
nano /root/startServer.bash
#!/bin/bash echo dm-crypt Passworteingabe cryptsetup luksOpen /dev/sda3 sda3_crypt && mount -onoatime,delaylog,logbufs=8,logbsize=256k /dev/mapper/sda3_crypt /home/
chmod 700 /root/startServer.bash
Jetzt ist auch die Einrichtung des verschlüsselten Datenbereichs abgeschlossen und der Server kann getestet werden. Dafür wird er neugestartet.
reboot
Nachdem der Server wieder verfügbar ist, wird als erstes die verschlüsselte Partition mit unserem Skript eingebunden.
/root/startServer.bash
Wenn der Server nach dem letzten Neustart erfolgreich neugestartet ist und die verschlüsselte Partition eingebunden, habt ihr alles richtig gemacht. Die Installation ist abgeschlossen.