WIN03, XAMPP und virtual hosts

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

WIN03, XAMPP und virtual hosts

Postby maen007 » 17. July 2008 20:27

Tag, die Herren und Damen,

ich habe seit gestern ein Tutorial vorliegen, um virtual Hosts zu erstellen. Aber irgendwie funzt das nicht, keine Ahnung warum.

Ausgangslage:

Ich wollte testweise egroupware und sugarcrm auf dem Server installieren. Sugar läuft schon länger darauf. Als ich egroupware in die htdocs geschoben habe, inkl. installation, wurde mir das sugar komplett verhagelt. Also gehe ich davon aus, dass da ein paar globale Variablen oder Klassen oder was auch immer es unmöglich machen, es ordnerweise nebeneinander laufen zu lassen.

Die Infrastruktur wie beschrieben läuft das System ohne IP-basierte VH, das heisst es gibt eine IP/xampp bzw. IP/sugarcrm und es wäre ein Traum, wenn jetzt noch eine IP/egroupware dazu käme...

Und hier mein Thema:

habe inC:\WINDOWS\system32\drivers\etc\hosts folgenden Eintrag gemacht:

127.0.0.1 localhost localhost1

Dann zwei Ordner mit Unterordner gebaut und einfach jeweils eine index.html reingelegt.

in die httpd-vhosts.conf das folgende geschrieben:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
ServerAdmin admin@localhost
DocumentRoot "C:/xampp/vhosts/localhost/htdocs"
ServerName localhost
ErrorLog C:/xampp/vhosts/localhost/logs/error_log
CustomLog C:/xampp/vhosts/localhost/logs/error_log/access_log common
</VirtualHost>


<VirtualHost 127.0.0.1:80>
ServerAdmin admin@localhost1
DocumentRoot "C:/xampp/vhosts/localhost1/htdocs"
ServerName localhost1
ErrorLog C:/xampp/vhosts/localhost1/logs/error_log
CustomLog C:/xampp/vhosts/localhost1/logs/error_log/access_log common
</VirtualHost>

und die httpd.conf mit folgendem ausgestattet:

<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
</Directory>

Ergbnis der error.log:
Child 1588: Released the start mutex
Child 1588: All worker threads have exited.
Child 1588: Child process is exiting
Parent: Child process exited successfully.

Weiss da jemand Rat???
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

Postby glitzi85 » 17. July 2008 21:09

Hallo,

als erstes mal logst du die Fehler in eine Datei namens error_log, dann willst du noch die normalen Logs in einen Ordner names error_log loggen, der im gleichen Ordner wie die Datei liegt. Das kann nicht funktionieren. Ich empfehle diese vHosts-Datei:


Code: Select all
NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
 DocumentRoot /xampp/vhosts/localhost/htdocs
 ServerName localhost
 ErrorLog /xampp/vhosts/localhost/logs/error_log.txt
 CustomLog /xampp/vhosts/localhost/logs/access_log.txt common
</VirtualHost>

<VirtualHost 127.0.0.1:80>
 DocumentRoot /xampp/vhosts/localhost1/htdocs
 ServerName localhost1
 ErrorLog /xampp/vhosts/localhost1/logs/error_log.txt
 CustomLog /xampp/vhosts/localhost1/logs/access_log.txt common
</VirtualHost>

<Directory "C:/xampp/vhosts">
 Order allow,deny
 allow from localhost
</Directory>


Du musst dann im Ordner vhosts zwei Ordner anlegen, localhost und localhost1. Darin dann jeweils wieder zwei Ordnder, htdocs und logs. In den htdocs-Ordner legst du deine index.html, in die logs-Ordner werden die Logfiles geschrieben.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

...ein schritt weiter...

Postby maen007 » 18. July 2008 09:55

@ glitzi 85:

Vielen Dank für die Hilfe. Ich habe dein umgeschriebenes Skript genommen und eingefügt. Somit klappt immerhin schon mal, dass der Apache wieder läuft!! Super!

Aber: MySQL läuft nicht und die Seite kann nicht angezeigt werden...

error 403
Ausserdem:

Habe für localhost htdocs1 eingeführt statt htdocs, überall ides.html reingelegt, aber:

"Zugriff verweigert!

Der Zugriff auf das angeforderte Verzeichnis ist nicht möglich. Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber. "

Auch komisch: ich kannvia ftp nicht zugreifen, obwohl ich der firewall extra die Erlaubnis dafür gegeben habe für filezilla...


Also:

Der Ordner vhosts inkl. aller Unterordner steht auf 755.
Der Server wird von aussen durch die IP erkannt und geht immer noch ganz normal auf die htdocs. Was anscheinend so richtig ist, da die Serveinstellung den localhost sowohl als default server wie auch als virtual server betrachten, so meine Recherchen!???

Fällt jemandem was ein??? Vielen Dank...
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

Postby deepsurfer » 19. July 2008 16:27

Der Ordner vhosts inkl. aller Unterordner steht auf 755.

Sprichts du hier von dem externen Webserver ?, da chmod in einer Windowsumgebung nicht existiert.


Dazu sei noch erwähnt, warum du VH benutzt wenn du eigentlich mit der URI http://IP/programmpfad arbeitest, denn dann ist unter XAMPP und auch bei externen Webservern ein VHost unnötig.

Ich frage (erwähne) es deswegen, weil ich nicht aus deiner Netzwerktypologie-Konzept schlau werde.
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 maen007 » 19. July 2008 17:55

Also:
Es ist ein win 03 Server fürs Intranet. Um von außen drauf zuzugreifen habe ich eine IP drauf gehauen, an die Netzwerkkarten, damit Mitarbeiter des Hauses auch ohne Remote von zuhause arbeiten können. Da verschiedene Konzepte vorgestellt werden sollen (Sugarcrm, Egroupware) soll das sowohl via Internet als auch über Intranet (localhost) laufen. Ich brauche kein DNS da das ganze nicht öffentlich ist.

Soll heißen:

IP -> htdocs (Standard) im Moment Dokuquelle. Da aber augenscheinlich sugar und egroupware inkompatibel sind in einem Ordner (irgendwelche Klassen oder Variablen beeinflussen sich da gegenseitig), gedenke ich zwei Ordner aufzusetzen, in der Hoffnung, dass die frameworks dann nicht mehr aufeinander zugreifen. Deshalb habe ich das Inet durchforstet und bin auf das Konzept der virtuellen Hosts gekommen.

Und somit ergibt sich folgendes Bild:

Von außen via IP: ganz normaler Zugriff auf htdocs von xampp
Will aber haben:
Zugriff auf die neuen htdocs, die dann hoffentlich jeweils ein Programm präsentieren, auf dem ein paar Leute testen können, ob es ihren Vorstellungen entspricht...

Deshalb localhost und localhost1
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

Postby Wiedmann » 19. July 2008 18:20

Da aber augenscheinlich sugar und egroupware inkompatibel sind in einem Ordner (irgendwelche Klassen oder Variablen beeinflussen sich da gegenseitig), gedenke ich zwei Ordner aufzusetzen, in der Hoffnung, dass die frameworks dann nicht mehr aufeinander zugreifen.

Du hast glaube ich die Frage von DeepSurfer nicht ganz verstanden. Du kannst:
a) in deinem aktuellen DocumentRoot zwei Unterorder erstellen und da jeweils die Programme installieren. (hier braucht man nichts weiter am Apache konfigurieren)
oder b) über VHosts für jedes Programm ein eigenes DocumentRoot zur Verfügung stellen. (hier muss man jetzt VHosts aufsetzten)

(BTW: das man 2 Programme nicht in den selben Order installiert, sollte ja so oder so klar sein.)

(BTW: localhost =! intranet, localhost == nur der eigene Renchner)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deepsurfer » 19. July 2008 21:00

Fassen wir mal alle Infos zusammen, bin aber stur in bezug auf die Konfiguration und lasse mal Dein Konzept aussen vor.
Und hoffe das (wie auch Wiedmann aus Deiner Beschreibung liest) das Du ~sugar~ und ~egroupware~ nicht in einem einzigen Installationspfad aufgebaut hast.

