mini_httpd

So, als letztes Paket fehlt jetzt nur noch ein Webserver zum darstellen der
Daten. Da es auch hier noch kein funktionierendes Paket für Eisfair2
gibt, hab ich den mini_httpd ausgewählt. Er ist kleine, relative
schnell, einfach installiert und bietet alles was ich brauche.

Also mal wieder die Sourcecodes runterladen (hier
erhältlich), in ein Verzeichnis einpacken. Bitte nicht /tmp verwenden,
da dieses Verzeichnis anscheinend bei jedem Neustart des Servers
gelöscht wird. Dann hätte man keine Möglichkeit mehr, denn mini_httpd
wieder zu deinstallieren. Da es keine configuration.sh gibt, habe ich
einfach nur make und make install ausgeführt und schon war der mini_httpd installiert.

Leider, leider ohne automatischen Start während das System hochfährt.
Konfiguriert ist auch nichts und die MAN pages sind auf dem Eisfair2
nicht zu lesen. Also erstmal wieder googlen:

Ersten, wie starte ich einen Services während des Systemstarts….
Zweites, wie konfiguriert man diesen mini_httpd (auf der Website findet man nichts…)

Zu Erstens:
Erstelle ein Skript in /etc/init.d und nenn es mini_httpd.  Chmod 755
nicht vergessen, damit das Ding auch ausführbar wird. Hier ein
Beispiel, wie der Inhalt aussehen könnte (ich weiß, das ist nicht
perfekt, aber ein Anfang):

#!/bin/sh
#!/bin/sh
#------------------------------------------------------------------------------
# part of the mini_httpd-package for EIS/FAIR
# start script
#------------------------------------------------------------------------------

. /lib/lsb/init-functions

case "$1" in

    start)
 	log_daemon_msg " mini_httpdn"
	/usr/local/sbin/mini_httpd -C /etc/mini_httpd/mini_httpd.conf &
       log_end_msg $?

    ;;

    stop) if [ -e /var/run/mini_httpd_base.pid ]
         then
            echo "Stopping MINI_HTTPD-Status-Webserver ..."
            kill `cat /var/run/mini_httpd_base.pid`
	    rm /var/run/mini_httpd_base.pid
	    sleep 3
	    echo
	    /etc/init.d/mini_httpd status
         fi
    ;;

   restart) $0 stop
            $0 start
        ;;
   status) if [ -e /var/run/mini_httpd_base.pid ]
           then
	    /usr/local/bin/colecho "MINI_HTTPD running" gn
	   else
	    /usr/local/bin/colecho "MINI_HTTPD not running" rd
	   fi
	   ;;
   *) echo "Usage: $0 {start|stop|restart|status}"
      exit 1
      ;;
esac

exit 0

Dann in die Verzeichnisse /etc/rc2.d und  einen symbolischen Link
mit Namen S90mini_httpd anlegen, der auf die eben erstellte Datei
zeigt. So wird der Webserver beim Hochfahren automatisch gestartet.
Richtigerweise legt man noch in allen anderen rcX.d Verzeichnissen ein
symbolischen Link mit eine K vorneweg an, damit der Server auch richtig
heruntergefahrenen wird.

Der Pfadangabe zu der Konfigurationsdatei, sowie die Namen der PID
Datei sind natürlich dem eigenen System anzupassen. Was uns auch schon
zu dem zweiten Punkt bringt.

Zu Zweitens:
Ein Blick in die MAN Seite würde wieder helfen, aber wie schon festgestellt, diese sind nicht lesbar. Also auf ins Internet und wahrlich es gibt die MAN page online. Zur Einfachheit hab’ ich sie mal hier hinterlegt.

Wie ihr den mini_httpd jetzt konfiguriert, ist Eure Sache. Ich hab’ es so gelöst:

cgipat=**.cgi|**.php|**.pl
pidfile=/var/run/mini_httpd_base.pid
dir=/usr/local/www
data_dir=htdocs
nochroot
logfile=/usr/local/www/log/mini_httpd.log
port=80

Kleiner Tip: Auch wenn es zu einer berechtigten Warnmeldung führt, das nochroot ist ganz sinnvoll. Solltet ihr das nicht machen, muss alles was von der Seite aus aufgerufen wird im Verzeichnisbaum unterhalb von dir liegen, wirklich alles. Also z.B. auch die ganzen Perl Programmdateien, die RRDTool Datenbank, alles was mit SQLite zu tun usw. Mit Sichheit gibt es dazu eine Lösung, mir war das aber zu aufwendig.

Schreibe einen Kommentar

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