PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache 1.3.27 Berechtigung



Kupfer
28.12.03, 12:20
Hallo Forum,

ich möchte mit PHP Wissen mit einem guten Buch aneignen. Dafür habe ich mir apache 1.3.27 Installiert mit PHP Modul und CGI, Testseite kommt bei dem Aufrud localhost. MySQl laüft bereits. Wenn ich ein PHP script in das Verzeichnis /srv/www/htdocs stelle, kommt im Browser no permision.
Also habe ich die Berechtigungen mit chmod auf 777 gestellt. Aber leider ohne erfolg.
Was muss ich in der httpd.conf Einstellen (oder bei den rechten für die Verzeichnisse), damit der apache meine PHP scripts Anzeigt. Im Anhang meine httpd.conf.

Kupfer
28.12.03, 12:27
Noch ein Nachtrag,

mein Betriebssystem:

Suse 8.1.

Die httpd.conf

Opa Nolle
28.12.03, 14:29
Original geschrieben von Kupfer
Hallo Forum,
. . .
Wenn ich ein PHP script in das Verzeichnis /srv/www/htdocs stelle, kommt im Browser no permision.
Also habe ich die Berechtigungen mit chmod auf 777 gestellt. Aber leider ohne erfolg.
. . .

Hallo,

versuch mal das Verzeichnis mit "chown [-R] user verzeichnis" verfügbar zu machen. Dann sollte es eigentlich klappen.
Ich installiere mein 'Webverzeichnis' wo anders, aber das dürfte ja keine Rolle spielen, wenn die Berechtigungen stimmen.

Opa Nolle

Kupfer
28.12.03, 16:18
Hallo Opa Nolle,

ich habe den Befehl chown 777 -R /srv/www/htdocs ausgeführt. Leider ohne Erfolg, es kommt immer "You dont`t have permission to access /test.php3 on this server".
Danke für deinen Hinweis, was könnte noch sein?

Kupfer

Jorge
28.12.03, 16:44
chown wwwrun.nogroup /srv/www/htdocs/test.php3
chmod 644 /srv/www/htdocs/test.php3

Beides als Root durchführen. Nach näherer Betrachtung der httpd.conf ist mir aufgefallen, daß kein PHP Modul geladen wird. Allerdings könnte dieses auch noch in /etc/httpd/suse_loadmodule.conf geladen werden, evtl. mal diese Datei anhängen.

Grundsätzlich sollte man auf htdocs kein chmod 777 machen, und schon garnicht rekursiv (-R), da dies ein riesiges Sicherheitsloch darstellt, da jeder alles darf! Hierbei ist es egal, ob der Rechner daheim steht oder nicht!

Nur mal ein kleiner Auszug aus meinem htdocs:



[carsten@cws-lx /opt/apache2/htdocs]$ ll
total 27
drwxrwx--- 9 apache apache 616 Dec 15 21:48 ads
drwxrwx--- 2 apache apache 80 Sep 1 22:54 books
drwxrwx--- 12 apache apache 1392 Nov 17 21:40 cacti
drwxrwx--- 2 apache apache 112 Dec 28 16:10 cert
drwxrwx--- 9 apache apache 216 Nov 7 20:05 docs
drwxrwx--- 2 apache apache 112 Nov 18 07:33 downloads
drwxrwx--- 2 apache apache 48 Sep 1 23:40 faq
-rwxrw---- 1 apache apache 1078 Sep 2 21:10 favicon.ico
drwxrwx--- 2 apache apache 48 Sep 1 23:40 feedback
drwxrwx--- 13 apache apache 1640 Dec 23 17:45 forum
drwxrwx--- 2 apache apache 80 Sep 1 22:12 impressum
drwxrwx--- 2 apache apache 136 Nov 7 20:12 include
-rwxrw---- 1 apache apache 1681 Dec 28 15:27 index.shtml
drwxrwx--- 2 apache apache 80 Dec 28 16:20 links
drwxrwx--- 2 apache apache 80 Dec 27 18:49 news
drwxrwx--- 4 apache apache 168 Sep 5 17:58 sysinfo
-rwxrw---- 1 apache apache 784 Sep 1 22:10 template.shtml
-rwxrw---- 1 apache apache 157 Dec 26 21:31 test.shtml
drwxrwx--- 2 apache apache 48 Nov 17 22:40 tests
[carsten@cws-lx /opt/apache2/htdocs]$