Folgendes normale Konstrukt ist nun denkbar und benötigt keine VHost einträge

WinServer mit zwei NICs
NIC1 = 192.168.1.1 mit Verbindung zum Router nach Draussen ins WWW
NIC2 = 192.168.2.2 als seprariertes NETZ um das eigene LAN der Firma ab zu sichern. Zusätzlich läuft hier der XAMPP als WebServer dienst.

Ausgehend von einem Standard Install des XAMPP ergibt somit:
FirmenClients rufen mittels http://192.168.2.2 den XAMPPserver auf und sind damit im c:\xampp\htdocs Pfad.

Auf XAMPP wurde ~sugar~ in ein unterpfad von htdocs eingerichtet -
c:\xampp\htdocs\sugar -, somit ergibt sich "http://192.168.2.2/sugar" als Aufruf in der Firma.

~Sugar~ benutzt eine eigene Datenbank auf dem XAMPP-MySQL mit eigenem Benutzer und Rechtevergabe.

Dieses Funktioniert(e) bisher.

Akt zwei des Konstrukts:
Installation des egroupware in c:\xampp\htdocs\egroupware und ist somit mit "http://192.168.2.2/egroupware" aufrufbar.

~egroupware~ benutzt eine eigene Datenbank mit eigenem Benutzer und rechten auf dem XAMPP-MySQL

Dies Funktioniert im moment nicht..(sofern egroupware nicht im selben Pfad aufgebaut wurde wie ~sugar~)

Akt drei :
Aufruf von Clients aus dem WWW ohne Remote zugang ist dann gegeben wenn man von aussen die Provider-IP kennt (oder eine Domain Zuweisung vorhanden ist) und innerhalb des WinServers ein Routing gesetzt wurde damit HTTP-Anfragen von NIC1 über NIC2 beantwortet werden.

Wie ist das bei Dir gelöst ?
Da vonn drinnen nach draussen ein Gateway eintrag reicht, aber von draussen nach drinnen ist ein Knackpunkt


--Edit--
Klar, XAMPP ist hinter NIC1 und das Firmen LAN hinter NIC2, dann wäre das kein Problem.
Dabei wären meine Beispiel Erklärungen IP Technisch jetzt nicht Korrekt wiedergegeben.

Also frage streichen.





Akt 4 das Problem:
Hast Du bei der Installation von ~sugar~ etwas an der PHP.INI geändert (oder ändern müssen laut Anleitung), da an dieser Stelle für mich nicht klar ist wie sonst der "Vermutete Fehler mit Klassen und/oder Variablen" entstehen könnte.

Es sei denn (sorry das ich drauf rumreite) das du ~egroupware~ direkt in den ~sugar~ Pfad Installiert hast und hier gegenseitige Dateien, die zufällig gleiche Namen tragen, überschrieben hast.

Komme hiermit zur Frage ob Du mal zu Hause die jeweiligen Programme, Installationstechnisch, getestet hast ?
Wenn ja, wie war das das ergebnis ?

--- --- --- --- --- --- --- --- ---

Habe für localhost htdocs1 eingeführt statt htdocs, überall ides.html reingelegt, aber:

"Zugriff verweigert!


Nur zur Sicherheit gegengefragt:
indes.html oder index.html ?

Bei indes.html ist die Fehlermeldung korrekt

Wenn Du htdocs1 statt htdocs benutzt musst Du das irgendwo auch Definieren, dann sind VHost Einträge nötig, aber in Deinem speziellen fall taucht die Frage auf, wieso du andere htdocs Bezeichnungen nutzt, weil unnötig wenn Du nur mit http://IP/programmpfad arbeiten willst.
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 maen007 » 20. July 2008 10:36

Ich habe mich schlampig ausgedrückt:

Selbstverständlich habe ich bei der parallelen Installation der zwei Programme zwei Ordner verwendet:
htdocs/sugarcrm und htdocs/egroupware.

Da ich außer der curl in der php.ini nichts groß verändert habe glaube ich ehrlich, dass es an den globalen Parametern liegt, und deshalb muss ich die Konstrukte stärker trennen. Und deshalb vhost.

