FBSD7amd64 bei Server4You

Nachdem ich im letzten Artikel beschrieben habe, wie man den Depenguinator auf einem S4Y-Server einsetzt, fehlt nun nur noch die eigentliche FreeBSD-Installation.

Nachdem man das System depenguiniert hat, kann man sich mit ssh wieder auf die Kiste verbinden. Hierzu brauchen wir wieder das Keyfile, dass wir in der vorherigen Anleitung angelegt haben.

ssh -i id_rsa root@SERVER

Slicen, partitionieren und formatieren

Nachdem wir nun eingeloggt sind, steht uns ein FreeBSD7 zur Verfuegung, dass aus einer RAM-Disk laeuft. Man kann also gefahrlos die Platte bearbeiten. Zunaechst erstellt man auf der Festplatte einen grossen Slice, der die gesamte Festplatte benutzt:

fdisk -I /dev/ad4

Nun sollte man das Device ad4s1 erhalten haben. Dort drin erstellen wir die Grundkonfiguration mittels:

bsdlabel -w /dev/ad4s1

Dies erzeugt eine Partition in dem Slice, welche den gesamten Slice ausfuellt. Da dies aber nicht so ganz Sinn und Zweck meiner Veranstaltung ist, aendere ich das. Da mir aber vi als Editor immer nicht gefaellt, benutze ich ee:

setenv EDITOR ee

Das eigentliche Editieren des Labels passiert mit:

bsdlabel -e /dev/ad4s1

Eigentlich reicht eine Partition mit 4Gbyte Groesse fuer Grundsystem und Kernel. Nur fuer /usr sollte man entsprechend mehr nehmen – die Partitionierung sollte sich aber dennoch jeder selber ueberlegen. Da ich ein FreeBSD7amd64 verwende und auch ZFS (das kommt dann auf ad4s1d), sieht mein label wie folgt aus:

# /dev/ad4s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
a:  8388608       16    4.2BSD        0     0     0
b:  8388608  8388624      swap
c: 312581745        0    unused        0     0         # „raw“ part, don’t edit
d: 295804513 16777232    unused        0     0

Nachdem dies nun erledigt ist, kann man mit

newfs /dev/ad4s1a

das Dateisystem erzeugen.

Grundsystem und Kernel installieren

Leider funktioniert sysinstall nicht so recht, daher eine manuelle Installation. Zunaechst sollte man die zuvor erstellen Partitionen mounten:

mount /dev/ad4s1a /mnt

Ein Verzeichniswechsel hat auch Vorteile, also noch schnell ein cd /mnt. Um das FBSD zu installieren, braucht man erstmal die Installationspakete. Diese gibt es z.B. unter:

ftp://ftp3.de.freebsd.org/pub/FreeBSD/releases/amd64/7.0-RELEASE/

Zur Installation reichen die Ordner base und kernels. Ich habe diese zuvor auf meinen Rechner geladen und dann mit scp auf den depenguinierten Server geladen. Eine Moeglichkeit ist also z. B. auf dem S4Y-Server ein scp auszufuehren:

scp -r lando@Heimrechner:~lando/FBSD7amd64/ .

Dann hat man einen Ordner FBSD7amd64, der auf /mnt liegt. Als Unterordner sollten dort base und kernels enthalten sein. Um das Grundsystem zu installieren, brauchen wir aber noch etwas mehr als nur die Installationdateien. Damit das Script weiss, wo es den Kram hininstallieren soll, muessen wir noch eine Umgebungsvariable setzen:

setenv DESTDIR /mnt

Das Grundsystem installiert man jetzt mit:

cd /mnt/FBSD7amd64/base/ && sh install.sh

Die dabei kommende Nachfrage beantwortet man mit y. Als naechstes die Kernelinstallation:

cd /mnt/FBSD7amd64/kernels/ && sh install.sh GENERIC

Hierbei sollte fuer gewoehnlich keine Nachfrage kommen, sondern einfach die Installation durchlaufen.

Konfiguration des neuen Systems

Die Installation ist mitlerweile geschafft, nun muss nur noch ein bisschen Hand an die Konfiguration gelegt werden. Diese besteht daraus: rc.conf, fstab, resolv.conf, loader.conf und sshd_config editieren.

rc.conf (/mnt/etc/rc.conf)

In der rc.conf sollten einige Werte eingetragen werden. Wichtig ist hier die Netzwerkkonfiguration und das ssh starten. Meine rc.conf sieht dann so aus:

hostname=“fulda109.server4you.de“
defaultrouter=“62.75.219.1″
ifconfig_rl0=“inet 62.75.219.90 netmask 255.255.255.0 broadcast 62.75.219.255″
sshd_enable=“YES“