Opa Nolle
28.12.03, 18:49
Original geschrieben von Jorge
chown wwwrun.nogroup /srv/www/htdocs/test.php3
chmod 644 /srv/www/htdocs/test.php3

Beides als Root durchführen. Nach näherer Betrachtung der httpd.conf ist mir aufgefallen, daß kein PHP Modul geladen wird. Allerdings könnte dieses auch noch in /etc/httpd/suse_loadmodule.conf geladen werden, evtl. mal diese Datei anhängen.
. . .
[carsten@cws-lx /opt/apache2/htdocs]$
[/code]

Das mit PHP fiel mir auch auf, aber dann kam ich etwas durcheinander da ich eine 'httpd.conf' unter '/etc/httpd/' und eine unter '/etc/apache2/' zu liegen habe. Die letzte ist die maßgebliche.
Über 'suse_loadmodule.conf' wird PHP nicht integriert, man muß es selbst tun.

Opa Nolle

Opa Nolle
28.12.03, 19:12
Original geschrieben von Kupfer
Hallo Opa Nolle,

ich habe den Befehl chown 777 -R /srv/www/htdocs ausgeführt. Leider ohne Erfolg, es kommt immer "You dont`t have permission to access /test.php3 on this server".
Danke für deinen Hinweis, was könnte noch sein?

Kupfer

Das mit 'chown 777 ...' kenn ich garnicht, ich gebe hier immer neue Eigentümer per Namen an; also i.d.R. ich selbst.
Das '-R' sollte hier auch schon erstellte Unterverzeichnisse mitändern. Allerdings ist das Verzeichnis dann tatsächlich offen für jeden.
Bei mir ist das solange ich mich in den ganzen Kram einarbeite auch offen: "/usr/local/apache2/www/", 'www' ist offen, sonst gibt es mir zuviele Rechteprobleme. Du mußt Dir nur darüber klar sein, daß dies natürlich angepaßt werden muß, wenn man online geht; sonst wird es übel.

Die Einbindung von PHP sieht so aus (1.3.x);
#-----------------------------------------------------
#
#PHP integrieren
#
#(Hier muß Dein Pfad hin!)
LoadModule php4_module /usr/lib/apache/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php .php3 .php4 .phtml
#------------------------------------------------------

Opa Nolle

Kupfer
29.12.03, 17:44
Hallo,

erst mal Danke für die Antworten, ich habe die Berechtigungen für die Verzeichnisse mit chon auf wwwrun.nogroup geändert (777 war ein Irrtum von mir).
Leider verweigert mir apache immer noch den Zugriff auf http://localhost/info.php mit "You dont`t have permission to access /info.php on this server".
Ich bin jetzt kurz vor aufgeben, aber ein paar Fragen habe ich noch.

1. Was hat es mit den tags <Directories></Directories> in der httpd.conf auf sich. Muss ich da etwas ändern ?

2 .Muss ich einen Benutzer für den apache Anlegen?

Bin auf dem Gebiet apache noch total grün, ich habe die rpm`s von Suse gezogen, die Version soll für PHP gepatcht sein.. PHP wird über load_module geladen, beim Starten von Apache wird auch [PHP4] angezeigt. Auf meiner Suse 8.1 läuft aber Samba IP- Forwarding und ein paar andere Nette sachen.
Ich war in der Bücherei vor einem apache Kompendium mit 527 Seiten gestanden und hab trocken geschluckt.
Wenn ihr mir nicht weiter helfen könnt, wird es halt nix mit MySQl und PHP unter Linux. Aber noch gebe ich nicht auf.
:D

Kupfer
29.12.03, 22:07
Hallo Opa Nolle,

jetzt habe ich es geschafft, die Einträge in der httpd.conf waren der richtige Hinweis.

Danke für eure Mühe

Kupfer;)

Jorge
30.12.03, 07:36
Und was war die genaue Lösung? Andern, welche das selbe Problem haben, hilft Deine Aussage 'Problem gelöst' nicht weiter... ;)

Kupfer
30.12.03, 20:45
Ja hast recht, also

#-----------------------------------------------------
#
#PHP integrieren
#
#(Hier muß Dein Pfad hin!)
LoadModule php4_module /usr/lib/apache/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php .php3 .php4 .phtml

das war die Lösung die Zeilen müssen in die http.conf eingefügt werden. Bis auf:
AddType application/x-httpd-php .php .php3 .php4 .phtml
die Stand da schon drinn.

Allen Forum helfern : :cool: und rätselnde Linux Freunde :confused: ein gesundes neues Jahr.

Kupfer