Im Moment also:
213.../sugarcrm läuft.
192.../sugarcrm läuft.

localhost/vhost/htdocs und localhost/vhost1/htdocs1 laeuft nicht!

Ich habe auch im Netz einen Befehll gefunden gehabt, der mir ausgab, ich glaube vhost - S oder so, dass localhost default ist, aber auch nameserver ebenso wie localhost1 Nameserver ist. Vielleicht liegt da ja die Crux???

Ziel sollte es auf jeden Fall sein, dass sowohl auf der 213.... wie auch ueber 192... also Internet wie auch Intranet, die Anwendungen laufen.

Das allgemein, jetzt zu den Fragen von deepsurfer:

sugarcrm: eigener Ordner; eigene DB; eigene Benutzer und Rechtevergabe

egroupware: ebenfalls

Beide Anwendungen zu Hause getestet und für gut befunden, aber Tests nacheinander durchgeführt!

Parallele Erfahrung:
- Aufsetzen von sugarcrm problemlos in htdocs/sugarcrm
- Dann Aufsetzen von egroupware in htdocs/egroupware

Egroupware setzt automatisch die Abhängigkeiten fest, Resultat: Egroupware funktioniert aber sugar nicht mehr.

Ich gehe stark davon aus, wenn ich erst egroupware und dann sugar aufsetze, so ist dann sugar kaputt, da beide irgendwelche Abhängigkeiten setzen...

Zu Akt drei:

Wir haben von unserem Provider 5 IPs erhalten, die wir frei einrichten können. Eine habe ich jetzt für den WIN 03 abgezwackt. Domain extra zuweisen ist unnötig, da nur Mitarbeiter drauf zugreifen sollen. Mein Routing ist eigentlich nicht gegeben großartig. Ich habe nur einer Karte die externe IP zugewiesen und der anderen Karte die interne.

Somit habe ich leicht und locker auf sugar über IP/sugarcrm zugegriffen, und wenn ich nur die IP eingebe so wird automatisch auf xampp verwiesen. Um das abzusichern habe ich da ein Passwort vorgesetzt damit ich keine Überraschungen erlebe und das war es...
hierbei spielt es keine Rolle für mich ob intern oder extern, über die 192... wird genauso verfahren.

Zu Akt 4:
Extension CURL Kommentierung entfernt.

Letzter Punkt: index.html ist schon richtig, hatte mich nur verschrieben im Forum.

Ob ich htdocs oder htdocs1 nutze, ist mir, (vermutlich aus Unwissenheit), egal. Ist nur ein Spleen von mir, dass wenn ich was neues lerne es so strukturiert wie möglich angehe, um es schneller zu begreifen.

Wenn ich damit aber Fehler produziere, so weist mich bitte darauf hin...

Hoffentlich habt Ihr eine Idee, auch wenn Ihr glaubt dass ich da zqs Dummes mache, so ist das besser als wenn ich jetzt damit Wochen verbringe...

Grüsse und Danke für Eure Hilfe bis hier her...

maen
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

Postby Wiedmann » 20. July 2008 11:20

Selbstverständlich habe ich bei der parallelen Installation der zwei Programme zwei Ordner verwendet:
htdocs/sugarcrm und htdocs/egroupware.

Das muss ohne Probleme funktionieren.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deepsurfer » 20. July 2008 13:39

Egroupware setzt automatisch die Abhängigkeiten fest, Resultat: Egroupware funktioniert aber sugar nicht mehr.

AAAHHAAAAAA
Ich muss mal an dieser stelle nachfragen, hast du eine Virtual-Maschine auf Linuxbasis in deinem Win03 laufen ?.

Die Beschreibung das egroupware "Abhängigkeiten Automatisch setzt" ist mir nicht bekannt, ausser bei der eGroupWare die als komplette Paket (CDinstaller) Installiert wird und auf Linux basiert.

Ist nur eine Verständnisfrage, da das WebContent egroupware keine Abhängigkeiten ausser MySQL-Server verlangt.
Auf Windowsbasierten Webservern ist die CHMOD (Berechtigungsvergabe von Verzeichnissen) unerheblich und bedarf keiner umstellung von rechten auf den NTFS-Verzeichnissen.
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 maen007 » 22. July 2008 15:16

