
\section{HTTPD - Status-Webserver}

\marklabel{OPTHTTPD}{\subsection{OPT\_HTTPD - Mini-Webserver als Statusmonitor }}

  Wer aus irgendeinem Grund keine Möglichkeit hat, den IMONC zu benutzen,
  weil er z.B. einen Mac benutzt, kann den Webserver benutzen, um den
  Status des FLI4L-Routers abzurufen oder zu ändern.

  Um den Status abzurufen, muss man in seinen Browser eine der folgenden
  Adressen eingeben:

\begin{example}
\begin{verbatim}
    http://fli4l/
    http://fli4l.domain.lan/
    http://192.168.6.1/
\end{verbatim}
\end{example}

  Hat der fli4l-Router einen abweichenden Namen, muss dieser statt ``fli4l''
  verwendet werden. Dies gilt auch für den Domain-Namen und die obige
  IP-Adresse. Hat man den Webserver auf einen anderen Port gelegt (per
  \var{HTTPD\_\-PORT}), muss man diesen mit angeben:

\begin{example}
\begin{verbatim}
    http://fli4l:81/
\end{verbatim}
\end{example}

  Es wird seit der Version 2.1.12 eine Login-Seite angezeigt, die nicht
  passwortgeschützt ist. Die passwortgeschützten Seiten befinden sich im
  Unterverzeichnis admin, also beispielsweise:
\begin{example}
\begin{verbatim}
    http://fli4l.domain.lan/admin/
\end{verbatim}
\end{example}

   Der Webserver lässt sich über folgende Variablen anpassen:

\begin{description}

\config{HTTPD\_GUI\_LANG}{HTTPD\_GUI\_LANG}{HTTPDGUILANG}

    {Hiermit wird die Sprache eingestellt, in der das Webinterface
    dargestellt werden soll. Wird hier 'auto' eingetragen, wird die 
    Spracheinstellung der Variablen \var{LOCALE} (in der base.txt) 
    verwendet.}

\config{HTTPD\_PORT}{HTTPD\_PORT}{HTTPDPORT}

    {Soll der Webserver auf einem anderen Port laufen als 80, so ist
    dieser Wert anzupassen. Das ist normalerweise nicht zu empfehlen, da
    dann z.B. mit http://fli4l:81/ auf den Webserver zugegriffen werden
    muß.}

  Der Webserver bietet eine ausgefeilte Benutzerverwaltung:

\config{HTTPD\_USER\_N}{HTTPD\_USER\_N}{HTTPDUSERN}
    {Hiermit wird die Anzahl der Benutzer eingestellt. Wird diese Variable
    auf 0 gesetzt, wird die Benutzerverwaltung komplett deaktiviert und
    jeder hat die Möglichkeit, auf den Webserver zuzugreifen.}

