Jeena Paradies: Noch ein Problem mit PHP unter Linux

Beitrag lesen

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.

  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"

actions_module geht nicht
php4_module geht

  1. 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.

  1. Definieren eines Applikations-Typs mit "AddType application/x-httpd-php

Ist gemacht.     AddType application/x-httpd-php .php

  1. 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

--
Ihr wisst ja nichts ist besser als Bass.