deepsurfer wrote:
Egroupware setzt automatisch die Abhängigkeiten fest, Resultat: Egroupware funktioniert aber sugar nicht mehr.

AAAHHAAAAAA
Ich muss mal an dieser stelle nachfragen, hast du eine Virtual-Maschine auf Linuxbasis in deinem Win03 laufen ?.

Die Beschreibung das egroupware "Abhängigkeiten Automatisch setzt" ist mir nicht bekannt, ausser bei der eGroupWare die als komplette Paket (CDinstaller) Installiert wird und auf Linux basiert.

Ist nur eine Verständnisfrage, da das WebContent egroupware keine Abhängigkeiten ausser MySQL-Server verlangt.
Auf Windowsbasierten Webservern ist die CHMOD (Berechtigungsvergabe von Verzeichnissen) unerheblich und bedarf keiner umstellung von rechten auf den NTFS-Verzeichnissen.


Noi, dös ist a normale Inschtallation per download von sourceforge!

Ich habe es extra jetzt noch einmal gemacht. Das Komische: Es funktioniert. Das unangenehme: Jedes Mal wird in sugar folgende Fehlermeldung ausgegeben:


Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 3 in C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php on line 240

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php:240) in C:\xampp\htdocs\sugarcrm\include\MVC\SugarApplication.php on line 379

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php:240) in C:\xampp\htdocs\sugarcrm\include\utils.php on line 2233

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php:240) in C:\xampp\htdocs\sugarcrm\include\MVC\SugarApplication.php on line 147

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php:240) in C:\xampp\htdocs\sugarcrm\include\MVC\SugarApplication.php on line 151

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php:240) in C:\xampp\htdocs\sugarcrm\include\MVC\SugarApplication.php on line 155

Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 3 in C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php on line 240


Jetzt bin ich aber gespannt!???? Habe übrigens schon verschiedene Benutzernamen versucht, den Zugriff via localhost und bei der egroupware dann via Proxy ID, ich habe über zwei Browser gleichzeitig gearbeitet und in einem. Das Problem bleibt bestehen....
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

Postby Wiedmann » 22. July 2008 15:32

Jedes Mal wird in sugar folgende Fehlermeldung ausgegeben:
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 3 in C:\xampp\htdocs\sugarcrm\include\Pear\Crypt_Blowfish\Blowfish.php on line 240

Diese Frage musst du dem Support von sugarcrm stellen.

(Evtl .hilft es aber schon, die mcrypt-Extension zu aktivieren oder zu deaktivieren.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby glitzi85 » 22. July 2008 15:36

Hallo,

eigentlich ist es nur eine Fehlermeldung, nämlich die erste. Alle anderen sind direkt davon abhängig. Ich hab mir jetzt grad SugarCRM Community-Edition runtergeladen, in ein sugar-Verzeichnis entpackt und die install.php aufgerufen. Nach der Installation konnte ich mich ohne Probleme in die Oberfläche einloggen.

In welchem Schritt kommt denn die besagte Fehlermeldung?

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby maen007 » 22. July 2008 15:41

Also:
apache schreibt ins tmp alle session IDs, so weit wissen wir das jetzt. Anscheinend kann aber sugarcrm (im Gegensatz zu egroupware) nicht unterscheiden, wem welche Session gehört. Jetzt meine Frage: kann ich irgendwie in Apache die einzelnen tmp Dateien filtern und auf die einzelnen Anwendungen verweisen???

Ich gehe nicht von aus, dass in sugar so eine Geschichte jemals behandelt wurde.

Brauche nur mal so eine Meinung, auch wenn es vielleicht doof klingt!
maen007
 
Posts: 7
Joined: 17. July 2008 20:22

@glitzi85

Postby maen007 » 22. July 2008 15:47

Das Problem ist nicht die Installation von sugar, sondern das parallele Laufen von egroupware und sugarcrm. Erst wenn Du BEide am Laufen hast, scheint sugar nicht die session IDs zuordnen zu können...
maen007
 
Posts: 7
Joined: 17. July 2008 20:22


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 40 guests