\configlabel{HTTPD\_USER\_x\_PASSWORD}{HTTPDUSERxPASSWORD}
\configlabel{HTTPD\_USER\_x\_RIGHTS}{HTTPDUSERxRIGHTS}
\config{HTTPD\_USER\_x\_USERNAME  HTTPD\_USER\_x\_PASSWORD  HTTPD\_USER\_x\_RIGHTS}
       {HTTPD\_USER\_x\_USERNAME}
       {HTTPDUSERxUSERNAME}
   
    {Hier werden Benutzername und Passwort der einzelnen Benutzer
    eingetragen. Desweiteren wird für jeden Benutzer angegeben, auf
    welche Funktionen des Webservers er zugreifen darf. Diese Funktion
    wird mit der Variable \var{HTTPD\_\-RIGHTS\_\-x} geregelt. Im einfachsten Fall
    steht dort nur 'all', was bedeutet, dass der entsprechende Benutzer
    alles darf. Ansonsten hat die Variable den folgenden Aufbau:

\begin{example}
\begin{verbatim}
       'bereich1:recht1,recht2,... bereich2:...'
\end{verbatim}
\end{example}

    Statt für einen Bereich die einzelnen Rechte anzugeben, darf auch
    hier das Wort ``all'' eingesetzt werden, was wiederum heißt, das
    dieser Benutzer in diesem Bereich alle Rechte hat. Dabei gibt es
    folgende Bereiche und Rechte:

      \begin{description}
      \item[Bereich ``status''] Alles, was im Menü Status zu sehen ist.
        \begin{description}
        \item[view] Der Benutzer darf alle Menüpunkte aufrufen.
        \item[dial] Der Benutzer darf wählen und auflegen.
        \item[boot] Der Benutzer darf den Router herunterfahren \&
                    neu starten.
        \item[link] Der Benutzer darf Kanalbündlung an- und abschalten.
        \item[circuit] Der Benutzer darf den Circuit wechseln.
        \item[dialmode] Der Benutzer daf den Dialmode (Auto, Manual,
                        Off) ändern.
        \item[conntrack] Der Benutzer darf die aktuell über den Router laufenden
	                  Verbindungen ansehen.
        \item[dyndns] Der Benutzer darf Log-Meldungen des DYNDNS Paketes sehen.
       \end{description}

      \item[Bereich ``logs''] Alles, was mit Logdateien zu tun hat
            (Verbindungen, Anrufe, Syslog)
        \begin{description}
        \item[view] Der Benutzer darf die Logdateien betrachten.
        \item[reset] Der Benutzer darf die Logdateien löschen.
        \end{description}

      \item[Bereich ``support''] Alles, was nützlich ist, wenn man beispielsweise
                    in der Newsgroup Hilfestellung sucht.
        \begin{description}
        \item[view] Der Benutzer darf die Links zur Doku, fli4l-Webseite, usw. abrufen
        \item[systeminfo] Der Benutzer darf detaillierte Informationen zur Konfiguration
	                  und zum aktuellen Status des Routers (z. B.: Firewall) abfragen.
        \end{description}

      \end{description}

    Hier noch einige Beispiele:
        
      \begin{description}
      \item[HTTPD\_USER\_1\_RIGHTS='all']
        Diese Angabe erlaubt einem Benutzer alles!

      \item[HTTPD\_USER\_2\_RIGHTS='status:view logs:view support:all']
        Dieser Benutzer darf sich zwar alles ansehen, aber nichts
        ändern.

      \item[HTTPD\_USER\_3\_RIGHTS='status:view,dial,link']
        Dieser Benutzer darf sich den Status der Internetverbindung
        ansehen, wählen und Kanalbündelung ein- und ausschalten.

      \item[HTTPD\_USER\_4\_RIGHTS='status:all']
        Dieser Benutzer darf alles mit der Internetverbindung machen
        und neu starten (natürlich auch herunterfahren). Er darf aber
        nicht die Logdateien sehen oder löschen, die Timetable darf
        er auch nicht sehen...
      \end{description}
    }

\end{description}

    Wenn man TELMOND installiert hat, werden auf der Status- und der Calls-
    Seite die Telefonnummern der Anrufer angezeigt. Eine Namenszuordnung
    lässt sich in der Datei opt/etc/phonebook vornehmen. Diese Datei hat das
    gleiche Format wie die Telefonnummerndatei vom IMONC. Es können also
    Telefonbücher zwischen IMONC und Router ausgetauscht werden. Das Format
    jeder Zeile ist dabei ``Telefonnummer=Name[,WAV-Datei]'' (ohne die
    Anführungszeichen). Die WAV-Datei wird aber nur vom IMONC benutzt und
    vom Webserver ignoriert.

    Das komplette Webinterface ist seit der Version 2.1.12 auf ein Framefreies
    Design mit CSS umgestellt worden. Alte Browser könnten damit Probleme haben.
    Allerdings hat das den Vorteil, dass man das Aussehen der Oberfläche fast beliebig
    verändern kann, einfach indem man die CSS-Dateien (im wesentlichen 
    /opt/srv/www/css/main.css) anpasst.

    Das Webserver-Paket wurde von Thorsten Pohlmann (\email{pohlmann@tetronik.com})
    erstellt und wird zur Zeit von Tobias Gruetzmacher (\email{fli4l@portfolio16.de})
    gepflegt. Das neue Design (seit der Version 2.1.12) wurde von 
    Helmut Hummel (\email{hh@fli4l.de}) realisiert.

