Inhalt

 


Menü Ausschalten

MEngelke.de / Projekte / HTTP Classic Lite beta

LAN Check

Suchen Drucken eMail 

HTTP Classic Lite beta

HTTP Classic Lite ist eine sehr kleine Web-Server Zusammenstellung, die man auf Festplatten, Netzlaufwerken, USB-Sticks, MemoryCards, Wechselmedien, CD-/DVD-ROMs, MP3-Player (z.B. iPod) und anderweitig betreiben kann. Ja - Sogar auf einer normalen 1.4 MB Diskette.

 

Es wurde so klein wie möglich gehalten, damit es auf den recht kleinen Medien keinen wertvollen Platz wegnimmt. Um sicherzustellen, dass alles ohne Probleme läuft, wurde auf die aktuellen Versionen verzichtet und die eingesetzt, die besonders klein und stabil sind.

 

Man muss nicht auf Laufwerksbuchstaben achten und es ist keine Installation notwendig. Es werden auch keine Dateien im Windows-Ordner oder in der Registry angelegt. (Ausnahme: Wenn Apache oder MySQL als Dienst angemeldet wird. Sie können aber auch als Anwendung gestartet werden.)

 

Voraussetzungen

x86 Windows PC (Win32) mit min. 64 MB Speicher

 

Der Einsatz von Windows 95, 98 und ME wird nicht empfohlen, da der Webserver ab Apache 1.3.28 nicht mehr zuverlässig läuft. (Es ist dann nicht möglich externe Programme zu starten)
Darum wird Windows 95, 98 und ME von mir nicht mehr aktiv unterstützt. Es ist sowieso unsinnig ein Webserver auf ein System zu betreiben, dass keine Dienste oder Rechte kennt...
Voll unterstützt wird Windows NT/200x/XP/Vista x86 (32 Bit)!

 

Paket Unterschiede

HTTPLite (2 MB Version)
Apache 1.3.41(225 KB)
Perl 5.8.6(391 KB)
PHP 4.4.9(619 KB)
MySQL 3.23.58(709 KB)
Examples(145 KB)
HTTPLite (4 MB Version)
Apache 1.3.41(225 KB)
Perl 5.8.6(391 KB)
PHP 4.4.9(1.0 MB)
MySQL 4.1.22(2.28 MB)
Examples(145 KB)
HTTPLite (Disk Version)
Apache 1.3.41(195 KB)
Perl 5.8.6(391 KB)
PHP 4.4.9(582 KB)
SQLite 2.8.14(105 KB)
Examples(102 KB)

Das 2 MB/4 MB-Paket unterscheidet sich im großen und ganzen nur durch die MySQL-Version:
Die MySQL-Version, die im 2 MB-Paket mit bei liegt, kann man NICHT als Dienst betreiben, da der entsprechende Code entfernt wurde. Um MySQL dennoch als Dienst zu betreiben, installieren Sie das Update-Pack!
Die MySQL-Version, die im 4 MB-Paket mit bei liegt, kann nur dann als Dienst betrieben werden, wenn der Datenträger beschrieben werden kann. (In der my.ini müssen einige Pfade angepasst werden)
Da MySQL ab der Version 4.1 Unicode (z.B. UTF-8) fähig ist, wurde für PHP, im 4 MB-Paket, die Erweiterung MBString mit bei gelegt.
Im abgespeckten Disketten-Paket wurde MySQL durch das PHP-Modul SQLite ersetzt.
Einige Beispiele und sämtliche Kommentare aus den Konfigurationsdateien wurden aus Platzgründen entfernt.
Tipp: Wenn Sie das Format auf der Diskette mit Winimage von 1.44 MB auf 1.68 MB ändern, haben Sie knapp 240 KB mehr platz auf der Diskette ;-) - Und natürlich können Sie nicht benötigte Server-Komponenten entfernen!

 

Download

Alle Pakete können kostenfrei heruntergeladen und genutzt werden! Die Dateien sind mit 7-Zip gepackt und auf Virenbefall geprüft worden!

 
HTTP Classic Lite (2MB) (exe)(1.61 MB vom 12.10.2008)Apache 1.3.41 / PHP 4.4.9 / Perl 5.8.6 / MySQL 3.23.58
HTTP Classic Lite (4MB) (exe)(3.00 MB vom 12.10.2008)Apache 1.3.41 / PHP 4.4.9 / Perl 5.8.6 / MySQL 4.1.22
HTTP Classic Lite (Disk) (exe)(1.14 MB vom 12.10.2008)Apache 1.3.41 / PHP 4.4.9 / Perl 5.8.6 / SQLite 2.8.14 Auf einer 1.4 MB Diskette!
Updatepack (MySQL3) (exe)(974 KB vom 13.12.2006)MySQL 3.23.58 (Service) für HTTP Classic Lite (2 MB)
Updatepack (Apache) (exe)(89.5 KB vom 20.09.2008)Alle wichtigen Erweiterungs-Module für Apache
Updatepack (PHP) (exe)(817 KB vom 05.05.2007)Ein paar Erweiterungs-Module für PHP


Bestandteile

Apache

