Portabler Webserver (ohne MySQL)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anwender
apache
code
datenbank
glauben
http
installation
laufen
meldung
not
paket
port
problem
server
standart
starten
stoppen
tun
url
weiteres problem
-
Ich programmiere gerade eine Anwendung in C#, mit der auch ein portabler Webserver mitgeliefert werden soll.
Da ich für das Programm eine SQLite-Datenbank benutze und der Webserver nur PHP und Javascript bewerkstelligen soll, ist eine MySQL-Datenbank die noch zusätzlich im Hintergrund läuft, ein unschöner Nebeneffekt.
Ich habe für "XAMPP" kein Paket gefunden, dass auch ohne MySQL-Server auskommt.
Habe auch "Mowes Portable" getestet....hier kann man zwar im Paket-Manager den MySQL-Server abwählen, danach funktioniert der Dienst aber nichtmehr, weshalb ich mich frage, wozu diese Möglichkeit gut sein soll. :-)
Ich habe dann auch noch den "Uniform Server" versucht....der tut zwar, was er soll, und kommt mit Apache und PHP aus, allerdings scheinen die "Start" und "Stop" Scripts für den Server nach deren Ausführung einfach als Zombie-Prozesse weiter zu laufen. (unschön)
Ich suche also einfach einen möglichst schlanken, portablen (keine Installation) Webserver, der mir Apache, PHP und Javascript bietet und ohne MySQL geliefert wird.
Hätte jemand eine elegante Lösung hierfür?
Beste Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
adelwoehrer schrieb:
Ich würde das so machen:
Ich habe für "XAMPP" kein Paket gefunden, dass auch ohne MySQL-Server auskommt.
1) XAMPP USB Lite als Basis herunterladen und auf einen USB-Stick entpacken
2) dann den Ordner mysql sowie phpMyAdmin rauslöschen
3) danach mysql_start.bat sowie mysql_stop.bat löschen
4) in apache/conf/<Konfigurationsdatei.conf> das Mapping für phpMyAdmin rausnehmen (sonst gibt es noch die URI http://localhost/phpmyadmin/ die ins Nichts zeigt)
Übrig geblieben ist dann ein Apache mit PHP und Perl...
Um den zu starten verwendest du dann apache_start.bat und um ihn wieder zu stoppen apache_stop.bat.
Danach kannst du, wenn du willst, das ganze wieder in ein ZIP-Archiv packen und weiterverbreiten...
adelwoehrer schrieb:
Btw: für Javascript braucht der Server gar nichts können außer HTML-Seiten zur Verfügung stellen...
Ich suche also einfach einen möglichst schlanken, portablen (keine Installation) Webserver, der mir Apache, PHP und Javascript bietet und ohne MySQL geliefert wird. -
Einfach die Funktionen, die ich nicht brauche, löschen?
Stimmt eigentlich, XAMPP ist da ja ziemlich modular aufgebaut.
Mal schauen, ich geb gleich Rückmeldung. =)
EDIT:
Ich sehe da vielleicht ein weiteres Problem, dass aber damit jetzt nichts zu tun hat.
Wie wird sich XAMPP verhalten, wenn der Anwender meiner Software seinerseits bereits ein XAMPP für seine eigenen Zwecke installiert und laufen hat?
Werden die beiden XAMPPs auf unterschiedlichen Ports parallel laufen, oder wird nur einer der beiden ausgeführt?
Erhalte ich dann quasi eine Meldung ala "XAMPP läuft bereits"?
Beitrag zuletzt geändert: 23.4.2012 19:25:31 von adelwoehrer -
adelwoehrer schrieb:
Da bin ich mir nicht sicher, das kannst du aber schnell ausprobieren... der zuerst laufende Webserver wird auf jeden Fall weiterlaufen und der neue XAMPP wird nicht richtig gestartet... ob es eine Fehlermeldung gibt weiß ich aber leider nicht.
Ich sehe da vielleicht ein weiteres Problem, dass aber damit jetzt nichts zu tun hat.
Wie wird sich XAMPP verhalten, wenn der Anwender meiner Software seinerseits bereits ein XAMPP für seine eigenen Zwecke installiert und laufen hat?
Werden die beiden XAMPPs auf unterschiedlichen Ports parallel laufen, oder wird nur einer der beiden ausgeführt?
Erhalte ich dann quasi eine Meldung ala "XAMPP läuft bereits"?
Es muss nicht einmal ein anderer XAMPP laufen, es reicht wenn Skype richtig eingestellt läuft, dann ist ebenfalls Port 80 "verbraucht".
Natürlich kannst du das Problem umgehen indem du deinen XAMPP auf einem anderen Port laufen lässt, beispielsweise 8080 oder 8888, der Benutzer muss dann aber auch http://localhost:8080/ bzw http://localhost:8888/ schreiben. Dafür kann ein anderer Webserver der schon installiert ist und läuft ganz normal weiter benutzt werden, da sich das dann gegenseitig nicht stört. -
Natürlich kannst du das Problem umgehen indem du deinen XAMPP auf einem anderen Port laufen lässt, beispielsweise 8080 oder 8888, der Benutzer muss dann aber auch http://localhost:8080/ bzw http://localhost:8888/ schreiben.
Das ist sogar wünschenswert und wäre kein Problem.
Ich habe das ganze jetzt mal getestet.
Also, XAMPP installiert....eine einfache Standart-USB-Installation mit Standart-Port 80 und MySQL, wie sie normalerweise laufen würde.
Habe aber vorher noch den XAMPP-Ordner kopiert, und im kopierten Ordner den Port auf 8888 geändert.
Ich habe daraufhin die Standart-Installation über das Control-Panel gestartet....sowohl Apache als auch MySQL.
Danach habe ich versucht, aus dem kopierten Ordner heraus, wo der Port in der Konfiguration von Apache auf 8888 geändert wurde, die start_apache.exe auszuführen.
Beim starten der start_apache.exe erhalte ich aber folgenden Fehler:
Diese Eingabeforderung nicht waehrend des Running beenden Bitte erst bei einem gewollten Shutdown schliessen Please close this command only for Shutdown Apache 2 is starting ... (OS 10048)Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden. : make_sock: could not bind to address [::]:443 (OS 10048)Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden. : make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down Unable to open logs Apache konnte nicht gestartet werden Apache could not be started Drücken Sie eine beliebige Taste . . .
Port 443 ist doch MySQL, oder?
Ich habe nur die start_apache.exe ausgeführt....wieso versucht er MySQL ein zweites mal zu starten?
Da hat er jetzt natürlich einen Konflikt mit den Ports, weil dieser bereits belegt ist.
Beitrag zuletzt geändert: 23.4.2012 20:00:46 von adelwoehrer -
adelwoehrer schrieb:
Nein, 443 = HTTPS (HTTP over SSL).
Port 443 ist doch MySQL, oder?
Ich habe nur die start_apache.exe ausgeführt....wieso versucht er MySQL ein zweites mal zu starten?
Da hat er jetzt natürlich einen Konflikt mit den Ports, weil dieser bereits belegt ist.
Da du das wahrscheinlich aber nicht brauchst kannst du das in /apache/conf/ dekativieren, da du sonst wieder nur Konfliktpotential hast... -
Ufff....ich scheine zu blöd für die Config-Dateien zu sein. :-/
Es gibt zwar eine Liste von Befehlen die ich mal schnell über Google gefunden hab, unter denen auch der Befehl zum dauerhaften Deaktivieren von SSL zu finden ist, die sind allerdings für Debian gedacht.
Wenn ich hingegen versuche, die "setup_xampp.bat" auszuführen, lässt sich auch dort Nichts einstellen....der sagt mir einfach "Nothing to do, closing now....".
Ich habe natürlich vorher versucht, in der Konfigurationsdatei für SSL das "Listen Port" auszukommentieren....den Port versucht er trotzdem zu belegen.
Habe auch versucht, statt 443 einen anderen Port anzugeben, dann bleibt Apache wärend dem Laden hängen.
Selbes Ergebnis, wenn ich versuche die Modul-Imports auszukommentieren oder den "Include-Tag" entferne. -
adelwoehrer schrieb:
In der httpd.conf gibt es eine Zeile:
Ufff....ich scheine zu blöd für die Config-Dateien zu sein. :-/
Die musst du auskommentieren, dann sollte SSL deaktiviert sein...LoadModule ssl_module modules/mod_ssl.so
Natürlich kannst du dann noch diese Zeile zusätzlich auskommentieren:
Das sollte aber keinen Unterschied machen...Include "conf/extra/httpd-ssl.conf"
-
Das hat geklappt. =)
Naja....halt wieder ein neues Problem.
Die beiden Server laufen jetzt parallel nebeneinander und stören sich soweit nicht.
Wenn ich allerdings bei einem von beiden die "stop_apache.exe" ausführe oder Apache über das Control Panel beende, schließen sich beide Server.
Ich weiß nicht, ob es da ein Work-Arround gibt. -
adelwoehrer schrieb:
In diesem Fall gibt es jedenfalls kein einfaches Workaround, da "stop_apache.bat" nach allen Prozessen mit dem Namen "httpd.exe" sucht und sie tötet. Der normale XAMPP heißt aber ebenfalls so, deshalb wird er gleich mitgetötet.
Ich weiß nicht, ob es da ein Work-Arround gibt.
Wenn du in der Dosbox von start_apache.bat CTRL+C drückst oder sie schließt sollte der Apache auch stoppen... und zwar nur der eine...
Ich würde es einfach so lassen und dazusagen: "Wenn wer XAMPP verwendet soll er das vorher stoppen, sonst gibt es Probleme." -
Gut, würd ich auch sagen.
Ich denke, man kann es dann wohl nicht allen Recht machen.
Dann mal wieder danke für Deine Hilfe. =)
Problem gelöst. -
rtfsbg schrieb:
Glauben darfst du in der Kirche, am Computer solltest du so etwas aber wissen...
Ich glaube ohne die Datenbank funktoinirt das Serverbetriebssystem nicht.
Was redest du von Serverbetriebssystem?
Es geht hier nur um einen Webserver ohne Datenbank, also einen reinen Apache mit PHP, der irgendwo hin kopiert werden kann und nicht installiert werden muss und trotzdem läuft.
adelwoehrer schrieb bereits:Problem gelöst
deshalb macht es auch keinen wirklichen Sinn mehr hier weiter zu posten... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage