Version 2.0
Stand: 19.01.2009
Author: sledge0303 Anpassungen by F4RR3LL|sven
E-Mail: sven.richter@nixhelp.de
Dieses Howto beschreibt die Installationen eines Debian 4.0 (Codename Etch) Betriebssystems auf einem OVH Server im Rescue Modus.
Beachtet bitte die oben beschriebenen Umstände betreffs der Servertypen sowie der Intel 1 Gbit Netzwerkkarten. Aufgrund eines Bugs muss ein gepatchter Kernel installiert werden, damit der Server nach dem hochfahren eine Netzwerkverbindung aufbauen.
Bevor ihr loslegt, beachtet bitte die folgenden Regeln:
Der Server ist nach der Installation weder abgesichert noch dem 'Standard' von OVH entsprechend
Das bedeutet:
Ferner empfehle ich dringend die Authentifikation per SSH-Key.
DU alleine bist für die komplette Installation, Absicherung und Wartung des Servers verantwortlich!!!
Diese Daten sind zwingend erforderlich für die Fortführung der Installation. Am besten ist es, Ihr sichert die Daten im Notepad
Die Ausgaben folgender Befehle sichern, am besten im Notepad.
lspci lsmod cat /etc/resolv.conf hostname cat /etc/network/interfaces
Kundenmenu aufrufen und rescue auswählen unter Netboot. Anschließend in der Konsole 'reboot' eintippen.
Es dauert ein paar Minuten bis das Passwort eintrifft und danach loggt ihr euch per Putty mit dem Passwort ein.
Partionsmanager aufgrufen
cfdisk
Gelöscht wird das komplette Partitionsschema der vorherigen Installation - nicht zwingend erforderlich!
Als Beispiel für diese Installation wählen wir dieses Schema, wobei SDA8 zum Beispiel als LVM Device oder als encrypted Partition genutzt werden könnte. Wer dies nicht möchte, sollte den verfügbaren Festplattenspeicher auf alle Partitionen verteilen.
| Device | Mountpoints | Filesystem |
|---|---|---|
| sda1 | / | ext3 |
| sda2 | swap | swap |
| sda3 | /home | ext3 |
| sda5 | /var | ext3 |
| sda6 | /usr | ext3 |
| sda7 | /tmp | ext3 |
| sda8 | LVM/Crypt |
Wir formatieren die neuen Partitionen und mounten diese sofort. Auch hier muss beachtet werden: IDE oder SATA
mkfs.ext3 /dev/sda1 mkfs.ext3 /dev/sda3 mkfs.ext3 /dev/sda5 mkfs.ext3 /dev/sda6 mkfs.ext3 /dev/sda7 mkswap /dev/sda2 swapon /dev/sda2 mount /dev/sda1 /mnt mkdir -p /mnt/home mount /dev/sda3 /mnt/home mkdir -p /mnt/var mount /dev/sda5 /mnt/var && mkdir -p /mnt/usr && mount /dev/sda6 /mnt/usr mkdir -p /mnt/tmp mount /dev/sda7 /mnt/tmp cd /tmp wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.12_all.deb ar -xf debootstrap_1.0.12_all.deb tar xzf data.tar.gz tar xzf control.tar.gz
Um jetzt per debootstrap installieren zu können, muss die Source von debootstrap etwas verändert werden
nano usr/sbin/debootstrap
DEBOOTSTRAP_DIR=/tmp/usr/share/debootstrap
Wir installieren nun Etch per debootstrap und anschließend per chroot in das frisch installierte System
usr/sbin/debootstrap --arch i386 etch /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 chroot /mnt /bin/bash
Läuft alles ohne Fehlermeldung durch, befindet man sich anschließend in Etch.
Neben dem User erstellen wir noch das Verzeichnis GRUB
mkdir -p /boot/grub && passwd adduser $USERNAME
Als Platzhalter wurde „$hostname“ und „$123.123.123.123“ als IP Adresse eingetragen, d.h. diese jetzt sinngemäß ersetzen
cat > /etc/hostname << "EOF" $hostname EOF cat > /etc/hosts << "EOF" 127.0.0.1 localhost localhost.localdomain 123.123.123.123 $hostname EOF cat > /etc/resolv.conf << "EOF" nameserver 127.0.0.1 nameserver $123.123.123.123 nameserver 213.186.33.99 EOF
Netzwerkkonfiguration, einmal mit nur einer IP und unter 5.1.2 mit einer FailoverIP. Die Adressen entsprechend anpassen
cat > /etc/network/interfaces << "EOF" iface lo inet loopback auto lo 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
cat > /etc/network/interfaces << "EOF"
iface lo inet loopback
auto lo
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
auto eth0:0
iface eth0:0 inet static
address 124.124.124.124
netmask 255.255.255.255
EOF
cat > /etc/fstab << "EOF" /dev/sda1 / ext3 errors=remount-ro 0 1 /dev/sda2 swap swap defaults 0 0 /dev/sda3 /home ext3 defaults 1 2 /dev/sda5 /var ext3 defaults 1 2 /dev/sda6 /usr ext3 defaults 1 2 /dev/sda7 /tmp ext3 noexec 1 2 proc /proc proc defaults 0 0 EOF cat > /etc/apt/sources.list << "EOF" deb http://ftp2.de.debian.org/debian etch main contrib non-free deb-src http://ftp2.de.debian.org/debian etch main contrib non-free deb http://ftp2.de.debian.org/debian-security etch/updates main contrib non-free EOF aptitude update && aptitude upgrade aptitude install -y ssh grub pciutils make automake gcc psmisc
Wir installieren den Kernel
cd /usr/src/ wget http://download.nixhelp.de/OvH-Kernel/32Bit-Kernel/linux-image-2.6.28.1_incl.Modulsupport.by.F4RR3LL_i386.deb dpkg -i linux-image-2.6.28.1_incl.Modulsupport.by.F4RR3LL_i386.deb
Erklären Etch, es möge deutsch mit uns reden
aptitude install locales && dpkg-reconfigure locales
mit de_DE@euro ISO-8859-15… bist du auf der sicheren Seite
Sicherheitstechnisch sollte man den Port für den SSH Zugang ändern und Rootlogin nicht zulassen. Auf dieser Seite findest du ein entsprechendes Howto für SSH, deswegen gehen wir hier nicht genauer auf diesen Punkt ein.
nano /etc/ssh/sshd_config
Zeitzone auf Europa, Berlin einstellen
tzconfig
Damit die Zeit unseres Servers immer stimmt, wird diese stündlich aktualisiert:
crontab -e 0 1 * * * /usr/sbin/ntpdate-debian
Wir brauchen im Gegensatz zum Vorgänger nicht mehr den Server per Netbootkernel hochzufahren, damit der Kernel installiert wird. Bitte die folgenden Schritte penibel einhalten und auf Errormeldungen achten. Ich gehe in diesem Tutorial von nur einer verfügbaren Festplatte aus. Solltest du mehrere in deinem Server haben, diese dann wiederum sinngemäß anpassen in den folgenden Schritten.
Beispiel: ein USB Stick wird mit „(hd1) /dev/sdb“ in der device.map eingetragen
cp /usr/lib/grub/i386-pc/* /boot/grub/ cat > /boot/grub/device.map << "EOF" (hd0) /dev/sda EOF grub --no-floppy root (hd0,0) setup (hd0) quit
Der Kontext sieht so aus, wenn keine Fehlermeldung auftritt
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit
Auch hier diesen Schritt penibel wie beschrieben ausführen. Bei unterschiedlich verwendeten Kernelversionen anpassen
cat > /boot/grub/menu.lst << "EOF" timeout 5 default 0 title=Linux root (hd0,0) kernel /boot/vmlinuz-2.6.28.1 root=/dev/sda1 ro EOF
anschließend verlassen wir das chroot.
Wir gehen wieder zurück zum Kundenmanager, stellen unter Netboot Expert HDD/SDA1 ein.
Zum Abschluss
exit reboot
Wenn nichts falsch gemacht wurde, fährt der Server anstandslos hoch.