Das Herzstück dieses Webservers ist Apache. Beim Start wird ein Port geöffnet, auf dem Webseiten abgerufen werden können. Es können nun über den Webbrowser HTML-Seiten und Binaer-Dateien abgerufen werden (Über das HTTP-Protokoll.)
Zu erreichen sind diese über localhost oder über die IP-Adresse: 127.0.0.1.
Unter Windows 95/98/ME kann Apache seit der Version 1.3.28 keine externen Programme mehr starten. Die entsprechende Warnmeldung ist "normal").
Um htaccess-Kennwörter zu erstellen, können Sie das Tool benutzen, das in /apache/bin/htpasswd.exe zu finden ist. Ein weitere Lösung dazu ist in /apache/htdocs/examples/password/ (Benutzername: "root" / kein Kennwort) zu finden.
Apache kann mit zusätzlichen Modulen erweitern werden, kopieren Sie die entsprechen Module im Ordner /apache/conf/ und rufen Sie das Setupmenü auf. Dort können Sie dann die neuen Erweiterung aktivieren. Sollte die neue Erweiterung nicht aufgelistet sein dann müssen Sie die httpd.conf entsprechend ändern.

 

PHP

Damit man nicht nur statische Seiten abrufen muss, benutzt man eine aktive Scriptsprache, die auf dem Server ausgeführt wird. Damit sind Foren, Wikis Gästebücher und vieles mehr möglich. Auf diese Weise braucht man als Webmaster nicht so sehr darauf achten, ob der User ein Browser mit aktiven Java oder Javascript benutzt, da PHP immer auf dem Server verfügbar ist. Der Haken dabei ist, daß man keine Kontrolle hat, wie es bei beim User angezeigt wird.
PHP wird in HTTP-Classic-Lite zusätzlich zur Verwaltung eingesetzt, um z.B. komplexe Anpassungen an Konfigurationsdateien vorzunehmen. Im Web kann man PHP in zwei Modi betreiben: Als Apache-Modul (default) oder als CGI. Um PHP auch z.B. für Batch-Dateien nutzen zu können, können Sie dazu das Programm /apache/php/phpcli.exe aufrufen. Der einzige unterschied zu php.exe ist, dass keine entsprechender HTML-Tags Generiert werden und die Laufzeit unendlich hoch ist. Falls Sie PHP-Scripte wie DOS-Scripte benutzen wollen, dann schauen Sie sich /apache/php/phpbatch.bat mal genauer an.
Um PHP mit zusätzlichen Modulen erweitern können, kopieren Sie die entsprechen Module im Ordner /apache/php/ und rufen Sie das Setupmenü auf. Dort können Sie dann die neuen Erweiterung aktivieren. Sollte die neue Erweiterung nicht aufgelistet sein dann müssen Sie die PHP.ini entsprechend ändern.

 

Perl

Die Scriptsprache Perl ist mit PHP vergleichbar. Der Unterschied ist, dass Perl auf Modul-Basis aufgebaut ist, wobei bei PHP alle Wichtige mit dabei ist. Alle Perl-Scripte müssen in cgi-bin Ordner liegen und mit folgender Zeile beginnen: #!"/apache/bin/perl.exe" (Unter Umständen den Pfad anpassen!) In diesem Projekt werden keine Module für Perl mit beigelegt, d.h. Sie müssen diese selber manuell hinzufügen.

 

MySQL

Der Datenbank-Server MySQL kann unabhängig vom Webserver laufen. Es kann als Anwendung oder als Dienst installiert werden (Als Dienst sind Administrative Rechte erforderlich) und kann dann normal gestartet werden. Die Abfragen werden normalerweise mit PHP gemacht, aber können natürlich auch von anderen Programmen gesteuert werden (z.B. Microsoft Access über ODBC).
Das Script, um MySQL zu starten oder zu beenden, ist im Hauptordner: /apache/setup.bat.
Der Benutzername ist nach der Voreinstellung "root" und es gibt kein Kennwort. Es gibt zwei Datenbanken: "mysql" (Finger weg) und "test". Selbstverständlich kann man weitere Datenbanken bzw. Tabellen anlegen oder löschen. Als Administrations-Tool wurde /apache/mysql/bin/mysqladmin.exe und /apache/htdocs/examples/sqlquery.php angelegt.

 

Achtung:

use mysql;
update user set password = old_password("password") where user = "username";
flush privileges;

Wenn Sie unter MySQL 4.1 oder neuer einen neuen Benutzer anlegen, dann denken Sie daran, dass der PHP4-Client intern immer noch die Version 3.23 hat. Daher müssen alle Benutzer noch die alte Kennwort-Kodierung benutzen. Notfalls hilft Ihnen der Query auf der rechten Seite weiter:

 

SQLite

Das Datenbank-Modul SQLite ist eine externe Erweiterung für PHP. Es ist mit anderen Datenbanken der SQL-Familie vergleichbar. Für jede Datenbank wird eine Datei auf dem Server angelegt. Benutzerrechte gibt es keine. Sonst kann man normal über PHP, Tabellen anlegen und abfragen.
Die Erweiterung ist nur in der Disk-Version mit dabei. Für die anderen Pakete muss das entsprechende Updatepack installiert werden.

 

DOS / Batch

