WicXP Router port 80 weiterleiten klappt nicht
Jeena Paradies
- webserver
Hallo ,
Da ihr das ja alle bestimmt schon mal gemacht habt ;-) könnt ihr mir enentuell auch dabei helfen.
Schaubild
INTERNET <--> (213.54.176.231 | 192.168.0.1) <--> 192.168.0.2
(WinXP Router) (Netzwerk) (Apache)
Zugrif von Router auf http://192.168.0.2 geht wunderbar. Und ich habe sogar die Anleitung befolgt:
-------------------------
Windows XP Ports freigeben
"Systemsteuerung/Netzwerkverbindungen/[Device, das nach draußen verbindet]/Eigenschaften" ein Fenster mit dem Namen "Internetverbindungsfirewall". Dort auf "Erweiterte Einstellungen" gehen und unter "Dienste" mittels "HTTP" den HTTP-Port TCP:80 aktivieren. Externe- und interne Portnummer sind dabei identisch!
-------------------------
Doch was muss ich sehen, wenn ich im Browser http://213.54.176.231 eingebe?
"Es konnte keine Verbindung zum Server aufgebaut werden."
Habe ich da noch etwas falsch gemacht? Kann mir eventuell jemand von euch helfen?
Grüße
Jeena Paradies
Moin!
Doch was muss ich sehen, wenn ich im Browser http://213.54.176.231 eingebe?
"Es konnte keine Verbindung zum Server aufgebaut werden."
Ist ja fast logisch. Der Router verweigert die Weiterleitung auf den Rechner, wo der Request herkommt. Das macht mein Zyxel hier auch.
Versuchs mal mit einem externen Proxy in der Browserkonfiguration (z.B. dem Deines Providers... ) Dann solltest Du die homepage auf Deinem Rechner sehen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
... am besten ein anonymer Proxy der die IP nicht weiterleitet (soganannter "Anonymizer"), z.B:
http://nonymouse.com
Max
Moin!
... am besten ein anonymer Proxy der die IP nicht weiterleitet
Hat mit dem Sachverhalt nicht das geringste zu tun.
fastix®
Hallo ,
... am besten ein anonymer Proxy der die IP nicht weiterleitet
Hat mit dem Sachverhalt nicht das geringste zu tun.
Das ist warscheinlich auch der Grund warum es so langsam geht.
fastix®, du schreibst das ich den proxy von meinem Provider nehmen soll, Ich weiß wo man den proxy eintragen kann, aber was soll ich da eintragen das gleiche wie den dns Server? Das geht irgendwie nicht. Ich verstehe nicht ganz was das sein sollte.
Grüße
Jeena Paradies
Hallo ,
Habs hingektiegt Dankeschön.
Grüße
Jeena Paradies
Hallo,
Ich habe ja jetzt meinen Server hier über DSL und www.no-ip.com am laufen und er ist auch wunderbar erreichbar.
Apache läuft wunderbar, nur PHP will er einfach nicht ausführen.
Ich habe hier ein Debian SID. Erst habe ich per apt-get install php4 PHP installieren wollen, doch da ist er bei der Konfiguration immer hängengeblieben, und wollte nicht weitermachen also Strg-C. Dann apt-get remove php4 und danach apt-get install php3. Das hat funktioniert, aber er wollte die PHP Dateien nicht ausführen, sondern zeigte sie so im Browser. Natürlich habe ich in der /etc/apache/httpd.conf die Zeile mit php auskomentiert, und dann den Apache neu gestartet, doch es hat nichts genützt.
Ich dachte mir dann, das es vieleicht klappt, wenn ich selbst kompiliere aber das hat auch nichts genützt. Irgendwas mache ich falsch. Kann mir jemand eventuell sagen was?
Grüße
Jeena Paradies
hi Jeena,
Das hat funktioniert, aber er wollte die PHP Dateien nicht ausführen, sondern zeigte sie so im Browser. Natürlich habe ich in der /etc/apache/httpd.conf die Zeile mit php auskomentiert, und dann den Apache neu gestartet, doch es hat nichts genützt.
welche zeile meinst du genau?
du musst dateien mit der endung .php (oder welche endung auch immer du für php-dateien verwenden willst) auch durch den php-parser leiten lassen,
AddType application/x-httpd-php .php
in der httpd.conf wäre dafür verantwortlich.
falls du diese zeile meintest, dann muss der fehler noch woanders liegen (bin ein schlaues köpfchen, ich weisse ...).
gruss,
wahsaga
Moin!
AddType application/x-httpd-php .php
in der httpd.conf wäre dafür verantwortlich.
Reicht nicht ganz.
-> Du "musst" das PHP- Modul(sic!) für den Apache installieren.
Wie das konfiguriert wird hat der Christoph Schnauß in
http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf062.htm
mit beschrieben.
-> Alternativ kannst Du PHP natürlich auch als CGI laufen lassen. Problem: Es werden Dir eine Menge Server-/Umgebungsvariablen fehlen und Du brauchst womöglich sogar ein Shebang in jedem Skript. (Wie in Perl auch.) Die Konfiguration für diesen Fall kannst Du einfach bei Perl abschauen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
guten Abend,
Apache läuft wunderbar, nur PHP will er einfach nicht ausführen.
Na sowas Ungezogenes aber auch ;-)
Ich habe hier ein Debian SID.
Da bin ich ein bissel außen vor, weil ich im Moment kein Debian hier installiert habe. Da deine Frage aber nicht ums "System" geht, sondern explizit dem Apache gilt, traue ich mich mal.
Erst habe ich per apt-get install php4 PHP installieren wollen
Von der ISO oder von einer selbst gebrannten Platte?
doch da ist er bei der Konfiguration immer hängengeblieben
Mit welcher Fehlermeldung? Ich hatte es mehrfach, daß zwei der Debian-ISO-Files fehlerhaft waren, so daß ich sie mir bis zu viermal neu ziehen mußte.
und wollte nicht weitermachen also Strg-C. Dann apt-get remove php4 und danach apt-get install php3
Das ist eine _sehr_ unglückliche Kombination, jedenfalls nach meinen bisherigen Debian-Erfahrungen. Es bleiben trotz "remove" ein paar "Leichen" übrig. Hast du dir deine Verzeichnisse nach der Deinstallation durchgesehen und wirklich alles entfernt, was mal PHP war (mit Ausnahme der php.ini)?
Das hat funktioniert
Davon bin ich nicht überzeugt.
aber er wollte die PHP Dateien nicht ausführen, sondern zeigte sie so im Browser
Das ist ein ganz typisches Symptom dafür, daß dein Apache nicht korrekt konfiguriert ist und nicht weiß, was er mit deinen PHP-Sachen machen soll.
Natürlich habe ich in der /etc/apache/httpd.conf die Zeile mit php auskomentiert
Oh. Warum denn das, und welche Zeile meinst du?
und dann den Apache neu gestartet, doch es hat nichts genützt.
Klar. Wenn jetzt alles "auskommentiert" ist, was mit PHP zu tun hat, liefert er dir die Scripts im Standard-Format (wahrscheinlich text/html oder etwas Ähnliches) aus. Der Apache hat ja keine Ahnung, daß er was andres damit machen soll.
Ich dachte mir dann, das es vieleicht klappt, wenn ich selbst kompiliere
Das ist löblich, hat aber auf deinen Apache so gut wie keinen Einfluß. Du kannst ein vollkommen korrekt kompiliertes PHP auf deiner Platte haben, wenn der Apache damit aber nicht umgehen kann, kriegst du den "Fehler", den du benennst.
Irgendwas mache ich falsch. Kann mir jemand eventuell sagen was?
Naja, nicht genau. Ich weiß auch noch nicht, ob ich dich richtig verstanden habe.
Du hast also einen Rechner, der als Router eingesetzt wird und WinXP fährt - nach etwas Mühe hat dein Rechner auch kapiert, was du von ihm willst.
Jetzt hast du im lokalen Netz einen _zweiten_ Rechner mit Debian, der deinen lokalen Webserver fährt und mit PHP Probleme hat. Stimmt das?
Oder ist dein Apache auf deinem WinXP-Router installiert?
- Wenn ja, ist es natürlich völlig unsinnig, auf dem Debian-Rechner irgendwelche Konfigurationsgeschichten ausprobieren zu wollen, das muß schon auf dem Rechner passieren, auf dem der Webserver läuft.
- Wenn nein: Du hast zunächst ein _Apache_-Problem, und ob sich darunter auch noch ein PHP-Problem verbirgt, ist nicht klar.
Normalerweise müßte dir Debian deinen Apache mit dem Modul mod_php kompilieren bei der Installation - schau mal nach, ob das passiert ist. Ach, und übrigens: welcher Apache ist es denn?
Wenn dir http://localhost/server-info oder der Shell-Aufruf deines Apache zeigt, daß mod_php einkompiliert wurde, mußt du als nächstes deine httpd.conf überprüfen. Ein paar gute Hinweise dazu findest du in http://de3.php.net/manual/de/ref.apache.php bzw. zur Apache-Installation in http://de3.php.net/manual/de/install.apache.php. Ähm, fastix hat unten freundlicherweise auf meinen Feature-Artikel verlinkt ... der nutzt dir aber in der im Moment online stehenden Fassung leider nix. Das noch nicht veröffentlichte Update wird mehr konkrete Hinweise enthalten, aber ich habe das noch nichtmal in einer Vorabversion auf meiner eigenen Adresse stehen (gehört sich nicht, da das Teil in den SELFRaum gehört, wenn überhaupt).
Also schau dir deine httpd.conf gründlich an, und wenn das, was dir bisher geantwortet wurde, nicht ausreicht, meldest du dich nochmal - mit so genauen Zitaten aus deinen logs, wie sie dir möglich sind.
Grüße aus Berlin
Christoph S.
Hallo ,
Erst habe ich per apt-get install php4 PHP installieren wollen
Von der ISO oder von einer selbst gebrannten Platte?
Ich habe es einfach vom debian.org server aus dem Netz. Diesen habe ich in meine sources.list eingetragen.
doch da ist er bei der Konfiguration immer hängengeblieben
Mit welcher Fehlermeldung?
Mit gar keiner. Es stand einfach "Setting up php4 (4.3.3-1) ..." Und das habe ich auch die ganze Nacht so gelassen und nichts ist passiert.
und wollte nicht weitermachen also Strg-C. Dann apt-get remove php4 und danach apt-get install php3
Das ist eine _sehr_ unglückliche Kombination, jedenfalls nach meinen bisherigen Debian-Erfahrungen. Es bleiben trotz "remove" ein paar "Leichen" übrig. Hast du dir deine Verzeichnisse nach der Deinstallation durchgesehen und wirklich alles entfernt, was mal PHP war (mit Ausnahme der php.ini)?
Nein, denn ich muss leider zugeben, dass ich gar nicht weiß was wo hin und ob überhaupt, installiert wurde.
aber er wollte die PHP Dateien nicht ausführen, sondern zeigte sie so im Browser
Das ist ein ganz typisches Symptom dafür, daß dein Apache nicht korrekt konfiguriert ist und nicht weiß, was er mit deinen PHP-Sachen machen soll.
Das ist schon mal ein gutes Zeichen, dann weiß ich ja wo ich anfangen soll.
Natürlich habe ich in der /etc/apache/httpd.conf die Zeile mit php auskomentiert
Oh. Warum denn das, und welche Zeile meinst du?
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Außerdem fand ich da nirgendwo diese Zeile (auch nicht mit php3 oder php):
<IfDefine PHP4>
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
</IfDefine>
und dann den Apache neu gestartet, doch es hat nichts genützt.
Klar. Wenn jetzt alles "auskommentiert" ist, was mit PHP zu tun hat, liefert er dir die Scripts im Standard-Format (wahrscheinlich text/html oder etwas Ähnliches) aus. Der Apache hat ja keine Ahnung, daß er was andres damit machen soll.
Ok merke ich mir.
Ich dachte mir dann, das es vieleicht klappt, wenn ich selbst kompiliere
Das ist löblich, hat aber auf deinen Apache so gut wie keinen Einfluß. Du kannst ein vollkommen korrekt kompiliertes PHP auf deiner Platte haben, wenn der Apache damit aber nicht umgehen kann, kriegst du den "Fehler", den du benennst.
Zu diesem Zeitpunkt war es mir nicht bewusst, dass es mit dem Apache zu tun hat, und nicht mit php.
PHP muss aber laufen, denn wenn ich php4 -f dateiname.php eingebe dann gibt er mir das bearbeitete File, also nur HTML auf dem Bildschirm aus, ohne php Code.
Du hast also einen Rechner, der als Router eingesetzt wird und WinXP fährt - nach etwas Mühe hat dein Rechner auch kapiert, was du von ihm willst.
Jetzt hast du im lokalen Netz einen _zweiten_ Rechner mit Debian, der deinen lokalen Webserver fährt und mit PHP Probleme hat. Stimmt das?
Ja genau das stimmt.
- Wenn nein: Du hast zunächst ein _Apache_-Problem, und ob sich darunter auch noch ein PHP-Problem verbirgt, ist nicht klar.
Hm gut. Das wäre dann schon mal geklärt.
Normalerweise müßte dir Debian deinen Apache mit dem Modul mod_php kompilieren bei der Installation - schau mal nach, ob das passiert ist. Ach, und übrigens: welcher Apache ist es denn?
Apache 1.3.28 (Debian/GNU Linux)
Wenn dir http://localhost/server-info oder der Shell-Aufruf deines Apache zeigt, daß mod_php einkompiliert wurde, mußt du als nächstes deine httpd.conf überprüfen.
debian:/home/jeena# apache -l
Compiled-in modules:
http_core.c
mod_so.c
mod_macro.c
suexec: disabled; invalid wrapper /usr/lib/apache/suexec
Das heißt anscheinend nein. Muss ich es dann selbst kompilieren, und das extra angeben?
http://localhost/server-info zeigt an:
Not Found
The requested URL /server-info was not found on this server.
Apache/1.3.28 Server at localhost Port 80
Ein paar gute Hinweise dazu findest du in http://de3.php.net/manual/de/ref.apache.php bzw. zur Apache-Installation in http://de3.php.net/manual/de/install.apache.php. Ähm, fastix hat unten freundlicherweise auf meinen Feature-Artikel verlinkt ... der nutzt dir aber in der im Moment online stehenden Fassung leider nix. Das noch nicht veröffentlichte Update wird mehr konkrete Hinweise enthalten, aber ich habe das noch nichtmal in einer Vorabversion auf meiner eigenen Adresse stehen (gehört sich nicht, da das Teil in den SELFRaum gehört, wenn überhaupt).
Ich finde es trotzdem schön, dass du dein Wissen mit anderen Teilen willst.
Also schau dir deine httpd.conf gründlich an, und wenn das, was dir bisher geantwortet wurde, nicht ausreicht, meldest du dich nochmal - mit so genauen Zitaten aus deinen logs, wie sie dir möglich sind.
Wenn ich wüsste aus welchen Logs. Ich stelle mal die httpd.conf online, dann kannst du ja mal reingucken.
http://home.arcor.de/maedchen.schluckt.net/mp3/httpd.conf
Grüße
Jeena Paradies
morgens,
doch da ist er bei der Konfiguration immer hängengeblieben
Mit welcher Fehlermeldung?
Mit gar keiner. Es stand einfach "Setting up php4 (4.3.3-1) ..." Und das habe ich auch die ganze Nacht so gelassen und nichts ist passiert.
Oh. Da bin ich etwas ratlos, weil ich so etwas noch nicht erlebt habe. Es kann mit deinem System zusammenhängen oder aber damit, daß da noch irgendwas aus früheren Installationsversuchen irgendwo herumliegt. Du müßtest aber mindestens in var/log/messages irgendeinen Hinweis finden können.
Hast du dir deine Verzeichnisse nach der Deinstallation durchgesehen und wirklich alles entfernt, was mal PHP war (mit Ausnahme der php.ini)?
Nein, denn ich muss leider zugeben, dass ich gar nicht weiß was wo hin und ob überhaupt, installiert wurde.
Falls du eine grafische Oberfläche hast (KDE), gibts da eine nette Suchfunktion. Du kannst dich aber natürlich auch mit grep von der Konsole aus auf die Suche machen.
Natürlich habe ich in der /etc/apache/httpd.conf die Zeile mit php auskomentiert
Oh. Warum denn das, und welche Zeile meinst du?AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Die beiden letzten Zeilen gehören unbedingt wieder aktiviert. "php3" ist eigentlich "dprecated", das solltest du, wenn du dein PHP neu einrichtest, auch nicht mehr benötigen, mußt du aber selbst entscheiden.
Außerdem fand ich da nirgendwo diese Zeile (auch nicht mit php3 oder php):
<IfDefine PHP4>
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
</IfDefine>
Stimmt. Diese Zeile steht auch nicht "default" in deiner httpd.conf drin, daher mußt du genau das von Hand nachtragen und aktivieren, falls du denn diese "Modul-Variante" haben möchtest - wobei darauf zu achten ist, daß du diese "libphp4.so" tatsächlich in dem angegebenen Pfad stehen hast (bei mir unter FreeBSD ist es /usr/apache/modules/libphp4.so - aber ich hab mir den Kram selber kompiliert).
PHP muss aber laufen, denn wenn ich php4 -f dateiname.php eingebe dann gibt er mir das bearbeitete File, also nur HTML auf dem Bildschirm aus, ohne php Code.
Sehr gut. Ja, dann ist dein PHP vorhanden und mag auch arbeiten, und wenn du jetzt in der php.ini auch für PHP noch ein log definiert hast (solltest du tun, wenn es Probleme gibt), kriegst du dort nochmal konkrete Einträge, die sich ausschließlich auf dein PHP beziehen.
Wenn du PHP problemlos von der Konsole aus aufrufen kannst, brauchst du dich um dein PHP nicht mehr zu kümmern, sondern mußt an deinen Apache heran.
debian:/home/jeena# apache -l
Compiled-in modules:
http_core.c
mod_so.c
mod_macro.c
Hm. Das ist mehr oder weniger die "Standard-Anzeige". Du hast deinen Apache nicht selber kompiliert. Macht nix. Diese Anzeige liefert dir die Liste der statisch eingebundenen Module. Sie sagt nichts darüber aus, was du deinem Apache noch dynamisch übergibst. Ich halte es auch nicht für eine gute Idee, den Apache in einem ~home-Verzeichnis zu installieren, er soll schließlich systemweit laufen und gegebenenfalls auch anderen Benutzernamen zur Verfügung stehen, vor allem im Netzwerk - aber das mußt du selber wissen.
Das heißt anscheinend nein. Muss ich es dann selbst kompilieren, und das extra angeben?
Du mußt nicht. Ich würde allerdings immer empfehlen, sich für ein LINUX den Apache selbst zusammenzukompilieren. Die Sourcen bekommst du ja problemlos, und in einigen Textdateien stehen dort auch kurze Hinweise, wie das geht. Bekommst du Probleme mit deinem Apache, weißt du wenigstens, daß du sie selber verbockt hast ;-)
http://localhost/server-info zeigt an:
Not Found
Dachte ich mir beinahe ;-) Das muß nämlich ebenfalls in der httpd.conf aktiviert werden, wenn du es haben möchtest. In dem Fall hilft dir mein Artikel http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf062.htm weiter, dafür gibt es vorgefertigte Einträge, die auch bei Apache 1.3.28 noch default drinstehen. "server-info" ist ganz nützlich, wenn man sich noch mit der Serverkonfiguration herumplagen muß. Es liefert dir eine ausführliche Darstellung der dynamisch eingebundenen Module.
Wenn ich wüsste aus welchen Logs.
Die error.log ist in diesem Fall gemeint.
Ja, damit kann dein Apache tatsächlich kein PHP ausführen lassen und es _muß_ zu den von dir beschriebenen Problemen kommen. Es gehört unbedingt noch eine Zeile
Action application/x-httpd-php "Pfad zu PHP"
hinein (und das ist in meinem Artikel bisher nicht erwähnt). Womit du es dann möglicherweise bereits geschafft hast.
Übrigens hast du auch CGI noch nicht zugelassen, das solltest du aber tun - auch wenn das mit deinem PHP-Problem nichts zu tun hat. Außerdem hast du mod_perl aktiviert, das gute Stück aber möglicherweise gar nicht mitinstalliert, die entsprechenden Zeilen würde ich vorerst wieder auskommentieren.
Grüße aus Berlin
Christoph S.
Hallo ,
Falls du eine grafische Oberfläche hast (KDE), gibts da eine nette Suchfunktion. Du kannst dich aber natürlich auch mit grep von der Konsole aus auf die Suche machen.
Nein, ich habe keine grafische Oberfläche, aber ich weiß ja auch überhaupt nicht nach was ich suchen soll. Außerdem läuft ja php und ich lasse es jetzt erst einmal so.
Die beiden letzten Zeilen gehören unbedingt wieder aktiviert. "php3" ist eigentlich "dprecated", das solltest du, wenn du dein PHP neu einrichtest, auch nicht mehr benötigen, mußt du aber selbst entscheiden.
Die php3 Zeilen Habe ich wieder hinkommentiert. Die zwei anderen habe ich auskommentiert gelassen also ohne #.
Stimmt. Diese Zeile steht auch nicht "default" in deiner httpd.conf drin, daher mußt du genau das von Hand nachtragen und aktivieren, falls du denn diese "Modul-Variante" haben möchtest - wobei darauf zu achten ist, daß du diese "libphp4.so" tatsächlich in dem angegebenen Pfad stehen hast (bei mir unter FreeBSD ist es /usr/apache/modules/libphp4.so - aber ich hab mir den Kram selber kompiliert).
Also wenn ls /usr/lib/apache/1.3/*.so eingebe dann zeigt ermit libphp4.so an. Also muss der Pfad richtig sein.
Hm. Das ist mehr oder weniger die "Standard-Anzeige". Du hast deinen Apache nicht selber kompiliert. Macht nix. Diese Anzeige liefert dir die Liste der statisch eingebundenen Module. Sie sagt nichts darüber aus, was du deinem Apache noch dynamisch übergibst. Ich halte es auch nicht für eine gute Idee, den Apache in einem ~home-Verzeichnis zu installieren, er soll schließlich systemweit laufen und gegebenenfalls auch anderen Benutzernamen zur Verfügung stehen, vor allem im Netzwerk - aber das mußt du selber wissen.
Er ist nicht im ~home Verzeichniss installiert, ich war zu der Zeit nur zufällig dort.
Dachte ich mir beinahe ;-) Das muß nämlich ebenfalls in der httpd.conf aktiviert werden, wenn du es haben möchtest. In dem Fall hilft dir mein Artikel http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf062.htm weiter, dafür gibt es vorgefertigte Einträge, die auch bei Apache 1.3.28 noch default drinstehen. "server-info" ist ganz nützlich, wenn man sich noch mit der Serverkonfiguration herumplagen muß. Es liefert dir eine ausführliche Darstellung der dynamisch eingebundenen Module.
Also das habe ich jetzt alles auskommentiert, so dass es jetzt genau so aussieht wie der Artikel, aber dennoch bring http://localhost/server-info Not Found
Wenn ich wüsste aus welchen Logs.
Die error.log ist in diesem Fall gemeint.
Das zeigt sie mir an, aber da entnehme ich jetzt nichts schlimmes daraus.
--------------------------
[Sun Oct 19 06:27:52 2003] [notice] Apache/1.3.28 (Debian GNU/Linux) configured -- resuming normal operations
[Sun Oct 19 06:27:52 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Sun Oct 19 10:15:48 2003] [error] [client 192.168.0.1] File does not exist: /var/www/Jeenas Home
[Sun Oct 19 10:26:50 2003] [notice] SIGHUP received. Attempting to restart
[Sun Oct 19 10:26:51 2003] [notice] Apache/1.3.28 (Debian GNU/Linux) configured -- resuming normal operations
[Sun Oct 19 10:26:51 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Sun Oct 19 10:59:54 2003] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Sun Oct 19 11:00:00 2003] [error] [client 127.0.0.1] File does not exist: /var/www/server-info
--------------------------
http://home.arcor.de/maedchen.schluckt.net/mp3/httpd.conf
Ja, damit kann dein Apache tatsächlich kein PHP ausführen lassen und es _muß_ zu den von dir beschriebenen Problemen kommen. Es gehört unbedingt noch eine Zeile
Action application/x-httpd-php "Pfad zu PHP"
hinein (und das ist in meinem Artikel bisher nicht erwähnt). Womit du es dann möglicherweise bereits geschafft hast.
Leider nicht:
--------------------------
debian:/home/jeena# apachectl configtest
Syntax error on line 747 of /etc/apache/httpd.conf:
Invalid command 'Action', perhaps mis-spelled or defined by a module not included in the server configuration
--------------------------
Übrigens hast du auch CGI noch nicht zugelassen, das solltest du aber tun - auch wenn das mit deinem PHP-Problem nichts zu tun hat. Außerdem hast du mod_perl aktiviert, das gute Stück aber möglicherweise gar nicht mitinstalliert, die entsprechenden Zeilen würde ich vorerst wieder auskommentieren.
Mit CGI werde ich mich befassen, wenn PHP läuft. Perl habe ich hinkommentiert (oder wie man das schreibt).
Ich habe jetzt mal die aktuelle httpd.conf online gestellt <jeenaparadies.servebeer.com/apache/httpd.conf> Vieleicht kannst du ja mal reingucken, und mir noch einen Tipp geben.
Grüße
Jeena Paradies
Hallo ,
Ich stelle mal deine E-Mail online, für das Archiv.
-----------------------------------------------------------------------------------
» Die php3 Zeilen Habe ich wieder hinkommentiert. Die zwei anderen habe ich
auskommentiert gelassen also ohne #.
Ähm, wir müssen uns über den Sprachgebrauch verständigen. Unter
"auskommentiert" wird in der Regel der Zustand verstanden, in dem das
Kommentarzeichen davor steht. Das heißt, wenn eine Zeile "auskommentiert"
wurde, ist sie nicht aktiv - du hast das Wort jetzt genau gegenteilig
gebraucht.
Wichtig ist, daß bei der Zeile
AddType application/x-httpd-php .php
das Kommentarzeichen _nicht_ davorsteht.
» Also wenn ls /usr/lib/apache/1.3/*.so eingebe dann zeigt ermit libphp4.so
an. Also muss der Pfad richtig sein.
Dann ist das auch in Ordnung so.
» Also das habe ich jetzt alles auskommentiert, so dass es jetzt genau so
aussieht wie der Artikel, aber dennoch bring http://localhost/server-info
Not Found
Und was passiert bei http://127.0.0.1/server-info?
Unter "auskommentiert" meinst du jetzt wahrscheinlich, daß ungefähr bei
Zeile 900 so etwas steht:
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from .your_domain.com
</Location>
Setze das mal testweise so:
<Location /server-info>
SetHandler server-info
Order deny,allow
Allow from all
</Location>
Damit das funktioniert, muß allerdings in deiner Modul-Liste der Eintrag
LoadModule info_module modules/mod_info.so
aktiviert sein (kein Kommentarzeichen davor).
» [Sun Oct 19 11:00:00 2003] [error] [client 127.0.0.1] File does not exist:
/var/www/server-info
Das "info"-Modul ist nicht aktiv, wie eben angegeben.
» Syntax error on line 747 of /etc/apache/httpd.conf:
» Invalid command 'Action'
Höchstwahrscheinlich ebenfalls als Hinweis zu werten, daß das entsprechende
Modul nicht aktiviert wurde. Leider bindest du deine Modul-Liste mit
Include /etc/apache/modules.conf
ein, so daß ich das nicht nachprüfen kann. Es sollte aber, da du für PHP die
Modul-Variante fahren möchtest, die Zeile, die mit
LoadModule php4_module
beginnt, aktiviert sein (ohne Kommentarzeichen davor). Und damit eine
"Action" funktioniert, muß auch
LoadModule actions_module modules
aktiviert sein.
» Mit CGI werde ich mich befassen, wenn PHP läuft. Perl habe ich
hinkommentiert (oder wie man das schreibt).
"auskommentiert" ist diesmal der korrekte Begriff ;-)
» Ich habe jetzt mal die aktuelle httpd.conf online gestellt
<jeenaparadies.servebeer.com/apache/httpd.conf>
http://jeenaparadies.servebeer.com/apache/httpd.conf kann ich leider
nicht finden.
Noch einmal in einer kurzen Zusammenfassung die Schritte, mit denen Apache
für PHP-Einsatz konfiguriert wird:
1. Modul-Liste überprüfen. Zwingend nötig ist die Zeile für
"actions_module", und bei Bedarf ebenfalls die Zeile für "php4_module"
2. Definition eines Script-Alias, falls PHP-Scripts mit der Extension *.php
eingesetzt werden sollen: 'ScriptAlias /php/ "Pfad zu php/"'
3. Definieren eines Applikations-Typs mit "AddType application/x-httpd-php
..."
4. Definieren von "Action application/x-httpd-php ..."
Grüße aus Berlin
Christoph S.
=================================================
Inzwischen war deine Adresse
http://jeenaparadies.servebeer.com/apache/httpd.conf erreichbar. Zeile 747
darin sieht so aus:
# Action application/x-httpd-php /usr/bin/php4
Dazu zwei Anmerkungen:
1. diese Anweisung steht an der falschen Stelle. In Zeile 669 wurde ja
festgelegt, daß alles Nachfolgende bis Zeile 798 Anweisungen für das Modul
"mime" enthält, und dieses Modul kann nun einmal mit "Action" nix anfangen.
2. Ab Zeile 806 kannst du "Action"-Anweisungen einfügen, und deine Zeile 747
gehört folgerichtig dort hinein. Trotzdem muß natürlich die
"LoadModule"-Anweisung in deiner modules.conf aktiviert sein.
So, und jetzt noch ein paar Anmerkungen zu deiner httpd.conf:
Ganz wichtig: Kopiere sie dir einmal und lege sie als "backup" unter anderem
Namen irgendwo ab. Im Original wirfst du dann _sämtliche_ Kommentarzeilen
raus, um die Struktur etwas genauer sehen zu können.
Der Reihe nach jetzt zu den einzelnen Zeilennummern:
Zeile 91: (ScoreBoardFile) benötigst du höchstwahrscheinlich nicht
Zeile 181 und 190: eine der beiden Anweisungen sollte aktiv sein, also
entweder "Listen" oder "BindAdress", wobei ich "BindAdress" bevorzuge - es
kann ja mit * auf "beliebig" gesetzt werden.
Zeile 204: dir ist klar, daß du selbstverständlich deine heir eingebundene
Datei "modules.conf" mit besonderer Aufmerksamkeit behandeln mußt?
Zeile 260: eine fornale Unschönheit. Du solltest hier aus "!ästhetischen"
Gründen eine funktionierende mail-Adresse eintragen
Zeile 275: ich halte es für enorm wichtig, einen Servernamen zu vergeben. Tu
das bitte, da dein Apache sonst im lokalen Netz entweder gar nicht oder nur
schwer von anderen Rechnern erreicht werden kann. Der Servername kann (muß
aber nicht) vorläufig mit dem lokalen Rechnernamen übereinstimmen.
Zeile 293: "Options SymLinksIfOwnerMatch" ist kompletter Unsinn. der
Standardwert ist "Options Indexes FollowSymLinks"
Zeile 336 bis 355 solltest du erst aktivieren, wenn dein Apache korrekt
eingerichtet ist
Zeile 362: du siehst als Standarddokument eine "index.cgi" vor, aktivierst
später aber "cgi" nicht. Das ist ein Widerspruch in sich. Außerdem soll auch
"index.shtml" als Standarddokument gelten, aber du hast im gesamten Rest
deiner httpd.conf SSI nirgends aktiviert.
Zeile 434: ein sehr ungewöhnlicher Ablageort für die Datei "magic". Sie
gehört eigentlich in dasselbe Verzeichnis wie die httpd.conf selbst.
Zeile 554: dein Standard-cgi-Verzeichnis gehört nicht in diesen Pfad,
sondern nach /var/www/cgi-bin. Allerdings ist das kein echter "Fehler".
Zeile 563: Die "Options" enthalten einen echten Fehler und sollten auch
insgesamt nochmal gründlich überdacht werden.
Zeile 744: die "LoadModule"-Anweisung gehört nicht hierhin, sondern in deine
Datei "modules.conf"
Zeile 747 wurde bereits diskutiert.
Zeile 774 und Zeile 780 solltest du auskommentieren (aktivieren), damit
deine weiter oben definierten Standarddokumente funktionieren können.
Zeile 801: es ist in vielen Fällen _sehr_ wichtig, daß ein
Standard-Zeichensatz definiert ist. Bitte die Anweisung aktivieren.
So, das wars jetzt. Damit sollte dein Apache einigermaßen funktionieren
können.
Christoph S.
-----------------------------------------------------------------------------------
Grüße
Jeena Paradies
Hallo,
Ähm, wir müssen uns über den Sprachgebrauch verständigen. Unter
"auskommentiert" wird in der Regel der Zustand verstanden, in dem das
Kommentarzeichen davor steht. Das heißt, wenn eine Zeile "auskommentiert"
wurde, ist sie nicht aktiv - du hast das Wort jetzt genau gegenteilig
gebraucht.
Aaahh jetzt ja, ok jetzt verstehe ich alles klar. In Zukunft werde ich es richtig benutzen.
Wichtig ist, daß bei der Zeile
AddType application/x-httpd-php .php
das Kommentarzeichen _nicht_ davorsteht.
So ist es auch.
Damit das funktioniert, muß allerdings in deiner Modul-Liste der Eintrag
LoadModule info_module modules/mod_info.so
aktiviert sein (kein Kommentarzeichen davor).
Jetzt geht es.
/usr/sbin/modules-config apache musste ich ausführen, und da ist jetzt automatisch
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
LoadModule info_module /usr/lib/apache/1.3/mod_info.so
eingefügt worden.
Doch leider kein LoadModule actions_module /usr/lib/apache/1.3/mod_actions.so
Ich habe dann LoadModule actions_module /usr/lib/apache/1.3/mod_actions.so von Hand eingegeben, und da kam das:
---------------------
debian:/home/jeena# apachectl configtest
Syntax error on line 27 of /etc/apache/modules.conf:
Can't locate API module structure `actions_module' in file /usr/lib/apache/1.3/mod_actions.so: /usr/sbin/apache: undefined symbol: actions_module
---------------------
Ich habe es dann in action_module umgeschrieben, was aber wahrscheinlich falsch ist, und da hat es keinen Fehler mehr angezeigt.
Höchstwahrscheinlich ebenfalls als Hinweis zu werten, daß das entsprechende
Modul nicht aktiviert wurde. Leider bindest du deine Modul-Liste mit
Include /etc/apache/modules.conf
http://jeenaparadies.servebeer.com/apache/ Hier ist mein /etc/apache Verzeichniss für kurze Zeit. Da gibt es die modules.conf und je jeweils aktuelle httpd.conf
Modul-Variante fahren möchtest, die Zeile, die mit
LoadModule php4_module
beginnt, aktiviert sein (ohne Kommentarzeichen davor). Und damit eine
"Action" funktioniert, muß auch
LoadModule actions_module modules
aktiviert sein.
Ich muss nicht unbedingt die Modul-Variante fahren, ich will nur, dass ich php auf meinem Rechner ausführen kann, um seiten zu Testen, ohne extra jetzt noch alles irgendwohin hochzuladen. Außerdem ist es immer ganz gut, wenn ich irgendwo bin, und auf einige Dateien auf meinem Rechner zugreifen kann.
- Modul-Liste überprüfen. Zwingend nötig ist die Zeile für
"actions_module", und bei Bedarf ebenfalls die Zeile für "php4_module"
actions_module geht nicht
php4_module geht
- Definition eines Script-Alias, falls PHP-Scripts mit der Extension *.php
eingesetzt werden sollen: 'ScriptAlias /php/ "Pfad zu php/"'
Habe jetzt ScriptAlias /php/ /usr/bin/ eingegeben, weiß aber gar nicht ob das nötig gewesen wäre.
- Definieren eines Applikations-Typs mit "AddType application/x-httpd-php
Ist gemacht. AddType application/x-httpd-php .php
- Definieren von "Action application/x-httpd-php ..."
Ich habe folgendes ausprobiert:
Action application/x-httpd-php "/php/php4"
Action application/x-httpd-php "/usr/bin/php4"
Action application/x-httpd-php /php/php4
Action application/x-httpd-php /usr/bin/php4
Nichts davon hat funktioniert.
# Action application/x-httpd-php /usr/bin/php4
2. Ab Zeile 806 kannst du "Action"-Anweisungen einfügen, und deine Zeile 747
gehört folgerichtig dort hinein. Trotzdem muß natürlich die
"LoadModule"-Anweisung in deiner modules.conf aktiviert sein.
Habe es jetzt woanders hingetan. in der modules.conf ist es zwar eingetragen aber siehe oben.
_sämtliche_ Kommentarzeilen raus, um die Struktur etwas genauer sehen zu können.
Habe ich jetzt gemacht, und es ist wirklich viel übersichtlicher.
Der Reihe nach jetzt zu den einzelnen Zeilennummern:
Zeile 91: (ScoreBoardFile) benötigst du höchstwahrscheinlich nicht
Habe ich rausgemacht.
Zeile 181 und 190: eine der beiden Anweisungen sollte aktiv sein, also
entweder "Listen" oder "BindAdress", wobei ich "BindAdress" bevorzuge - es
kann ja mit * auf "beliebig" gesetzt werden.
Habe ich gemacht.
Zeile 204: dir ist klar, daß du selbstverständlich deine heir eingebundene
Datei "modules.conf" mit besonderer Aufmerksamkeit behandeln mußt?
Es ist mir erst seit kurzem klar. Aber jetzt schon.
Zeile 260: eine fornale Unschönheit. Du solltest hier aus "!ästhetischen"
Gründen eine funktionierende mail-Adresse eintragen
ist jetzt auch drin.
Zeile 275: ich halte es für enorm wichtig, einen Servernamen zu vergeben. Tu
das bitte, da dein Apache sonst im lokalen Netz entweder gar nicht oder nur
schwer von anderen Rechnern erreicht werden kann. Der Servername kann (muß
aber nicht) vorläufig mit dem lokalen Rechnernamen übereinstimmen.
Mein Netzwerk besteht aus zwei Computern, der eine ist 192.168.0.1 und meiner ist 192.168.0.2 Das kann mich mir gerade noch merken. Ich habe ihm aber einen Namen gegenben, unter dem man ihn aber dennoch noch nicht erreichen kann. Gott weiß warum.
Zeile 293: "Options SymLinksIfOwnerMatch" ist kompletter Unsinn. der
Standardwert ist "Options Indexes FollowSymLinks"
Habe ich jetzt geändert
Zeile 336 bis 355 solltest du erst aktivieren, wenn dein Apache korrekt
eingerichtet ist
Sind jetzt auskommentert :-)
Zeile 362: du siehst als Standarddokument eine "index.cgi" vor, aktivierst
später aber "cgi" nicht. Das ist ein Widerspruch in sich. Außerdem soll auch
"index.shtml" als Standarddokument gelten, aber du hast im gesamten Rest
deiner httpd.conf SSI nirgends aktiviert.
Habe jetzt beides raus, da ich das jetzt erst einmal nicht brauche.
Zeile 434: ein sehr ungewöhnlicher Ablageort für die Datei "magic". Sie
gehört eigentlich in dasselbe Verzeichnis wie die httpd.conf selbst.
Habe ich jetzt auch da hinkopiert, und den Pfad geändert.
Zeile 554: dein Standard-cgi-Verzeichnis gehört nicht in diesen Pfad,
sondern nach /var/www/cgi-bin. Allerdings ist das kein echter "Fehler".
Das habe ich jetzt auch erst einmal auskommentert.
Zeile 563: Die "Options" enthalten einen echten Fehler und sollten auch
insgesamt nochmal gründlich überdacht werden.
Keine Ahnung brauche ich das jetzt für php? Wenn nicht werde ich es auch auskommentieren.
Zeile 744: die "LoadModule"-Anweisung gehört nicht hierhin, sondern in deine
Datei "modules.conf"
Ist jetzt auch dahin gewandert.
Zeile 774 und Zeile 780 solltest du auskommentieren (aktivieren), damit
deine weiter oben definierten Standarddokumente funktionieren können.
Wie meinst du das jetzt? auskommentieren = aktivieren oder umgekehrt?
Zeile 801: es ist in vielen Fällen _sehr_ wichtig, daß ein
Standard-Zeichensatz definiert ist. Bitte die Anweisung aktivieren.
Mache ich dann wenn ich weiß wie ich das machen soll.
So, das wars jetzt. Damit sollte dein Apache einigermaßen funktionieren
können.
Leider geht er immer noch nicht. Ich denke aber dass es an
LoadModule actions_module /usr/lib/apache/1.3/mod_actions.so
oder
Action application/x-httpd-php "/php/php4"
liegt, dadass die einzigen Sachen sind, bei denen mir etwas aufgefallen ist.
Grüße
Jeena Paradies
hi,
Du bringst mich noch dazu, fix ein Debian aufzusetzen ...
/usr/sbin/modules-config apache musste ich ausführen, und da ist jetzt automatisch
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
LoadModule info_module /usr/lib/apache/1.3/mod_info.so
eingefügt worden.
Naja, wenigstens etwas.
Doch leider kein LoadModule actions_module
Auf meiner SuSE 8.2, mit der ich im Moment unterwegs bin, lautet der Eintrag
LoadModule action_module /usr/lib/apache/mod_actions.so
Bei Apache 1.3.x gabs aber noch darunter irgendwas mit
AddModule mod_actions.c
was ebenfalls aktiviert sein muß. "LoadModule" allein genügt nicht (bei keinem Modul).
Ich habe es dann in action_module umgeschrieben, was aber wahrscheinlich falsch ist, und da hat es keinen Fehler mehr angezeigt.
Nein, "action_module" ist korrekt, sorry, aber ich bin eben auch nicht frei von Tippfehlern.
http://jeenaparadies.servebeer.com/apache/ Hier ist mein /etc/apache Verzeichniss für kurze Zeit.
Hm. Ich weiß nicht, was das für ein Provider ist. Bei mir hat es ziemlich genau 8 Minuten gedauert, bis ich etwas zu sehen bekam.
Ich muss nicht unbedingt die Modul-Variante fahren, ich will nur, dass ich php auf meinem Rechner ausführen kann, um seiten zu Testen
Schon in Ordnung, es schadet dir ja auch nix, dich ein bißchen mit dem Apache zu beschäftigen.
Ich habe folgendes ausprobiert:
Action application/x-httpd-php "/php/php4"
Action application/x-httpd-php "/usr/bin/php4"
Action application/x-httpd-php /php/php4
Action application/x-httpd-php /usr/bin/php4
Nichts davon hat funktioniert.
Hast du denn in einem dieser Verzeichnisse eine _ausführbare_ Datei mit dem Namen "php4" liegen? Ich glaube nicht. Bei mir heißt sie einfach nur "php" - ist aber selber kompiliert.
so langsam wirds Zeit für eine Erfolgsmeldung!
Grüße aus Berlin
Christoph S.
Hallo ,
Du bringst mich noch dazu, fix ein Debian aufzusetzen ...
hm...
Bei Apache 1.3.x gabs aber noch darunter irgendwas mit
AddModule mod_actions.c
was ebenfalls aktiviert sein muß. "LoadModule" allein genügt nicht (bei keinem Modul).
Und wohin muss das?
Nein, "action_module" ist korrekt, sorry, aber ich bin eben auch nicht frei von Tippfehlern.
ok alles klar.
Hm. Ich weiß nicht, was das für ein Provider ist. Bei mir hat es ziemlich genau 8 Minuten gedauert, bis ich etwas zu sehen bekam.
das ist mein Rechner, der mit dem apache läuft. Ich wohne hier in Bamberg und habe einen DSL Zugang. Deswegen hat das warscheinlich so lange gedauert. Das nächste mal werde ich es irgendwo anders hochladen.
Schon in Ordnung, es schadet dir ja auch nix, dich ein bißchen mit dem Apache zu beschäftigen.
Nein ganz bestimmt nicht.
Hast du denn in einem dieser Verzeichnisse eine _ausführbare_ Datei mit dem Namen "php4" liegen? Ich glaube nicht. Bei mir heißt sie einfach nur "php" - ist aber selber kompiliert.
---------------------------
debian:/usr/bin# ls ph*
php4
debian:/usr/bin#
---------------------------
so langsam wirds Zeit für eine Erfolgsmeldung!
Ja stimmt.
Grüße
Jeena Paradies
hi,
Bei Apache 1.3.x gabs aber noch darunter irgendwas mit
AddModule mod_actions.c
was ebenfalls aktiviert sein muß. "LoadModule" allein genügt nicht (bei keinem Modul).
Und wohin muss das?
Bei meiner SuSE direkt darunter, bei dir also mit in deine "modules.conf" hinein. Das sieht schematisch so aus:
LoadModule mmap_static_module /usr/lib/apache/mod_mmap_static.so
[...]
LoadModule setenvif_module /usr/lib/apache/mod_setenvif.so
ClearModuleList
AddModule mod_mmap_static.c
[...]
AddModule mod_actions.c
Wie weit du allerdings den Hinweis
# Autogenerated file - do not edit!
# This file is maintained by the apache package.
ernst nehmen mußt, kann ich nicht sagen, ich weiß nicht, wie du dir deinen Apache installiert hast.
Ernst nehmen könntest du aber den Hinweis:
Please read the file http://httpd.apache.org/docs/dso.html ;-)
Grüße aus Berlin
Christoph S.
Hallo ,
Bei Apache 1.3.x gabs aber noch darunter irgendwas mit
AddModule mod_actions.c
Da zeigt er mir an, dass das schon geladen wurde, und er es einfach ignoriert.
Jetzt habe ich noch ein ganz kleines Woody auf einer anderen Partition aufgesetzt, und versuche jetzt da einen Apache php hinzukriegen.
Grüße
Jeena Paradies
Moin!
fastix®, du schreibst das ich den proxy von meinem Provider nehmen soll, Ich weiß wo man den proxy eintragen kann, aber was soll ich da eintragen das gleiche wie den dns Server? Das geht irgendwie nicht. Ich verstehe nicht ganz was das sein sollte.
Hm... Jein. Bei T-Online soll es so sein, aber auch da empfiehlt es sich nicht(!) den DNS- Server fest einzutragen.
Wer ist denn Dein Provider?
fastix®
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hat mit dem Sachverhalt nicht das geringste zu tun.
das ist schon richtig, nur ich konnte mich erinnern das es bei mir mit dem Provider-Proxy mal nicht hingehaun hat - lag allerdings nur am falschen port. Und bei @nonymouse geh ich nur schnell auf die Seite und muss keine Einstellungen ändern.
Ob anonym oder nicht ist natürlich wurscht, war ein Schnellschuß von mir. Ich leg mir heut Nacht auch mein Router-Handbuch unters Kopfkissen ;)
Hallo ,
... am besten ein anonymer Proxy der die IP nicht weiterleitet (soganannter "Anonymizer"), z.B:
http://nonymouse.com
Mensch Jungs ihr seit die Besten!!! Es funktioniert ich habe endlich meinen ersten Webserver am laufen Juhu! Dankeschön! Hura!
Geht zwar alles superlangsam, aber es geht!!!
Grüße
Jeena Paradies