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

[gelöst] Apache mit Rechteproblemen

gma

Member
Hallo,

leider hänge ich schon wieder bei meinem Versuch, so unter 11.1 zu arbeiten, wie ich es unter 10.1 gewohnt war.

Jetzt ist es der Apache-Webserver: ich habe Apache2 über Yast installiert, dann versucht wie in der Schnellstartanleitung unter
http://de.opensuse.org/Apache/Schnellstartanleitung#Allgemeine_Einrichtung_des_Systems
zu starten: also mit

Code:
rcapache2 start

Program 'rcapache2' is present in package 'apache2', which is installed on your system.

Absolute path to 'rcapache2' is '/usr/sbin/rcapache2', so it might be intended to be run only by user with superuser privileges (eg. root).

bash: rcapache2: command not found

Geht wohl nicht. Also habe ich es mit

Code:
sudo /usr/sbin/rcapache2  start
Starting httpd2 (prefork) httpd2-prefork: apr_sockaddr_info_get() failed for domainname
httpd2-prefork: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
versucht.
Ohne root ging es nicht: permission denied.

Mit Root bringe ich den Server zum starten. Allerdings bekomme ich jetzt unter http://127.0.0.1 oder localhost einen error 403: access forbidden (als lokaler Nutzer).

Was muss ich ändern?

gma
 

marce

Guru
in der Konfig nachschauen, wo denn das DocumentRoot liegt, dort evtl. Rechte anpassen (Filesystem und Apache-Interne), oder auch einfach nur Daten hinterlegen.

Daß Du den Apache nur als root starten kannst ist klar - da er an einen privilegierten Port binden will und dafür braucht's nun mal eben root-Rechte.
 
OP
G

gma

Member
Ich muss zugeben, von der Struktur eines Apache-Webserver wenig bis garnichts zu verstehen, bin aber bemüht mir etwas Klarheit zu verschaffen.

Also, was ist DocumentRoot? Ich denke der Ort, wo die httpd.conf liegt, oder?

Ich habe mal ein chmod 777 probiert, und zwar für die httpd.conf und den ganzen Ordner (wenn das was bringt):
Code:
/etc/apache2> ls-l
total 124
-rw-r--r-- 1 root root  1764 2008-12-03 11:14 charset.conv
drwxr-xr-x 2 root root  4096 2008-12-03 11:14 conf.d
-rw-r--r-- 1 root root  3763 2008-12-03 11:14 default-server.conf
-rw-r--r-- 1 root root  2765 2008-12-03 11:14 errors.conf
-rwxrwxrwx 1 root root  8324 2008-12-03 11:14 httpd.conf
-rw-r--r-- 1 root root  1053 2008-12-03 11:14 listen.conf
-rw-r--r-- 1 root root 12958 2008-12-03 11:06 magic
lrwxrwxrwx 1 root root    13 2009-10-02 09:06 mime.types -> ../mime.types
-rw-r--r-- 1 root root  1503 2008-12-03 11:14 mod_autoindex-defaults.conf
-rw-r--r-- 1 root root   369 2008-12-03 11:14 mod_info.conf
-rw-r--r-- 1 root root  1057 2008-12-03 11:14 mod_log_config.conf
-rw-r--r-- 1 root root  5075 2008-12-03 11:14 mod_mime-defaults.conf
-rw-r--r-- 1 root root   344 2008-12-03 11:14 mod_status.conf
-rw-r--r-- 1 root root  1255 2008-12-03 11:14 mod_userdir.conf
-rw-r--r-- 1 root root    85 2008-12-03 11:14 mod_usertrack.conf
-rw-r--r-- 1 root root  4648 2008-12-03 11:14 server-tuning.conf
drwxr-xr-x 2 root root  4096 2009-10-02 09:06 ssl.crl
drwxr-xr-x 2 root root  4096 2009-10-02 09:06 ssl.crt
drwxr-xr-x 2 root root  4096 2009-10-02 09:06 ssl.csr
-rw-r--r-- 1 root root  2957 2008-12-03 11:14 ssl-global.conf
drwx------ 2 root root  4096 2009-10-02 09:06 ssl.key
drwxr-xr-x 2 root root  4096 2009-10-02 09:06 ssl.prm
drwxr-xr-x 2 root root  4096 2009-10-02 14:08 sysconfig.d
-rw-r--r-- 1 root root    22 2008-12-03 11:14 uid.conf
drwxr-xr-x 2 root root  4096 2009-10-02 09:06 vhosts.d

Problem ist immer noch das gleiche, error 403.

Jetzt habe ich nochmals nach einer httpd.conf gesucht und gleich mehrere gefunden:

Code:
/usr/share/doc/packages/apache2/httpd.conf.default
/usr/share/doc/packages/apache2/original/httpd.conf
/usr/share/susehelp/httpd.conf


Welche ist es denn, oder bin ich völlig auf dem Holzweg?

gma
 

marce

Guru
Oh je...

DocumentRoot ist in der httpd.conf (bzw. einer von dieser includierten Datei) konfiguriert - es ist der Ort, wo für einen Server oder einen vHost die Daten zur Auslieferung hinterlegt sind. Bei Suse sollte dies AFAIK unter /srv/httpd oder so liegen...

Ich empfehle Dir, mal die Doku auf der Apache-Seite zu lesen. Die ist gut und verständlich - evtl. findest Du auch auf der Suse-Seite was, hülft evtl. ein bisschen mehr, da Suse die Aufteilung der httpd.conf etwas anderes geregelt hat als ein "originaler" Apache.

"So einfach" kann man das jedenfalls in einem Forum hier nicht erklären...
 

panamajo

Guru
marce schrieb:
Bei Suse sollte dies AFAIK unter /srv/httpd oder so liegen...
/srv/www/htdocs

Ein E403 bedeutet dass es dem Apache nicht erlaubt ist ein Dokument auszuliefern. Wenn der Apache frisch installiert ist liegt das nicht an irgendwelchen Dateirechten sondern meist schlichtweg daran dass keine Datei da ist und das Anzeigen aller Dateien (Option Indexes) verboten ist.

Von sinnfreien chmod 777 rate ich dringend ab.

<http://de.opensuse.org/Apache/Schnellstartanleitung>
 
OP
G

gma

Member
/srv/www/htdocs

Ein E403 bedeutet dass es dem Apache nicht erlaubt ist ein Dokument auszuliefern. Wenn der Apache frisch installiert ist liegt das nicht an irgendwelchen Dateirechten sondern meist schlichtweg daran dass keine Datei da ist und das Anzeigen aller Dateien (Option Indexes) verboten ist.

Super, jetzt hat es wieder geklickt! Habe einfach mal eine Datei index.html angelegt, der entsprechende Inhalt wurde schön angezeigt!!!!


Code:
Von sinnfreien chmod 777 rate ich dringend ab.

Stimmt natürlich, werde ich gleich rückgängig machen.

Aber ich finde es trotzdem doof, eine "access forbidden!" Fehler zu bekommen, nur weil kein index.html file vorhanden ist.

gma
 
Oben