Nachdem ich einen Provider gefunden habe, kommt nun die Installation des Betriebssystems. Zuerst eine Übersicht über die Hardware des Servers. Ein Miditower mit einem MSI Mainboard, einem Intel Celeron 2,0 GHz mit 512 MB DDR Speicher und einer 40 GB IDE Festplatte. Ein CD-Rom Laufwerk fehlt genauso wie ein Diskettenlaufwerk.
Zur Installation benötige ich ein CD-Rom Laufwerk. Ein USB CD-Rom wird von dem Mainboard leider nicht erkannt, so das ich das Gehäuse öffnen und ein normales IDE CD-Rom Laufwerk einbauen muss. Die Installations CD brenne ich mit dem Mini-ISO von der FreeBSD Homepage. Mehr als das Minimalsystem brauche ich nicht zum aufbauen meines Servers.
Hier kurz eine Zusammenstellung was ich alles auf dem Server installieren möchte:
- FreeBSD als Betriebsystem
- Apache 1.3 als HTTP Server
- MySql 4.0 als Datenbank
- MRTG als Traffic und System Status Visualisierung
- PHPMyAdmin als Datenbank Verwaltung
- WebMin für die Systempflege
- Bind 9.x als DNS Server
Die Installation des Grundsystems ist für jemanden der an die Textkonsole gewohnt ist kein Problem. Die Festplatte lasse ich das Installations Programm vollständig und Automatisch einrichten. Es legt folgende Partitionen an:
- / [248 MB]
- /tmp [248 MB]
- /usr [35 GB]
- /var [248 MB]
- swap [967 MB]
Diese Aufteilung hat sich bei mir auch bewährt. Im Gegensatz zu den meisten Linux-Distributonen wird hier noch mit mehreren Partitionen gearbeitet, was der Sicherheit zu gute kommt. Nach der Installation des Minimalsystems fahre ich das System runter und baue das CD-Rom wieder aus.
Nach dem Starten des Systems begrüßt uns schon ein sehr rudimentäres FreeBSD System. Mehr kann man von einem Minimal System nicht verlangen. Nur das notwendigste ist installiert. Damit hat man eine gute Grundlage für ein sicheres Betriebssystem für den eigenen Server. Das Anmelden ist noch sehr einfach, Login root, kein Passwort. Das ändern wir zuerst. Dann richten wir in der /etc/rc.conf das Netzwerk und SSH ein. Dazu öffnen wir rc.conf mit vi und tragen folgende werte ein:
#--- begin rc.conf ---
ifconfig_sis0="inet 62.112.147.177 netmask 255.255.255.248 up"
ifconfig_sis0_alias0="inet 62.112.147.178 netmask 255.255.255.255 up"
defaultrouter="62.112.129.65"
hostname="abel.waringer-atg.de"
sshd_enable="YES"
syslogd_flags="-ss"
#--- end rc.conf ---
sis0 ist der OnBoard Netzwerk Port. FreeBSD benahmt die Netzwerkkarten nicht wie Linux, sondern nach dem verwendeten Treiber. sis0 ist also die erste Karte die von dem SIS Treiber erkannt wurde. Eine weitere IP Adresse wird in FreeBSD Alias genannt. Als Besonderheit ist zu Aliase anzumerken, das ihre Netzmaske immer 255.255.255.255 ist. Als defaultrouter trägt man sein Netzwerkgateway ein. Der hostname ist der FQDM (Full Qualified Domain Name) des Servers. Den SSH Zugang zu dem Server schalten wir per sshd="yes" ein. Eine Konfiguration des SSH Services ist normalerweise nicht notwendig, da die FreeBSD Einstellungen schon sehr gut sind. Man muss nur beachten, das per Default root keinen SSH Zugang hat. Man sollte also gleich einen User anlegen. Zuvor noch kurz zu dem syslogd_flags Eintrag. dieser dient dazu den syslogd die Netzwerkfähigkeit zu nehmen, da der syslogd per Default über das Netzwerk ansprechbar ist. Ich brauche das aber nicht, und schalte das daher ab, was ich nur jedem empfehlen kann der den syslogd nicht über das Netzwerk benötigt. Nun zum anlegen eines Users. Mit dem Befehl adduser legt man unter FreeBSD einen neuen User Interaktiv an. Zuerst wird man nach dem gewünschten Usernamen gefragt, dann nach den Vollen Namen. Die "Uid" und die "Login group" sollte man nicht verändern, außer man weis was man tut. Die Frage ob man den User in eine weitere "Login group" aufnehmen will beantworten wir mit "wheel". Die Gruppe wheel hat die Besonderheit, das nur Ihre Mitglieder ein su auf root machen dürfen.
Damit hält man sich schon manchen ärger vom Hals, wenn man nur wirklich benötigte Accounts in diese Gruppe aufnimmt. "Login class" lässt man am besten wieder unangetastet. Als "Shell" verwende ich normalerweise die bash, die ist aber in der Minimalinstallation nicht enthalten, so das wir für den User zuerst die Standartshell "sh" übernehmen. Das "Home directory" kann man anpassen wen man will, für den Normalen User ist die Vorgabe aber in Ordnung. Als nächstes kommt der Passwortblock. Nach der Frage ob man ein Passwort für die Zugangsberechtigung verwenden möchte (Wollte ich bisher immer) wird man gefragt ob der User ein leeres Passwort bekommen soll, was an sich schon eine zweifelhafte Frage ist, wenn der Server Öffentlich zugänglich ist (Also ein no, was ja auch die Vorgabe ist). Wenn man die Frage nach einem zufälligem Passwort mit yes beantwortet legt FreeBSD selbstständig ein (sicheres) Passwort für den User fest, ansonsten wird man 2 mal nach dem zu setzenden Passwort gefragt. Jetzt bekommt man eine Zusammenfassung der Daten angezeigt und kann sich entscheiden ob die Daten so stimmen, oder ob man sich vertan hat.
Jetzt hat man ein Minimal System mit Netzwerk, auf das man per SSH zugreifen kann. Im 2. Teil werde ich mich dem Port System von FreeBSD widmen, und das System für die User Komfortabler machen.

