Webserver, the nerdy way: Minix

Aus reiner Langeweile entstand heute die Idee einen kleinen Webserver auf Basis des etwas exotischen Betriebssystems Minix in einer virtuellen Maschine abzubilden. Minix ist ein unixoides, freies Betriebssystem, welches von Andrew Tanenbaum seit 1980 als Lehrsystem entwickelt wird. Linus Torvalds beispielsweise wurde durch Minix inspiriert.

Minix liegt aktuell als Version 3.1.6 vor, auf der Projektseite www.minix.org kann das ISO-Abbild kostenfrei bezogen werden. Wenn eine virtuelle Maschine unter VMWare erstellt wird, müssen folgende Punkte beachtet werden:

  • OS-Typ: Other 32bit
  • IDE statt SCSI-Bus, Platz vorher initalisieren (allocate now)
  • VMWare Workstation 5-Emulation
  • Sound-Karte und zusätzliche Hardware in den VM-Einstellungen deaktivieren

Mit diesen Einstellungen sollte später das installierte Minix out-of-the-Box auch mit der von VMWare emulierten AMD LANCE NIC zurechtkommen.

Nach dem Boot der ISO erfolgt ein Login als root und ein Aufruf der Setup-Programms mittels setup.

Die Installation ist, wie ich finde, selbsterklärend - falls nicht, siehe Video. Bei der Auswahl der NIC muss AMD LANCE gewählt werden. Nach der Installation wird mithilfe des Kommandos boot d0p0 ein Boot vorgenommen.

Nach dem Boot können mithilfe des installierten Paketmanager packman Pakete installiert werden - diese befinden auf CD - oder werden über das Netzwerk/Internet bezogen. Die - wie ich finde - interessantesten sind:

  • 1 apache
  • 9 bash
  • 32 gcc
  • 40 grep
  • 47 irssi
  • 80 / 81 openssh
  • 88 php
  • 90 pkg-config
  • 101 screen
  • 112 sudo
  • 124 vim
  • 126 wget
  • 128 X11R6

Die Pakete sucht packman anhand der Nummer, nicht des Namens - für einen Apache-Webserver mit PHP und einigen netten Tools wäre folgende Auswahl erdenkbar: 1,9,40,47,80,88,90,101,124,126.

Mitinstalliert werden - falls gewünscht - auch die Sourcen. In aller Regel aber eher für Entwickler oder Maintainer interessant.

Nach der Installation muss noch eine Datei aus dem Internet nach /usr/local/lib/gcc/php.ini heruntergeladen werden: http://svn.php.net/repository/php/php-src/branches/PHP_5_2/php.ini-dist

Daraufhin muss noch die Konfigurationsdatei von Apache angepasst werden, sodass der Indianer PHP versteht:

1AddType application/x-httpd-php .php

Nun wäre noch eine Testdatei nett, bevor der Server gestartet wird:

1echo "<?php phpinfo(); ?>" > /usr/local/apache/htdocs/test.php
2/usr/local/apache/bin/apachectl start

Und siehe da - läuft! 😄

Apache unter Minix