• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Xampp mit VirtualHost einrichten (libGL.so.1 lädt nicht)

S_O

Member
Ich bin ein absoluter Linux-Newbie und richte gerade einen virtuellen Webserver von evanzo ein (ich dachte, der wäre schon perfekt vorkonfiguriert, ist aber nicht so).
Ich wollte das veraltete System (Apache 2.0.46, PHP 4.3.1) auf den neusten Stand bringen. Ich habe es sogar geschafft Apache auf 2.0.50 abzudaten, aber php will nicht. Merkwürdigerweise hat rpm nach dem löschen von dem alten php schon andauernd dependencie-fehler angezeigt und ich musste rund 20 andere Sachen installieren bis es endlich lief (auch mesasoft und xfree86, die angeblich diese libGL enthalten).
Ich habe php von dem suse-ftp-server mit folgenden rpms installiert:

php-4.3.8-core
php-4.3.8-devel
apache2-php-4.3.8

Als ich dann Apache neu gestartet habe hat er sich als erstes beschwert das die libPG fehlt, habe ich installiert (auch wenn ich nicht weiß wofür ich postgresql brauch, ich habe ja MySQL). Dann beschwerte er sich das die libGL.so.1 fehlt, welche aber angeblich installiert ist (einmal durch "mesasoft" und durch "xfree86", welche ich bereits über rpm installiert habe. rpm hat auch bei der Installation am ende von php keine dependencie-Fehler angezeigt).
Nun habe ich erstmal herausgefunden das libGL irgendwas mit OpenGL zu tun hat, aber wofür brauch PHP OpenGL??

Kann mir irgendjemand helfen?

Betriebssystem: SuSE Linux 8.2
Ich habe kein Kompiler installiert, kann also nur fertige Packete installieren.
 

oc2pus

Ultimate Guru
lade dir das hier und du bist happy:
http://www.apachefriends.org/de/xampp-linux.html

apache2, php4,php5,ftp-server, mysql,admintools alles ready for use, extra für newbies ;)
 
OP
S

S_O

Member
Sieht ja echt einfach aus, aber kann man das einfach so "drüberbügeln", deinstalliert es vorher die alten versionen?
 

oc2pus

Ultimate Guru
lampp installiert sich komplett nach /opt und arbeitet auch nur da (inkl Konfig)

die anderen Programme kannste behalten oder auch nicht ;)

probier es aus... deinstall (restlos) geht genauso easy
 
OP
S

S_O

Member
aha, trägt es sich denn in die "autostart" (init.d??) ein?
Kann ich selber festlegen, wo z.B. mein htdocs-verzeichnis ist?
Wie werde ich überhaupt den ganzen alten kram los? Ich will ja nicht das apache 2 mal startet (genauso wie mysql und proftpd).
 

oc2pus

Ultimate Guru
tu mir doch einfach mal den Gefallen und lies die Webseite, das FAQ, und schau in die mailingliste von xampp.

da steht alles drin und im worst case hast du das download umsonst gemacht.

ein einfaches /opt/lampp uninstall lässt es dann wieder verschwinden.
 
OP
S

S_O

Member
habe es installiert und läuft auch, aber erst nachdem ich das alte mysql, proftpd und apache2 totgekloppt habe mit killall.
Aber wie kann ich die aus dem "autostart" entfernen?
 

oc2pus

Ultimate Guru
sprich mir nach:
linux hat kein "autostart" ;)

a) man insserv lesen
im Verzeichnis /etc/init.d stehen die scripte für die Services

cd /etc/init.d
z.Bsp insserv -r apache entfernt den apache aus der Startsequenz


b) mit dem yast-runlevel-editor kannst du festlegen welche services wann gestartet werde sollen ==> apache, etc abschalten
 

oc2pus

Ultimate Guru
S_O schrieb:
habe es installiert und läuft auch, aber erst nachdem ich das alte mysql, proftpd und apache2 totgekloppt habe mit killall.
Aber wie kann ich die aus dem "autostart" entfernen?

in einer Konsole als root

rcmysql stop
rcproftp stop
rcapache2 stop

hätte gereicht ;)
 

oc2pus

Ultimate Guru
um deine nächste Frage vorweg zu nehmen:

wie starte ich lampp direkt beim booten?
lies das hier
http://www.linux-club.de/viewtopic.php?t=11935&highlight=lampp&sid=1c62ad69ce1ecf64eeed631b501387ff
 
