| die letzten Änderungen * Seitenstruktur * Stichwortsuche :


logo_puschin.jpg

Startseite

Knowledge base



Kontakt

Impressum

Knowledge base - Apache

Knowledge base

7 Benutzer online Druckversion




zurück



Apache
Ein Shell-Webserver (Demo)

#!/bin/bash

# -----------------------------------------------------------------------
# Installation - ACHTUNG DIESES PROGRAMM DIENT NUR DEMONSTRATIONSZWECKEN!
# -----------------------------------------------------------------------

# 1. Datei /etc/xinetd.d/webserver für den xinet-daemon anlegen :
#
#       service http
#       {
#                socket_type     =  stream
#                protocol        =  tcp
#                wait            =  no
#                user            =  root
#                server          =  /opt/webserver/webserver.sh
#                log_on_failure  += USERID
#                disable         =  no
#       }
#
# 2. mkdir /opt/webserver
# 3. ln -s /srv/www/htdocs /opt/webserver/htdocs
# 4. Dieses Skript nach /opt/webserver legen

# Panik-Zähler auf 0 setzen
panic=0
while true
do
        # Eine Zeile vom Browser lesen
        read REQUEST

        # Wenn der Request ein GET enthält, dann merken in $GET
        if [ "`echo $REQUEST | grep GET`" != "" ]; then
                GET=$REQUEST

        fi

        # Wenn der Request zuende ist (\r\n), dann BREAK
        if [ "`echo $REQUEST | tr -d "\r\n"`" == "" ]; then
                break
        fi

        # Wenn der Browser mehr als 20 Zeilen gesendet hat, dann auch BREAK (Panik)
        panic=`expr $panic '+' 1`
        if [ "$panic" -gt "20" ]; then
                break
        fi
done

# Den GET aufbereiten und die Datei rausschneiden, die der Browser haben möchte
DATEI=`echo $GET | sed 's/GET \///g' | sed 's/ HTTP\/1.1.//g'`

# Wenn Datei leer, dann index.html nehmen
if [ "$DATEI" == "" ]; then
        DATEI="index.html"
fi

# Header ausgeben
#
echo "HTTP/1.1 200 OK"
echo ""

# Wenn diese Datei existiert, dann anzeigen - ansonsten Fehlermeldung
if [ -f /opt/webserver/htdocs/$DATEI ]; then
        cat /opt/webserver/htdocs/$DATEI
else
        echo "<font face=Arial size=3><b>404 not found</b>"
fi

# Logging
echo "[`date`] -> $DATEI" | logger -t webserver

# glückliches Ende
exit 0


zurück



Knowledge base wurde zuletzt bearbeitet am 12.07.13 durch Frank

www.puschin.de
login

<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#000000' text='#000000'><font face='Verdana' size='2'><strong>www.puschin.de</strong><br>Die Webseite http://www.puschin.de bietet eine interessante Webseite zu vielen Themen aus dem Bereich Linux und Windows. Man findet hier Tipps und Tricks zu cms php apache postfix openxchange tomcat windows linux firewall <br><br><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=191'>Startseite</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=63'>Knowledge base</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=57'>Kontakt</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=9'>Impressum</a></body>