Ein Großteil der Administration wurden mit DOS-Scripte realisiert, die teilweise auch noch Hilfe von PHP bekommen.
Alle Scripte wurden in einer einzigen Datei zusammengefasst: "/apache/setup.bat". Damit kann man HTTP-Lite starten, beenden und den Betriebsmodus ändern lassen. Sogar eine Teil-Deinstallation ist möglich...

 

Installieren

Nachdem Sie das Archiv entpackt haben, den Ordner Apache einfach in das Hauptverzeichnis verschieben.

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\User>cd \programme\apache

C:\Programme\apache>setup apache rootpath
/apache => /programme/apache
conf/httpd.conf ........................ lese, korrigiere, schreibe, fertig!
cgi-bin/demo.cgi ....................... lese, korrigiere, schreibe, fertig!
php.ini ................................ lese, korrigiere, schreibe, fertig!
php/php.ini ............................ Datei nicht gefunden!
php/setup.bat .......................... lese, korrigiere, schreibe, fertig!
mysql/my.cnf ........................... lese, korrigiere, schreibe, fertig!
mysql/my.ini ........................... Datei nicht gefunden!
htdocs/examples/password/.htaccess ..... lese, korrigiere, schreibe, fertig!

C:\Programme\apache>exit
Rootpfad auf /programme/apache anpassen

WICHTIG: Nicht in einen Unterorder verschieben, da sonst der Rootpfad geändert muss.
Der Rootpath kann mit einen Script korrigiert werden: "setup.bat apache rootpath" Anschließend wird in den folgenden Dateien der absolute Hauptpfad geändert:

  • /apache/conf/httpd.conf
  • /apache/cgi-bin/demo.cgi
  • /apache/php.ini oder
    /apache/php/php.ini
  • /apache/php/setup.bat
  • /apache/mysql/my.cnf oder
    /apache/mysql/my.ini
  • /htdocs/examples/password/.htaccess
 

Achtung: Die Datenbank MySQL verlangt Pfade ohne Sonderzeichen! d.h. die folgenden Pfade werden nicht funktionieren:

  • /Dokumente und Einstellungen/User/Desktop/apache
  • /Program Files/apache
  • /Eigene Dateien/apache

Benutzen Sie stattdessen Pfade, die keine Leer oder Sonderzeichen beinhalten!

 

Deinstallieren

Um HTTP Classic Lite zu deinstallieren, sollte man sich erstmal vergewissern, dass Apache beendet ist, MySQL nicht mehr läuft und Apache/MySQL nicht als Dienst eingetragen ist. Anschließend braucht man nur noch den kompletten Apache-Ordner zu löschen. Das wars!

 

Teil-Deinstallation

HTTP Classic Lite besteht im Grunde aus vier Teilen, die getrennt werden können.

  • Apache
    Falls Sie nur den Webserver entfernen wollen, können Sie folgendes Script benutzen: "setup remove apache"
    Was dann noch übrig ist, kann nur noch über die Eingabeaufforderung benutzt werden.
  • MySQL
    Wenn Sie den Datenbank-Server nicht brauchen: "setup remove mysql"
  • Perl
    Um den Script-Interpreter Perl zu entfernen: "setup remove perl"
  • PHP
    Zuletzt kann man noch den Script-Interpreter PHP entfernen: "setup remove php"
    Ab Jetzt kann MySQL nicht mehr als Dienst betrieben werden, der Rootpath kann nicht mehr korrigiert werden und der Schreibmodus kann ebenfalls nicht mehr geändert werden.
 

Inbetriebnahme

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\User>cd \programme\apache
C:\Programme\apache>setup apache install
Installing the Apache service
The Apache service has been installed successfully.
Apache wird gestartet.
Apache wurde erfolgreich gestartet.

C:\Programme\apache>setup apache uninstall
Apache wird beendet.
Apache wurde erfolgreich beendet.

Removing the Apache service
The Apache service has been removed successfully.

C:\Programme\apache>exit
Apache als Dienst Starten und Beenden

Apache
Der Webserver und die Datenbank können auf zwei Arten betrieben werden:

  • als Applikation
    Um den Webserver als Applikation zu betreiben, müssen sie nichts weiter tun, als auf das Programm Apache.exe doppelklicken.
  • als Dienst (Administrative Rechte erforderlich)
    Wenn sie im Besitz von administrativen Rechten über Windows NT/200x/XP sind, können Sie den Webserver als Dienst starten. Es gibt ein Script, das sich im Ordner "apache" befindet. "setup.bat apache install" startet den Webserver und "setup.bat apache uninstall" beendet diesen wieder.
    Bei einen neustart von Windows wird Apache automatisch, wie bei einen richtigen Server mit gestartet. (Unabhängig davon, ob Sie gerade angemeldet sind oder nicht!)
 

Nachdem Sie den Webserver gestartet haben, wird ein Port (80) geöffnet und ist über die Adresse: http://127.0.0.1/ oder http://localhost/ erreichbar. Die Script sprachen Perl und PHP sind ebenfalls sofort verfügbar.

 

Hier ein einfacher Test um zu testen, ob der Webserver läuft: Öffnen Sie dazu die Eingabeaufforderung aus dem Startmenü. Nun geben Sie folgendes ein:

telnet 127.0.0.1 80(Enter drücken)
HEAD / HTTP/1.0(Diese Zeile müssen Sie blind eingeben! Und 2x Enter drücken)
 

Anschließend sollte folgendes auf den Bildschirm erscheinen:

HTTP/1.1 200 OK
Date: Wed, 30 Feb 2000 12:34:56 GMT
Server: Apache/1.3.41 (Win32) PHP/4.4.9
X-Powered-By: PHP/4.4.9
Connection: close
Content-Type: text/html
Apache Test-Rückmeldung

Natürlich können Sie stattdessen auch ein Internet-Browser benutzen.

 

Um Apache, das als Applikation gestartet wurde, wieder zu beenden, muss man nur das geöffnete Fenster wieder schließen. Der Web-Server wird dann beendet.
Wurde Apache als Dienst gestartet, rufen Sie das Script: "setup apache uninstall" auf. Der Web-Server wird dann beendet und der Dienst wird deinstalliert.

 

PHP
PHP kann in zwei Betriebsarten genutzt werden: Als Apache-Modul oder als CGI-Extension.
Wenn man Wert auf Komfort legt, sollte man PHP als Apache-Modul betreiben (PHP hat Zugriff auf die internen Datenbestände von Apache), wenn man Wert auf Sicherheit legt (z.B. PHP mit eigenen Rechten oder Firewall-Regeln betreiben), als CGI-Extension.
Möchten Sie die Betriebsart von PHP ändern, benutzen Sie entweder das Setup-Menü von HTTP Classic Lite http://localhost/?setup oder geben Sie "setup apache phpmodule" bzw. "setup apache phpcgi" in der Eingabeaufforderung ein.

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\User>cd \programme\apache

C:\Programme\apache>setup mysql install
Service successfully installed.
MySQL wird gestartet.
MySQL wurde erfolgreich gestartet.

C:\Programme\apache>setup mysql uninstall
MySQL wird beendet.
MySQL wurde erfolgreich beendet.

Service successfully removed.

C:\Programme\apache>exit
MySQL als Dienst Starten und Beenden

MySQL
Um die Datenbank MySQL zu starten, benutzt man entweder die Startseite von HTTP Classic Lite http://localhost/ oder Sie können das Script "/apache/setup.bat" ausführen:

setup.bat mysql startMySQL wird als Anwendung gestartet
setup.bat mysql stopMySQL wird als Anwendung beendet
setup.bat mysql installMySQL wird als Dienst installiert und gestartet
setup.bat mysql uninstallMySQL wird als Dienst geendet und deinstalliert

Es wird ein Port (3306) geöffnet und MySQL ist ab sofort über localhost:3306 erreichbar.

 

Es gibt zwei Startarten: Als Dienst und als Anwendung.

  • Um MySQL als Dienst zu starten, ist erstmal Windows NT/200x/XP erforderlich. Dann benötigt man administrative Rechte, um den Dienst installieren zu können. Sind alle Bedingungen erfüllt, können Sie den Dienst über die "Eingabeaufforderung" mit den Befehl: "setup mysql install" installieren und starten.
    Der Dienst kann zum beenden mit "setup mysql stop" wieder entfernt werden.
    Wird Windows neu gestartet, wird MySQL ebenfalls automatisch mit gestartet.
  • Um MySQL als Anwendung starten: "setup mysql start". Das geöffnete Fenster braucht man nur zu minimieren (Falls es nicht von alleine verschwindet).
    Um MySQL wieder zu beenden, reicht es nicht, das evtl. noch offene MySQL-Fenster wieder zu schließen, man muss das Script "setup mysql stop" starten, dann wird MySQL wieder geschlossen und beendet.
 

Kennwörter

Da HTTP Classic Lite nicht für das Internet gedacht ist, wurden alle Kennwörter gelöscht. Als Benutzername wurde root gewählt. Einige Scripte verlangen nur nach einen Kennwort und da wird der Benutzername eingegeben.

 

Firewall

WICHTIG: Wenn Sie im Internet sind und Apache oder MySQL gestartet haben, kann theoretisch jeder darauf zugreifen, der ihre IP-Adresse kennt. Vergessen sie nicht, ihre Firewall entsprechend anzupassen. (Für Apache: TCP incoming Port 80 und für MySQL: TCP incoming Port 3306)

 

Das Web-Verzeichnis http://localhost/examples/ ist aus Sicherheitsgründen nur über localhost sichtbar oder wenn man sich im Klasse-C Netzwerk (192.168.x.y) befindet. Die Scripte explorer.php und sqlquery.php sind mit Hilfe von /apache/htdocs/examples/.htaccess für das Internet gesperrt!

 

Festplatten/CD-ROM Modus:

(default ist CD-ROM Modus)

 

Der Webserver Apache ist sehr empfindlich, wenn es keine Daten schreiben kann. Daher muss man die Konfig leicht ändern, wenn man Apache von CD-ROM betreiben möchte. Logischerweise legt Apache dann auch keine Logfiles mehr an und kann auch nicht automatisch beendet werden. Die Warnmeldung beim Start ist dann normal, da Apache glaubt, es hätte kurz vorher einen Systemabsturz gegeben...

 