OP
S

S_O

Member
Das mit booten habe ich bereits in der FAQ gefunden (sonst hätte ich bereits gefragt) :D
proftpd und apache bin ich so losgeworden, aber nicht mysql.
Habe ausprobiert:

/etc/init.d # insserv -r mysql
insserv: mysql: No such file or directory
/etc/init.d # insserv -r mysqld
insserv: mysqld: No such file or directory

Bedeuted das, das mysql nicht automatisch gestartet wird oder sich unter anderen bezeichnung versteckt? Ich habe auch in init.d kein script gefunden, das vom namen an mysql erinnert.

oc2pus schrieb:
linux hat kein "autostart"
Ich habs ja auch in Anführungszeichen gesetzt.
 

oc2pus

Ultimate Guru
da muss ich passen ....

probier mal im Verzeichnis /etc/init.d
fgrep <name den du beim kill angegeben hast> *
==> der Name des startscripts

oder

rpm -ql mysql
das listet alle Dateien des Paketes auf, nac /etc/init.d schauen
 
OP
S

S_O

Member
Er sagt mysql ist nicht installiert:

/etc/init.d # rpm -ql mysql
package mysql is not installed
/etc/init.d # rpm -ql mysqld
package mysqld is not installed

und bei
fgrep mysqld*
scheint er sich jetzt aufgehangen zu haben.
 

oc2pus

Ultimate Guru
fgrep<blank>mysqld<blank>*

aber so wie es aussieht hast du kein mysql als rpm installiert ==> brachst auch nix zu ändern ;)

normalerweise existiert ein script mysql in /etc/init.d WENN man mysql via RPM installiert.
 
OP
S

S_O

Member
fgrep<blank>mysqld<blank>*

aber so wie es aussieht hast du kein mysql als rpm installiert ==> brachst auch nix zu ändern Wink
Er hat mit fgrep nichts gefunden. Ich kann mcih aber erinnern das ich es mit rpm installiert habe, das rpm-packet der 3er-version von der offiziellen website, ich kann mich auch noch an den text erinnern, "support mysql by buying support-licences" oder so.

Aber XAMPP scheint mit seinem mysql auch nicht richtig umzugehen, starten geht, aber wenn ich stop mache:
Code:
~ # /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.4.7...
XAMPP: Stopping Apache with SSL...
XAMPP: XAMPP-MySQL is not running.
XAMPP: Stopping ProFTPD...
XAMPP stopped.
MySQL läuft weiterhin (und funktioniert auch). Es ist auch definitiv das mysql von xampp, da ich sonst keine 4er-version von mysql drauf habe.

Und noch was merkwürdiges:
Ich habe in der apache-konfiguration mehrere virtuelle hosts eingerichtet (wegen den subdomains und SSL), in etwa so:
Code:
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:443>
    DocumentRoot /srv/www/htdocs/ssl
	SSLEngine on
	[ssl kram]
	<Directory "/srv/www/htdocs/ssl">
	    Options Indexes FollowSymLinks
	    AllowOverride None
	    Order allow,deny
	    Allow from all
	</Directory>
	Alias /phpmyadmin "/opt/lampp/phpmyadmin"
	<Directory "/opt/lampp/phpmyadmin">
    	    AllowOverride AuthConfig Limit
	</Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /srv/www/htdocs/vhosta
    ServerName www.meindomain.de
	SSLEngine off
	<Directory "/srv/www/htdocs/vhosta">
	    Options Indexes FollowSymLinks
	    AllowOverride None
	    Order allow,deny
	    Allow from all
	</Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /srv/www/htdocs/vhostb
    ServerName vhostb.meindomain.de
	SSLEngine off
	<Directory "/srv/www/htdocs/vhostb">
	    Options Indexes FollowSymLinks
	    AllowOverride None
	    Order allow,deny
	    Allow from all
	</Directory>
