xampp auf USB-Stick

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

xampp auf USB-Stick

Postby MAMs » 14. December 2006 12:36

Hallo

ich habe folgendes Problem

Für Präsentationen soll ein Webserver mit mysql auf einem USB-Stick installiert werden. Dafür wurde xampp gewählt, welcher auch einwandfrei läuft.

Auf dem apache soll die Struktur des "normalen" Webservers nachgebildet werden:

/htdocs/kunde1/web
/htdocs/kunde1/web/img (Bilderordner)
/htdocs/kunde1/web/css (stylesheets)
..
/htdocs/kunde2/web
..
/htdocs/kunde3/web
..
ect

wobei web jeweils die Webseite enthält.

Die Probleme die ich nun habe

Wenn ich die Webs mit "localhost/kunde1/web" aufrufe, wird die Seite zwar angezeigt, aber alle Bilder und css-Dateien werden nicht gefunden, weil sie vom Root aus also in "/htdocs/img" gesucht werden - ist ja logisch. Da alle Pfade anzupassen keine Lösung ist, müssen VirtualHost her.

Die Einrichtung eines solchen ist auch klar, mit "kunde1.localhost" und DokumentRoot auf "/htdocs/kunde1/web" und einem Eintrag in die hosts-Datei gehts dann ja auch. Aber auf den Präsenationsrechnern ist natürlich KEIN Zugriff auf die hosts-Datei möglich.

Ich suche nun eine Lösung, die mir die mir die Funktionalität der vHosts bietet, aber KEINE Änderungen am Präsenationsrechner nötig hat. Der Stick kann nach belieben angepasst werden.

Und um Fragen vorweg zu greifen: Nein, es steht kein Internetzugang oder Lan zur Verfügung um auf andere Computer zuzugreifen. Der USB-Stick ist die einzige zugelassene Methode.

Ich hoffe auf Lösungsvorschläge und bedanke mich schon im Voraus.

MAMs
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55

Postby deepsurfer » 15. December 2006 19:51

weil sie vom Root aus also in "/htdocs/img" gesucht werden -

hhmmm, bei windows gibt es diese variation des "rootpfades" nicht.
Bei windows muss expliziet eine Laufwerkskennung vorliegen damit Windows einen solchen eintrag als rootpfad annimmt.

Dein config-Aufruf ist bei Windows zwar ein absolute Pfadangabe, aber absolut zum aufrufpfad des scriptes was diese Information ausliest und verarbeiten soll.

beipiel:

Script liegt in \xampp\htdocs\web\script.html
Aufruf = http://localhost/web/script.html

die vermeintliche configuration eine Pfades interpretiert nun das script wie folgt:
\xampp\htdocs\web\script.html --> sucht mittels vorgabe in
\xampp\htdocs\web\htdocs\img
wobei die URI wie folgt interprtiert wird http://localhost/web//htdocs/img

Folglich einfach den relativen pfad so erweiteren das das Script sogenannte Pfadsprünge durchführt.
config = ../img

Somit greift nun das script wie folgt auf die daten
\xampp\htdocs\web\script.html --> config = rücksprung ein pfad höher (\xampp\htdocs\) und sprung in \img um dort den gewünschten inhalt aus zu lesen.

Infoquelle:
http://de.selfhtml.org/html/allgemein/r ... tm#relativ
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby MAMs » 18. December 2006 10:10

Moin Moin

Danke für den Lösungsvorschlag.

Die Verlinkung von Dateien mit relativen und absoluten Pfaden ist mir durchaus bekannt und war auch nicht die Frage, da eine Anpassung der Pfade, wie oben auch schon erwähnt, nicht die Lösung ist, da es bei mehreren hundert Seiten kein Spaß und keinen Sinn macht.

Das Problem liegt darin , daß auf dem Webserver der DokumentRoot auf /htdocs/kunde1/web liegt und auf dem Stick auf /htdocs.
Ist nun z.B. ein Bild mit src="/img/bild.jpg" eingebunden, funktioniert es auf dem Webserver, da hier "/img" ein direkter Unterordner von DokumentRoot ist. Es wird also "/htdocs/kunde1/web/img/bild.jpg" geöffnet.
Auf dem Stick, wo der DokumentRoot auf "/htdocs" steht, sucht der apache, das Bild aber unter "/htdocs/img/bild.jpg" und findet es dort natürlich nicht.
Daher müssen für die Webs vHosts eingerichtet werden.

Auch die Einrichtung der vHosts ist nicht das Problem, sondern die eigentliche Frage bestand darin, eine Lösung für vHosts zu bekommen, die OHNE Änderungen am Präsentationsrechner bzw. der hosts-Datei des Rechners auskommt. Sei es nun durch Änderungen der apache-config, der php-config oder Ähnliches.

MAMs
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55

Postby deepsurfer » 18. December 2006 11:59

Das Problem liegt darin , daß auf dem Webserver der DokumentRoot auf /htdocs/kunde1/web liegt und auf dem Stick auf /htdocs.


Dann erstell doch das \kunde1\web\ auf dem Stick dazu, sodass die Pfadfolge auf dem Stick dieselbe ist wie auf dem externen Server.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby MAMs » 18. December 2006 12:36

Hi,

ich weiß nicht, ob ich es ich es nicht deutlich genug beschrieben habe.
Die Ordnerstruktur ist auf dem Stick genauso, wie auf dem Server. Ich habe allerdings, wenn ich keinen Zugriff auf die hosts-Datei des Präsentationscomputers habe, nur ein Web, welches in /htdocs liegt.
Es geht mir um die Einrichtung der vHosts ohne die hosts-Datei des Rechners zu verändern.

Ich möchte die Webs unter "kunde1.localhost" (in /htdocs/kunde1/web), "kunde2.localhost" (in /htdocs/kunde2/web) ect. aufrufen können.

Wenn ich die vHosts in die hosts-Datei eintrage (127.0.0.1 kunde1.localhost, ...), dann funktioniert es ja. Ich kann aber die hosts-Datei nicht anpassen. Darin liegt das Problem.

Grüße
MAMs
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55

Postby deepsurfer » 18. December 2006 12:39

Es geht mir um die Einrichtung der vHosts ohne die hosts-Datei des Rechners zu verändern.

Jupp...mein fehler, hab nicht von oben neu gelesen sondern einfach auf die letzte Anmerkung zu den Pfaden geantwortet
Sorry...

Wenn ich mein BigStick im Büro wieder finde kann ich das mal gegentesten, denn im moment gehen mir auch die Optionen aus.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Wiedmann » 18. December 2006 13:18

Ich kann aber die hosts-Datei nicht anpassen. Darin liegt das Problem.

Dann kannst du auch keine VHosts benutzen.

aber alle Bilder und css-Dateien werden nicht gefunden, weil sie vom Root aus also in "/htdocs/img" gesucht werden - ist ja logisch.

Das ist nicht logisch, sondern liegt daran, dass du absolute Pfadangaben benutzt.
Nehme einfach relative, und du kannst deine Webs verschieben und aufrufen wie du willst.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby martinpre » 18. December 2006 15:14

martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby MAMs » 04. January 2007 10:37

Push: Gibt es denn keine Lösung für dieses Problem?
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55

Postby deepsurfer » 04. January 2007 12:41

Nein, da alles darauf hinausläuft das du relative Pfade benutzen musst.

Da VHOST auf USBstick NICHT funktioniert, weil diese nicht auf einem GASTsystem aufgelöst werden können.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby MAMs » 04. January 2007 13:40

Ich habe nun eine Lösung gefunden. Sie kommt ohne vHosts und ohne Änderungen am Gastsystem aus und die Pfade brauchen auch nicht angepasst zu werden.
Alle Webs sind als Alias angegelgt. Zu den normalen Angaben habe ich noch den DocumentRoot auf den Ordner gesetzt.

Code: Select all
Alias /kunde1     "/xampp/htdocs/kunde1/web"
    DocumentRoot  "/xampp/htdocs/kunde1/web"
    <Directory    "/xampp/htdocs/kunde1/web">
        Options -Indexes FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
    </Directory>

Alias /kunde2     "/xampp/htdocs/kunde2/web"
    DocumentRoot  "/xampp/htdocs/kunde2/web"
    ...
   
Alias /kunde3     "/xampp/htdocs/kunde3/web"
    DocumentRoot  "/xampp/htdocs/kunde3/web"
    ...


es sind keine vHosts aber alle Webs sind unter localhost/kundeX zu erreichen.
Vielleicht hilft es ja noch jemanden. Kommentare dazu sind gerne gesehen.

Grüße
MAMs
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55

Postby deepsurfer » 04. January 2007 15:05

Was ein "Nein" so alles zu tage befördert ;)
(Spassig gemeint !!)

greets
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby MAMs » 08. January 2007 17:58

Jaaaaaaa, wenn man sich dann gezwungener Maßen mit der Materie auseinander setzten muß und in der Verzweiflung auch mal nicht dokumentiertes einfach ausprobiert. Mal sehen was damit passiert...
Mich wundert nur, dass kein Anderer dieses Problem bzw. diese Lösung schon hatte.

CU
MAMs
User avatar
MAMs
 
Posts: 6
Joined: 14. December 2006 11:55


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 14 guests