Um die Konfig zu ändern, kann man das Setup-Menü vom HTTP Classic Lite benutzen http://localhost/?setup oder oder geben Sie "setup apache readonly" bzw. "setup apache readwrite" in der Eingabeaufforderung ein.

 

Dem Datenbank-Server MySQL 3.23 ist es egal, ob es schreiben kann oder nicht. Natürlich gibt es einen ganzen Haufen von Fehlermeldungen, wenn nicht korrekt geschrieben werden kann, aber das hängt vom Script ab, wie es auf die Fehler reagiert (Intern laufen alle Tabellen als "readonly"!).

 

MySQL 4.1 ist da etwas empfindlicher, es muss eine pid-Datei angelegt werden, dies wird auf dem aktuellen temp-Pfad umgeleitet. Soll MySQL 4.1 als Dienst betrieben werden, ist ein Betrieb von CD-ROM nicht ohne tricks möglich! (Siehe Tipp!)
phpMyAdmin läuft tadellos auf CD-ROM. phpBB dagegen nicht.

 

Tipp:
Wenn Sie unbedingt Kleinigkeiten schreiben müssen (z.B. Session, Variablen, etc.), die hinterher wieder "vergessen" werden können und Sie mit Windows NT/200x/XP arbeiten, empfehle ich, dass Sie sich mal Drive Snapshot anschauen.
Dieses 250 KB große Programm macht ein Image von ihrer Partition, dass Sie anschließend zusammen mit den Backup-Programm auf CD brennen können. Das Programm kann dieses Image als Laufwerk mounten, so dass man darauf zugreifen kann (Selbst NTFS-Rechte werden beachtet). Der Witz daran ist, dass eigentlich diese Partition schreibgeschützt ist, da die geänderten Daten nicht gespeichert werden können. Aber dennoch werden Schreibzugriffe zugelassen, die im kleinen Rahmen sogar konsistent sind. Es ist nur zu beachten, dass sämtliche Schreibzugriffe, sehr "flüchtig" sind!
Auf diese Weise kann man problemlos phpBB oder MediaWiki betreiben oder was auch immer ;-)

 

Beigaben:

Setup-Menu:

setup [mode] [option]

 (1) apache start ....... Startet Webserver Apache als Anwendung
 (2) apache stop ........ Beendet Webserver Apache als Anwendung
 (3) mysql start ........ Startet Datenbank MySQL als Anwendung
 (4) mysql stop ......... Beendet Datenbank MySQL als Anwendung

 (5) apache install ..... Installiert und startet Apache als Dienst*
 (6) apache uninstall ... Beendet und deinstalliert Apache als Dienst*
 (7) mysql install ...... Installiert und startet MySQL als Dienst*
 (8) mysql uninstall .... Beendet und deinstalliert MySQL als Dienst*
                          * - (Administrative Rechte erforderlich!)

 (9) apache readonly .... Konfiguriert Apache im CD-ROM-Modus um
(10) apache readwrite ... Konfiguriert Apache im Festplatten-Modus um
(11) apache phpmodule ... Konfiguriert PHP als Apache-Modul um
(12) apache phpcgi ...... Konfiguriert PHP im CGI-Modus um

(13) apache check ....... Nicht existierene Apache-Module deaktivieren
(14) apache rootpath .... Korrigiert absolute Pfadangaben in Konfig-Dateien
(15) remove temp ........ Entfernt alle Logdateien und Server-Sessions
(16) help verbose ....... Diese Hilfe, mit noch mehr Funktionen ;-)

Bitte geben Sie für die gewünschte Funktion die entsprechende Zahl ein:
Setup Menü bei start von setup.bat ohne Parameter

Wenn Sie von Windows aus auf die Datei "setup.bat" doppelklicken oder "/apache/setup.bat" ohne Parameter aufrufen, dann bekommen Sie eine Menü-Ansicht mit allen wichtigen Funktionen von HTTP-Lite.
Sie müssen nur noch die Nummer links von der gewünschten Funktion eingeben und mit der Eingabetaste bestätigen und die Funktion wird ausgeführt!
Bitte beachten Sie, dass die Anzahl der Einträge bzw. die Zuordnung von Zahl und Funktion sich ändern können!

 

PHP-Batch

PHP-Scripte werden normalerweise in HTML-Seiten eingebunden! Aber die PHP-Scripte können auch unter DOS laufen. Damit die PHP-Scripte unter Windows genauso wie DOS-Scripte gestartet werden können, muss man da etwas tricksen: Ein Mini PHP-Script ermittelt den Speicher-Ort und zusätzliche Eingabe-Parameter (Es können maximal 9 Parameter angegeben werden), die anschließend an eval() übergeben werden. Das eigentliche PHP-Script muss sich zwischen <?php und ?> befinden, damit es korrekt an eval() übergeben werden kann. Definiert man noch die System-Umgebungsvariable z.B. "php=c:\apache\php\phpcli.exe", so können die PHP-Batchdateien auch außerhalb vom PHP-Verzeichnis betrieben werden.
Weitere Informationen dazu finden auf meiner Projektseite!

 

Startseite:

Die Startseite von HTTP Classic Lite (/apache/htdocs/index.php) bietet viele nützliche Hilfen zum schnellen Aufrufen verschiedener Web-Projekte.
Sie können über die Startseite, den Datenbank-Server MySQL, starten und beenden. Zusätzlich gibt es noch ein Setup-Menü, wo Sie einige Betriebsarten von HTTP Classic Lite einstellen können.
Die Startseite wurde auf eine einzige Datei (index.php) reduziert, so dass sie leicht ersetzt oder entfernt werden kann.

 
Verzeichnis links:

Die Verzeichnisse "htdocs", "icons" und "cgi-bin" sind mit dem HTTP-Protokoll erreichbar. Damit es kein durcheinander gibt, sollte man für jedes Projekt (zumindest in htdocs) ein Unterverzeichnis anlegen. Damit die Startseite das Unterverzeichnis erkennt, muss im Unterverzeichnis die Datei ".htaccess" erstellt werden. Die erste Zeile dieser Datei muss mit einen Rauten-Zeichen (#) beginnen, gefolgt von einen Leerzeichen. (Wird statt einen Leerzeichen ein Shift Space gesetzt, ist das Verzeichnis für das Internet unsichtbar!) Danach geben Sie einfach einen einzeiligen Kommentar ein. Falls gewünscht, können Sie noch weitere htaccess-Optionen mit eingeben. (Diese werden von der Startseite ignoriert.)
Ein fertiges Beispiel finden Sie in "/apache/htdocs/test"!

 
MySQL über die Startseiten starten und beenden

Wenn Sie den Datenbank-Server über die Startseite starten, wird es mit der selben Startart gestartet, wie Apache. Anschließend wird die Startseite neu geladen. Notfalls müssen Sie die Startseite Manuell über Reload neu laden, falls der Datenbank-Server sich nicht rechtzeitig gemeldet hat.
Wenn Sie MySQL über die Startseite beenden wollen, wird ein "Break-Signal" an MySQL gesendet. Anschließend wird die Startseite neu geladen. Normalerweise sollte beim Neuladen der Startseite der Datenbank-Server beendet sein, aber unter Umständen kann es sein, dass es etwas länger dauert. Im diesen Fall müssen Sie die Startseite manuell neu laden.

 
Setupmenü:

Unten rechts finden Sie auf der Startseite von HTTP Classic Lite einen Link zum Setup-Menü (Im Internet und unter Windows 9x ist der Link deaktiviert).
Es wird versucht zu ermitteln, mit welcher Konfig Apache, PHP und MySQL laufen. Alles was ermittelt werden konnte, wird dann angezeigt. Weiter unten können Sie den Betriebsmodus von Apache und PHP ändern. Wenn Sie die Betriebsart ändern, werden einige Dateien umkopiert und verschoben. Dazu werden nur Schreibrechte benötigt.
Ebenso können Sie Apache-Module, die sich im Verzeichnis /apache/conf/ (Normalerweise befinden die sich im Verzeichnis "Modules"...) befinden oder PHP-Erweiterungen, im Verzeichnis /apache/php/ aktivieren oder deaktivieren.
Nach der Änderung müssen Sie Apache beenden und neu starten.

 

Verzeichnisindex:

Auf den ersten Blick könnte man sich fragen, wozu das Script gut ist, da es fast Identisch mit der Apache-Modul mod_autoindex ist.
Der Unterschied liegt darin, dass man es erstmal eindeutschen kann und zum anderen es viel einfacher ist, Kommentare mit anzeigen zu lassen.
Unterstützt werden direkte Variablen im Quellcode, eine CSV-Datei als ".index" und den Obersten-Kommentar in der .htaccess-Datei (Siehe Verzeichnis-links).

 

Webspace Explorer:

Mit dem Webspace Explorer, der auf eine einzige Datei reduziert wurde, können Sie fast alle erdenkliche Dateizugriffe mit Webbrowser erledigen.
Wenn Sie das Script zum ersten Mal starten, müssen Sie unten rechts ein Kennwort eingeben: "root". Anschließend werden alle Funktionen freigeschaltet. (Benutzen Sie dieses Script NIEMALS im Internet!!! Sollte ein Hacker darauf stoßen, wird er sich wohl wie im "Schlaraffenland" fühlen...)
Im Webspace Explorer gibt es drei Bereiche: Oben - wo der aktuelle Pfad angezeigt wird. (Die Segmente, die über einen Link anklickbar sind, können über das HTTP-Protokoll erreicht werden. Der Rest ist von außen nur über PHP/Perl zu erreichen.)
Im Mitte-Bereich werden die Dateien und Verzeichnisse angezeigt, die sich im aktuellen Pfad befinden. (Dateien und Verzeichnisse erkennt man am linken Symbol, neben dem Filenamen). Ein Klick auf Verzeichnisse ändert den aktuellen Pfad. Wenn Sie auf Dateien klicken, wird die Datei mit GZIP gepackt und zum Download angeboten. (Es können nur Dateien heruntergeladen werden, die kleiner als 8 MB groß sind, sonst muss die PHP.ini angepasst werden.)
Im unteren Bereich können Sie Dateien im aktuellen Pfad hochladen oder direkt auf dem Server Kommandos ausführen. (Diese Features sind im Internet besonders gefährlich!). Beim Upload gibt es weitere Features: Ist die Datei mit GZIP (.gz) gepackt, wird diese auf dem Server entpackt gespeichert. Wurde ein Tar/gz Archiv (.tar.gz) hoch geladen, wird das komplette Archiv direkt auf dem Server entpackt. Auf diese Weise kann man sich Upload-Zeit ersparen.
Wenn Sie bei dem Dateinamen auf das linke Symbol klicken, wird der untere Bereich mit Datei-Operationen ersetzt, die für diese Datei/Verzeichnis auf dem Server gelten:

  • CHMOD
    Mit ChMod (Unter Windows ohne Funktion) können Sie die Dateirechte verändern (aber nicht die Zugriffsrechte).
  • DOWNLOAD
    Um eine Datei herunterzuladen, die nicht über das HTTP-Protokoll zu erreichen ist, ist die Download-Funktion gedacht. Es wird nichts komprimiert oder verändert. Sie haben aber die Möglichkeit, den Content-Type zu ändern, damit der Browser die Datei richtig interpretiert.
  • DELETE
    Mit Delete können Sie Dateien oder Verzeichnisse löschen. Vorsicht bei der Rekursiv-Option, da diese ALLES im Verzeichnis gnadenlos löscht.
  • COPY
    Um Dateien kopieren zu können, müssen Sie direkt unter COPY das Zielverzeichnis eingeben. Falls Sie den Dateinamen ebenfalls ändern möchten, ändern Sie den Dateinamen unter Rename. Dies wird dann beim Kopieren mit berücksichtigt.
  • MKDIR
    Sie können mit MRDIR ein neues Verzeichnis anlegen. Dazu müssen Sie den Pfad unter MKRDIR vervollständigen. (Es kann immer nur EIN Verzeichnis erstellt werden, KEINE Verzeichnis ketten!)
  • UNGZ/UNTGZ
    Um Archive (.tar.gz / .gz), die sich schon auf dem Server befinden, direkt auf dem Server zu entpacken, müssen Sie nur den Ziel-Pfad vervollständigen.
  • RENAME
    Mit RENAME können sie eine Datei umbenennen oder auch verschieben. Die Pfadangabe unter COPY und die Datei-Angabe unter RENAME wird berücksichtigt.
 

Spy:

Nach dem Sie sich SPY angesehen haben, werden Sie vermutlich nur noch mit DEAKTIVIERTEN JavaScript weiter surfen, da sehr viel vom Webbrowser ausgelesen werden kann.
SPY wurde auf drei Dateien verteilt:

  • spy.html
    Diese Datei hat die Aufgabe, per JavaScript den Browser auszulesen und das Ergebnis als Webbug an spy.php zu schicken. Ist JavaScript deaktiviert, wird zumindest versucht, zu übermitteln, dass es deaktiviert wurde.
  • spy.php
    Um die Daten zu empfangen, die per vom Webbrowser abgeschickt wurden, dient dieses Script. Zusätzlich werden noch weitere Daten hinzugefügt, die der Webbrowser standardmäßig mit überträgt. Anschließend werden alle Daten in access.log gespeichert und zum Webbrowser wird ein kleines Gif-Bild zurückgeschickt.
  • spyview.php
    Da die Daten in access.log sehr kryptisch sind, benötigt man ein weiteres Script, dass die Daten auswertet oder zu mindest optisch aufwertet. Mit dem Script werden alle Informationen angezeigt, die gespeichert wurden. Zusätzlich gibt es kleine History-Funktionen, damit man nicht nur die letzten Daten angezeigt bekommt.
 

PHP MySQL-Query:

Um die MySQL-Datenbank benutzen zu können, benötigt man ein Abfragetool. Für den professionellen Einsatz wird phpMyAdmin empfohlen. Aber für einfache abfragen ist das Script gut genug. (show databases, show tables, show status, show variables)
Es ist sogar möglich, das Script per include() aufzurufen, nachdem man einige Variablen vordefiniert hat: ($db_host, $db_user, $db_pass, $db_name, $db_query) Weitere optionale Variablen können im Quellcode verändert werden, die sich größtenteils auf die Ausgabe beziehen.
Das Script kann Tabellen als CSV importien ("CSV Import") und Query-Abfragen exportieren ("CSV Export" / "CSV Export .gz"). Große Querys können auch als GZip-gepackte Datei mit ("Query-Upload") hoch geladen werden.
Man kann die Ausgabe der Tabellen-Zellen oder Tabellen-Zeilen kürzen lassen. Und für schreibfaule, können die Tabellen-Namen per JavaScript eingefügt werden.

 

Statistiken:

"Diese kleine Statistik zählt die Anzahl der Besucher. Gleichzeitig wird noch ermittelt, wie viele Leute gerade auf der Seite sind und was das Maximum an gleichzeitigen Besuchern war (samt Datum). Das Ganze funktioniert ohne mySQL oder ähnlichen Datenbanksystemen. Das Skript benötigt nur Schreibrechte."
Dieses Script stammt aus http://www.selfphp.de 2.0 vom 1. März 2005.

 

htaccess-Manager:

Im Internet gibt viele Webauftritte mit Privat-Bereichen. Viele werden mit Hilfe von htaccess über Apache gelöst. Aber nicht jeder kann es programmieren. Mit dem htaccess-Manager haben Sie eine komfortable Möglichkeit, alles schnell und einfach einzustellen (es wird nur PHP vorausgesetzt).
Zunächst einmal muss das Script dort hoch geladen werden, wo ein kennwortgeschützter Bereich entstehen soll. Nachdem das Script gestartet wurde, wird versucht, vorhandene Einstellungen zu erkennen und anzuzeigen.
In Titel muss ein kleiner Text hinein, was bei der Kennwort abfrage angezeigt wird (wird das Feld leer gelassen, wird keine htaccess-Datei generiert).
Mit Require kann man die Kennwort abfrage deaktivieren (anyone) oder aktivieren (valid-user). Sind schon Benutzer oder Gruppen angelegt worden, kann man auch einen Benutzer oder Gruppe angeben.
Die Angaben .htpasswd und .htgroup beziehen sich darauf, wo diese Dateien abgelegt werden sollen. (Sollten normalerweise in einen geschützten Bereich gespeichert werden.)
Falls Sie mit htaccess vertraut sind, können Sie in Additional options weitere Optionen angeben.
Um Benutzer Zugriff in dem Privat-Bereich zu gewähren, müssen Sie die Benutzer anlegen. Für einen gültigen Eintrag ist der Benutzername und Kennwort erforderlich. Die Kennwörter können wie folgt kodiert werden: Plaintext (unkodiert), Crypt21 (Nur für Linux), MD5 (wird von Apache nicht unterstützt) und MD5Crypt (die empfohlene Methode). Anschließend werden zwar alle Kennwörter als Plaintext angezeigt, bleiben aber weiterhin gültig.
Wenn Sie Gruppen anlegen wollen, sind zwei Eingaben erforderlich: Einen Benutzer, der in der Gruppe sein soll und der Gruppenname. Ganz rechts im Textfeld: "new group name" geben Sie den Gruppennamen ein. Den Benutzer, der zu dieser Gruppe gehören soll, selektieren Sie bei Groupmember in der Option "new group". Nachdem Sie die Änderungen übernommen haben, ist der Benutzer in der Gruppe und die können in Require z.B. jetzt die Gruppen selektieren. Die Zahlen-Anzeige in Groupmember zeigt an, in wie vielen Gruppen, sich der Benutzer befindet. "* <groupname>" heisst, der Benutzer ist in dieser Gruppe und "- <groupname>" heißt, der Benutzer ist nicht in der Gruppe. Nach "Change", wird die Mitgliedschaft des Benutzers invertiert. Ist kein Benutzer in einer Gruppe, wird die Gruppe gelöscht.
Alle Änderungen werden sofort nach übernehmen (Change) ausgeführt, d.h. Sie müssen sich unter Umständen neu anmelden. Falls Sie sich mal ausgesperrt haben sollten, können Sie nur noch die .htaccess-Datei löschen oder umbenennen.

 

PHP Kennwortschutz:

Wenn PHP als Apache-Modul betrieben wird, hat man die Möglichkeit mit PHP ein Kennwortschutz zu erstellen, dass auf den ersten Blick wie ein htaccess-Kennwortschutz aussieht.
Mit diesen Beispiel können Sie erstmal ein Zugang erstellen, denn Sie dann anschließend gleich testen können. War dieser erfolgreich, wird die Funktion phpinfo() aufgerufen!

 

JavaScript Kennwortschutz:

In so gut wie allen Foren wird gesagt, das ein Kennwort auf JavaScript-Basis leicht zu knacken ist. Richtig ist: Sicher ist es nicht, da der Quelltext mit beiliegt, aber leicht zu "knacken" ist es dennoch nicht.
Der Trick: Man kodiert die Daten und das Kennwort zusammen! Das Kennwort kann erst dann überprüft werden, wenn alle Daten decodiert wurden. Auf diese Weise wird "Brute Force Hacking" recht zeitaufwendig - das heißt aber nicht, dass es sicher ist. Man kann es bestenfalls als zusätzlichen Schutz ansehen. Der Vorteil daran ist, dass man nur einen JavaScript-fähigen Webbrowser braucht. Somit ist dieses Verfahren unabhängig vom Betriebssystem. Sie können z.B. die Daten unter Windows kodieren und unter Linux decodieren oder wie auch immer...

 

Verzeichnisstruktur

/apache/Basisverzeichnis für Apache und PHP
/apache/bin/Basisverzeichnis für Perl
/apache/cgi-bin/Scriptverzeichnis für Perl-Scripte
/apache/conf/Apache Konfigurationsdateien
/apache/htdocs/Root-Verzeichnis für Webseiten
/apache/icons/Spezielle Webicons für Apache
/apache/logs/Apache logdateien (Harddrive-Modus)
/apache/mysql/Basisverzeichnis für MySQL
/apache/php/Basisverzeichnis für PHP
/apache/temp/Arbeitsverzeichnis für PHP (Upload/Session)
 

Bugs

  • Apache kann unter Win9x keine externen Programme starten.
 

Zukunft

  • HTTP Lite (Mit den aktuellen Versionen)
  • SQLiteQuery
  • Web-Server auf PHP-Basis

 << Links | Home | Serien >><< Fritz!Box VBScripte | Projekte | LAN Check >>