Apache auf Linux gibt Fehlermeldung
Raucherkrebs
- software
0 Tom
Hallo,
habe gerade mal Apache 2 auf Linux installiert.
Wenn ich den Apache starte kommt:
Starting web server: Apache2Syntax error on line 404 of /etc/apache2/apache2.conf:
Cannot load /usr/lib/modules/libphp4.so into server: /usr/lib/modules/libphp4.so: cannot open shared object file: No such file or directory
Was läuft schief?
Hello,
Starting web server: Apache2Syntax error on line 404 of /etc/apache2/apache2.conf:
Cannot load /usr/lib/modules/libphp4.so into server: /usr/lib/modules/libphp4.so: cannot open shared object file: No such file or directoryWas läuft schief?
Hast Du nachgeschaut, ob das fertig gebuete Objekt vorhanden ist an der bemängelten Stelle und wer Zugriff darauf hat? Da PHP i.d.R. individualisiert compiliert werden muss, solltest Du das vielleicht vorher machen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hast Du nachgeschaut, ob das fertig gebuete Objekt vorhanden ist an der bemängelten Stelle und wer Zugriff darauf hat? Da PHP i.d.R. individualisiert compiliert werden muss, solltest Du das vielleicht vorher machen.
Im Ordner /usr/lib/ gibt es keinen Order "modules".
Da haben wirs. Was nun?
Hello,
Im Ordner /usr/lib/ gibt es keinen Order "modules".
Da haben wirs. Was nun?
Überhaupt erst einmal nach den gefordertzen Mudulen (shared object = so) suchen.
Dazu die httpd.conf oder apache.conf oder apache2.conf (oder ´wie die gerade heißt) öffnen und in der Section 2 nach den Einstellungen suchen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Überhaupt erst einmal nach den gefordertzen Mudulen (shared object = so) suchen.
Habe ich gemacht. find / -name libphp4.so
hat nichts gefunden.
Dazu die httpd.conf oder apache.conf oder apache2.conf (oder ´wie die gerade heißt) öffnen und in der Section 2 nach den Einstellungen suchen.
Was meinst du mit Sektion2? In meiner apache2.conf gibt es keine derartige Sektion.
Warum geht der Befehl dpkg-reconfigure -plow apache2 wie hier:
http://www.debianhowto.de/howtos/de/debian_lamp-sarge/debian-lamp_apache.html
beschrieben, nicht ?
Hi,
Überhaupt erst einmal nach den gefordertzen Mudulen (shared object = so) suchen.
Habe ich gemacht. find / -name libphp4.so
hat nichts gefunden.
Dann installier es halt(, oder kommentiere den Eintrag in der Config aus, wenn du PHP nicht benötigst):
apt-get install php4 (und evtl. einige Zusatzmodule wie php4mysql)
Grüße aus Barsinghausen,
Fabian
Dann installier es halt(, oder kommentiere den Eintrag in der Config aus, wenn du PHP nicht benötigst):
Na klar benötige ich php. Das ist ja der hauptgrund warum ich Apache installiere.
apt-get install php4 (und evtl. einige Zusatzmodule wie php4mysql)
apt-get install php4 hatte ich noch vor der installation von Apache gemacht. Hat denn hier niemand Debian?
Hello,
Was meinst du mit Sektion2? In meiner apache2.conf gibt es keine derartige Sektion.
Mmmh.
Dann ist Deine Config wohl auch separiert aufgebaut?
Such mal das Verzeichnis '/etc/apache2/mods-available/'
das ist ein Teil der ehemaligen "Section 2"
Wenn dort kein Vermerk für das PHP-Modul steht, wo es zu finden sein soll und es in 'mods-enabled' keinen Link darauf gibt, dann mus es entsprechend eingetragen und vorher natürlich gebaut werden.
Die ehemalige "Section 3" ist dann ausgelagert in
'/etc/apache2/sites-available/'
und
'/etc/apache2/sites-enabled/'
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hallo Tom,
Dann ist Deine Config wohl auch separiert aufgebaut?
eventuell verstehst du, was der Raucherkrebs für eine Konfiguration hat, wenn du dir die entsprechende Stelle im Apache-Featureartikel mal anschaust ...
Such mal das Verzeichnis '/etc/apache2/mods-available/'
das ist ein Teil der ehemaligen "Section 2"
Jaein. Die gesuchte Anweisung für PHP sollte in /etc/apache2/mods-enabled/php4.conf liegen, falls an der Konfiguration nichts Spezielles verändert wurde.
Grüße aus Berlin
Christoph S.
Hello,
Jaein. Die gesuchte Anweisung für PHP sollte in /etc/apache2/mods-enabled/php4.conf liegen, falls an der Konfiguration nichts Spezielles verändert wurde.
Aber dafür sollte doch der Pfad auf das Modul in mods-available vorhanden sein, oder?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hallo Tom,
Die gesuchte Anweisung für PHP sollte in /etc/apache2/mods-enabled/php4.conf liegen, falls an der Konfiguration nichts Spezielles verändert wurde.
Aber dafür sollte doch der Pfad auf das Modul in mods-available vorhanden sein, oder?
Nein. Das ist ursprünglich für irgendwelche Zusätze gedacht, beispielsweise, wenn mit mod_jk ein Tomcat angesprochen werden soll. Man muß diesem Aufbau nicht unbedingt folgen, ich habe beispielsweise dieses Verzeichnis ganz und gar gestrichen.
Grüße aus Berlin
Christoph S.
Hallo,
ich habe kurzen Prozess gemacht und diese phplib.so Zeile auskommentiert. Jetzt klappt es fast.
Wenn ich nun meinen virtual Server aufrufe kommt die Fehlermeldung:
Forbidden
You don't have permission to access / on this server.
Einen directoryIndex habe ich angegeben. Was kann der Grund sein ?
Mein Virtual Server sieht so aus:
<VirtualHost 127.0.0.1>
ServerName testserver
DocumentRoot "/home/neinstein/homepage/testserver"
</VirtualHost>
hallo,
<VirtualHost 127.0.0.1>
ServerName testserver
DocumentRoot "/home/neinstein/homepage/testserver"
</VirtualHost>
Ist denn "/home/neinstein/homepage/testserver" freigegeben? Das heißt: existiert denn für dieses Verzeichnis ein <Directory>-Container in deiner apache2.conf?
Grüße aus Berlin
Christoph S.
Ist denn "/home/neinstein/homepage/testserver" freigegeben? Das heißt: existiert denn für dieses Verzeichnis ein <Directory>-Container in deiner apache2.conf?
Hmm.
Also ich habe diese Directory container bei mir drin:
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>
hallo,
Also ich habe diese Directory container bei mir drin:
<Directory "/usr/share/apache2/icons">
Na gut, das ist für die Icons, wenn ein Verzeichnislisting angezeigt werden soll.
<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>
Das schaust du dir mal bitte genau an. Das erzeugt auf jeden Fall einen Fehler, weil du </Directory> auskommentiert hast.
Ja, und wo steht denn nun "/home/neinstein/homepage/testserver"? Dafür brauchst du auch noch so einen <Directory>-Container, sonst bleibt es bei "Zugriff verboten". Im übrigen sollte dir dein log dafür auch Aussagen anbieten.
Grüße aus Berlin
Christoph S.
Wozu ist denn dieser Directory container gut?
Ich habe doch einen virtual Server.
Da steht doch der Pfad drin.
Auf Windows habe ich ja diese Hostdatei "hosts" im win32 Verzeichnis.
Dort kann ich eintragen, dass 127.0.0.1 auf testserver verweist.
Wo macht man das auf Linux?
Nun sieht das ganze bei mir so aus wie unten und ich bekomme immer noch die Mitteilung "Forbidden: You don't have permission to access / on this server."
<Directory /home/neinstein/homepage/>
Options Indexes FollowSymLinks
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
</Directory>
DirectoryIndex index.html index.htm index.php
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName testserver
DocumentRoot "/home/neinstein/homepage/testserver"
</VirtualHost>
AddType application/x-httpd-php .php
Hier mal meine gesamte apache2.conf
http://rafb.net/paste/results/VDutIl94.html
hi,
Nun sieht das ganze bei mir so aus wie unten und ich bekomme immer noch die Mitteilung "Forbidden: You don't have permission to access / on this server."
<Directory /home/neinstein/homepage/>
Options Indexes FollowSymLinks
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
</Directory>
ok, dann ist das Verzeichnis erreichbar für deinen Apache.
DirectoryIndex index.html index.htm index.php
Du hast diese "DirectoryIndex" zweimal in deiner Konfigurationsdatei stehen. Korrigiere das noch.
Im übrigen hast du ja selbst inzwischen herausgefunden, daß es an der Rechtevergabe lag.
Aber du solltest dich wirklich etwas ernsthafter mit "deinem" Apache beschäftigen. Ich glaube, daß aufgrund deiner Fragestellugen mein Apache Artikel für dich noch allerhand beherzigenswerte Hinweise enthält.
Grüße aus Berlin
Christoph S.
hallo,
Auf Windows habe ich ja diese Hostdatei "hosts" im win32 Verzeichnis.
Es hängt von deiner Windows-Version ab, wo diese Datei liegt. In WindowsXP ist es %windir%\system32\drivers\etc
Dort kann ich eintragen, dass 127.0.0.1 auf testserver verweist.
Dort kannst du noch wesentlich mehr eintragen.
Wo macht man das auf Linux?
/etc/hosts
Grüße aus Berlin
Christoph S.