Hierbei ist darauf zu achten, dass man die richtige Netzwerkkonfiguration und vor allem das richtige Device nimmt. Das richtige Device bekommt man am einfachsten heraus, indem man ein ifconfig aufruft.

fstab (/mnt/etc/fstab)

Meine fstab enthaelt folgende Eintraege:

/dev/ad4s1a             /               ufs     rw              1       1

Den swap werde ich erst spaeter dazu frickeln. 🙂

resolv.conf (/mnt/etc/resolv.conf)

In die resolv.conf traegt man den Nameserver seines Providers ein. Diesen entnimmt man am einfachsten aus /etc/resolv.conf und traegt ihn dann in /mnt/etc/resolv.conf ein. In meinem Fall also:

nameserver 85.25.128.10

sshd_config (/mnt/etc/ssh/sshd_config)

Damit ich mich auf dem spaeter neustartenden Server wieder einloggen kann, erlaube ich einfach den root-Login und den Login OHNE Passwort – ACHTUNG! DAS IST GEFAEHRLICH!. Dies muss man spaeter wieder zurueckaendern um eine minimale Systemsicherheit zu gewaehrleisten. Man muss also in /mnt/etc/ssh/sshd_config folgende Zeilen finden:

#PermitRootLogin no
#PermitEmptyPasswords no

Diese aendert man auf:

PermitRootLogin yes
PermitEmptyPasswords yes

Nun sollte ein Login mit einem leeren Passwort moeglich sein.

loader.conf (/mnt/boot/loader.conf)

Da wir einen GENERIC Kernel installiert haben und dieser nicht einfach in /boot/kernel liegt, muessen wir dem System sagen, wo der Ordner ist, aus dem er den Kernel holen soll. Dies editiert man in /mnt/boot/loader.conf:

kernel=“GENERIC“

System bootbar machen

Die Installation ist fertig, die Grundkonfiguration auch. Nun fehlt nur noch, dass das System bootbar wird. Fuer diesen Schritt habe ich am laengsten gebraucht, bis ich eine funktionierende Loesung zusammen gefrickelt hatte – ohne serielle Konsole beim Provider ist das ganze auch garnicht so einfach. Mit folgenden Befehlen schreibt man nun den Bootloader und Bootmanager:

fdisk -B -b /mnt/boot/boot0 /dev/ad4

Die Fragen, die fdisk hier stellt, beantwortet man beide mit y. Der zweite Befehl fehlt nun noch:

bsdlabel -B /dev/ad4s1

Rebooten und hoffen. Viel Spass beim nachbasteln. 🙂

6 Antworten zu “FBSD7amd64 bei Server4You”

  1. ckiewiet sagt:

    Hi,

    soweit so gut, aber ich habe ein kleines Problem. Wenn ich mich, nachdem das System rebootet wurde versuche einzuloggen, fragt mich der/das SSHd trotzdem nach einem Passwort. Obwohl ich mir sicher bin, daß ich PermitRootLogin und PermitEmtyPasswords auf yes gestellt habe.

    Hast du eine Idee was da alsch sein könnte?

    Liebe Grüße aus Süddeutschland,
    Christian

  2. lando sagt:

    ansonsten probiere es einfach mal, indem du das vorher verwendete keyfile wieder in der ~root/.ssh/authorized_keys hinterlegst. das koennte eventuell auch gehen.

  3. fornex sagt:

    Hi,

    Vielen Dank für deine Anleitung, habe grade den Express Server von Leaseweb von Cent OS auf FreeBSD umgestellt. Eine wichtige Anmerkung, PermitEmtyPasswords funktioniert leider nicht, deswegen habe ich mich bei ersten Versuch ausgesperrt. Deswegen:

    ACHTUNG: es ist besser, wenn man die Datei /mnt/etc/master.passwd mit:

    vipw -d /mnt/etc

    editiert und beim root User einen md5 Passwort von einer anderen FreeBSD Box reinkopiert. So, kann man problemlos sich dann mit einem Passwort einloggen.

    Nochmal Vielen Dank!

  4. xGhost sagt:

    Hi

    Geht das auch mit einem VServer?

  5. lando sagt:

    Mit einem VServer geht sowas vermutlich nicht – kommt aber auch immer ein wenig darauf an. Die meisten VServer-Anbieter haben einen speziellen Kernel, damit das Gastsystem laeuft.
    Falls du jedoch so einen angepassten Kernel zusammenfrickelst (wenn ueberhaupt moeglich), dann koennte es auch gehen.

  6. daniel sagt:

    Hay kannst du mir freebsd auf mein server4you root installieren ich bekomme das leider nicht hin kannst dich dringend melden zahle auch was dafür meine email ist dj-neonwolf@hotmail.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.