</VirtualHost>
Der SSL-Bereich mit phpmyadmin läuft, die anderen aber nicht richtig: Ich habe nach /srv/www/htdocs/vhostb eine Seite kopiert, bestehend aus dem frameset (index.html) mit drei frames. Aber von den drei frames wird nur eins geladen. Wenn ich die frames einzeln lade geht es auch nicht: nur weiß, als wenn ich eine 0-byte datei aufrufe. Wenn ich eine datei angebe, die es nicht gibt bekomme ich error 404, aber hier bekomme ich nichts. Ich habe es von verschiedenen Rechnern mit verschiedenen browsern ausprobiert: bei allen das gleiche, und das tritt nicht zufällig auf, sondern immer bei den gleichen dateien. Ich habe auch überprüft das alle dateien den gleichen besitzer haben und keine ist 0 Byte groß. Was ist da los?
 

oc2pus

Ultimate Guru
hmm, schau mal auf die xampp mailingliste seite, evtl ist da ein kleiner bug und es gibt ein workaround dazu.

http://www.apachefriends.org/f/

wenn du das original mysql von der website installiert hast, war das nicht SuSE-konform installiert, hat also keine Einträge nach /etc/init.d geschrieben. das würde das erklären. Aber egal, wenn mysql via xamp gestartet wird, ist das ja auch ok.

du kannst ja mal rpm -ql mysql eingeben und schauen wo das mysql runfliegt, das könntest du löschen, da xampp ja nur sein eigenes zeugs innerhalb /opt verwendet.

NACHTRAG:
was sagt denn
/opt/lampp/logs/error_log
/opt/lampp/logs/access_log
 
OP
S

S_O

Member
du kannst ja mal rpm -ql mysql eingeben und schauen wo das mysql runfliegt, das könntest du löschen, da xampp ja nur sein eigenes zeugs innerhalb /opt verwendet.
Mit rpm -ql mysql sagt er, das mysql nicht installiert ist, aber wenn ich rpm -e mysql eingebe, kann er es auf Grund von failed dependencies nicht löschen.
Habs dann aber trotzdem gelöscht bekommen, nachdem ich das andere ding auch gelöscht habe (hieß auch irgendwie mit mysql).

Ich habe mal in die apache-logs geschaut, im fehler-log steht über diese zugriffe nichts drin, und im access-log sieht es ganz normal aus:
Code:
[25/Jul/2004:18:29:30 +0200] "GET /toc.html HTTP/1.1" 200 1152
Aber ich sehe kurz danach auch das (das erste ist wohl von dem aufruf des framesets, das zweite als ich es nochmal gezielt aufgerufen habe):
Code:
[25/Jul/2004:18:30:16 +0200] "GET /toc.html HTTP/1.1" 304 -
Ich habe die Dateien nun einfach 1-zu-1 in den ssl-Ordner kopiert (mit kommandozeile) und es funktioniert einwandfrei über eine ssl-verbindung, irgendwie merkwürdig.
 

oc2pus

Ultimate Guru
in einer Konsole
tail -f /opt/lampp/logs/error_log

in einer 2. Konsole
tail -f /opt/lampp/logs/access_log

dann deinen Zugriff via Browser beobachten...

läuft auf port 80 evtl noch ein anderer apache ? (netstat -lntp)

Code 304 - Seite nicht geändert
irdendein cache im Spiel ? ==> reload button
 
OP
S

S_O

Member
Habe ich gemacht, im error log passiert nichts, außer das er die favicon.ico nicht findet.
Im access_log sieht alles normal aus:
Code:
217.225.*.* - - [26/Jul/2004:15:41:46 +0200] "GET / HTTP/1.1" 200 251
217.225.*.* - - [26/Jul/2004:15:41:46 +0200] "GET /titel.html HTTP/1.1" 200 136
217.225.*.* - - [26/Jul/2004:15:41:47 +0200] "GET /begruessung.html HTTP/1.1" 200 1193
217.225.*.* - - [26/Jul/2004:15:41:47 +0200] "GET /toc.html HTTP/1.1" 200 1152
217.225.*.* - - [26/Jul/2004:15:41:47 +0200] "GET /favicon.ico HTTP/1.1" 404 344
Nachtrag:
mit netstat -lntp sehe ich nur eine verbindung auf Port 80.
 

oc2pus

Ultimate Guru
sieh mal hier:
http://www.linux-club.de/viewtopic.php?p=65472

der Kollege hat das mit den VirtualHost-Einträgen und kompletter ip gelöst.
NameVirtualHost vvv.xxx.yyy.zzz:80
<VirtualHost vvv.xxx.yyy.zzz:80>

NACHTRAG: ändere bitte mal den Topic, es geht ja jetzt um xampp ;)
 
Oben