CentOS 6 html-Verzeichnis zerschossen? Zugriff via Web nicht möglich

S

SB1888

Gast
Hallo Leute,

wenn man nur begrenzt weiß was man tut kommen gewisse Dinge vor, man lernt ja nie aus :lol:

Meine ersten Gehversuche mit Linux und im speziellen mit CentOS 6...
Was hab ich gemacht?
Mir PHP und MySQL installiert, mit phpMyAdmin installiert, alles supi alles soweit geklappt.

Dann hab ich gestern Abend Samba aufgesetzt, um von meinem Windowsrechner wenigstens
mal ein paar Dateien problemlos rüber zu bekommen.
Die Anleitung sehr gut und ausführlich und bezogen aufs "public" Verzeichnis.

Hat auch geklappt, nun war ich ein klein wenig mutig und wollte mir direkt das "html" Verzeichnis
unter /var/www/ freigeben :rolleyes:

Befehle mal eben zur Notiz:
vi /etc/samba/smb.conf

eingetragen:
HTML:
         path = /var/www/html
         valid users = beispiel
         read list = beispiel
         write list = beispiel
         read only = no
         create mask = 0664
         directory mask = 0775[/QUOTE]

Berechtigungen setzen:
[QUOTE]chown root:users /var/www/html
chmod 0775 /var/www/html[/QUOTE]

Für SELinux:
[QUOTE]semanage fcontext -a -t samba_share_t '/var/www(/.*)?'[/QUOTE]
+ anschließend
[QUOTE]restorecon -R -v /var/www[/QUOTE]

Damit komme ich nun zwar über den Explorer dran, Samba an sich funzt also,
aber via Webbrowser gibt es nur noch ein "Diese Seite kann nicht angezeigt werden" :(

Ich vermute das Verzeichnis hat vorher gewisse Rechte, damit man von "außen" dran kommt,
was ich nun elegant vernichtet habe? :freak:

Wer kann helfen? ;)
 
Zeig uns doch mal die permissions der Files und Folder unterhalb von /var/www

entweder mit "find /var/www -ls" oder "ls -lr /var/www"
 
So?

insgesamt 16
drwxr-xr-x. 3 root root 4096 22. Aug 23:16 icons
drwxrwxr-x. 2 root users 4096 25. Aug 14:26 html
drwxr-xr-x. 3 root root 4096 22. Aug 23:16 error
drwxr-xr-x. 2 root root 4096 13. Aug 19:30 cgi-bin

vom HTML Verzeichnis mit find:
find /var/www/html -ls
1049930 4 drwxrwxr-x 2 root users 4096 Aug 25 14:26 /var/www/html
1050740 4 -rw-r--r-- 1 root root 21 Aug 22 23:20 /var/www/html/phpinfo.php
1052901 164 -rw-rw-r-- 1 beispiel users 165630 Mai 27 23:31 /var/www/html/FTP.jpg

Edit:
Jap hab mir da echt was zerschossen, in der httpd.conf steht in line 292:
DocumentRoot "/var/www/html"
Aber wenn ich den Dienst starten will, sagt er mir:
httpd starten: Syntax error on line 292 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
:(

Ich beiß mal in den sauren Apfel und spiel CentOS mal neu auf, in dem Zuge nutze ich
mal direkt keine physikalische Platte, sondern ne VHD im HyperV, dann kann ich mir schon mal
Stände sichern :D :D
 
Zuletzt bearbeitet:
Bin mir grad nicht 100% sicher, aber müssen die Angaben in DocumentRoot (und alle anderen Pfadangaben in der conf) nicht mit einem / enden um zu zeigen, dass es sich um ein Verzeichnis handelt? Also bevor du abreißt: / hinten dran schreiben und gucken, was passiert

Außerdem hast du ein paar kleine Denkfehler drin. Wenn du nicht mit VHosts und einer Form von Benutzerwechsel (suEXEC, suPHP oder mein Liebling: mpm-itk) arbeitest, dann kann nur der User "www-data" auf die Document Roots zugreifen. Wenn du jetzt also mit nem x-beliebigen anderen User da Dateien rein wirfst, dann wird das nix... außer du setzt die Dateien auf 666 (und Ordner auf 777). So oder so, das ist eine GEWALTIGE Sicherheitslücke, die sich da auftut.

Korrekter Ansatz:
- einen suEXEC - Mechanismus einrichten
- für jede Webseite einen User im System anlegen, dem der jeweilige DocRoot gehört
- eine Form von Dateitransfer einrichten, die Dateien als der jeweilige User im DocRoot anlegt. Ob du dafür SSH/SCP oder FTP nutzt bleibt dir überlassen.

Die Sache mit suEXEC geht nach meiner Erfahrung echt am einfachsten mit apache2-mpm-itk (als Ersatz für mpm-prefork). Deine Vhost-Configs brauchen jetzt nur noch 3-4 Zeilen extra, die die Berechtigungen regeln, der Rest ist Fire & Forget. mpm-itk ist langsamer als mpm-prefork, dafür deutlich schneller als suPHP, unterstützt OpCode-Caching und eben ein echter No-Brainer, vor allem verglichen mit suEXEC via FastCGI.

P.S.: Spar dir die Virtualisierung. Wenn du neu aufsetzt, dann nutz einfach Btrfs statt Ext4. Das Ding kann Snapshots und dürfte langsam stabil genug sogar für Produktiveinsatz sein.
 
Hey, super, danke für den Input, da ist einiges dabei was ich googlen muss :lol:
Die Virtualisierung läuft eh schon, nen Server 2012 Hyper-V darauf aufgesetzt mein WHS2011 und einige Testsysteme
und aktuell soll eben neben der MS Landschaft noch ein Außenseiter dazukommen, man kann sich ja nicht immer
verschließen, ja ok mit IIS könnte ich den Webserver auch realisieren, liegt mir aber fern, so gibt's neues zum Testen ;)

Problem ist eben man liest viel im Netz, mal so mal so, 1000 Wege führen nach Rom, aber einige sind leider eine
Sackgasse und da sucht man eben nach dem, was am effektivsten klingt.
Die Freigabe mit Samba wird an vielen Stellen erwähnt, aber die Berechtigungen sind nur eine Baustelle von vielen :)

Danke erst mal, werde nun noch ein wenig in den Untiefen des WWW abtauchen, auf der Suche nach fundierten Ansätzen,
Lösungen und Beschreibungen, die nicht stupide auf das Ziel verweisen, sondern auch den "was ist wenn"-Fall behandeln. *g*
 
Was haste denn für ein "was wäre wenn"? Ich hab nun schon ein paar LAMP-Server unter meiner Fuchtel gehabt, in ziemlich unterschiedlichen Konfigurationen. Ich hab dabei zwar noch lange nicht alles gesehen, aber zumindest eine ganze Menge.

Im Zweifel: http://www.howtoforge.com/perfect-server-centos-6.4-x86_64-apache2-dovecot-ispconfig-3
Die Tutorials von Howtoforge sind ziemlich exakt. Hier und da kann man noch was ergänzen, manches ist optional... aber am Ende kommt ein recht ordentlicher Server raus. Ich bevorzuge aber Debian, und da gibts auch irgendwo ein Tutorial für Debian mit apache2-mpm-itk (ok.. das isn nobrainer...)
Wichtig, falls du den mpm-itk - Weg wählen willst: Zumindest unter Debian 7 und Ubuntu 12.04 existiert da ein Bug. Es kann durchaus sein, dass er auch in anderen Umgebungen existiert... Du darfst kein mod_ruby mit verwenden. Sobald du mod_ruby verwendest klappt dir der Apache zusammen wie n Taschenmesser, sobald du den Dienst mal neu starten willst (z.B. nach ner Config-Änderung). Dann hilft nur noch kill -9...
 
hmm ja hotoforge habe ich schon entdeckt gehabt und ist fester Bestandteil meiner abendlichen Unterhaltung.
Es ist halt einfach so bei Anleitungen, man liest und sieht und kommt zum Ziel, die Sachen nebenrum fallen aber hinten runter ;)

Aber dafür kann man ja testen und probieren *g*

CentOS ist es übrigens wegen Hyper-V geworden, als supported OS ;)
 
Was mich an CentOS irgendwie etwas abschreckt... die Kernel-Version. Wie viel Jahrzehnte ist der 2.6er jetzt alt? Hilft aber alles nix, ich will mir n OpenVZ - System auf Basis von Debian 7 aufsetzen. Da hab ich auch so n alten Kernel an der Backe. Irgendwie macht sich da keiner die Mühe, die OpenVZ-Patches in den 3.2er Kernel einfließen zu lassen. Dafür haste dann n 2.6.32-Wheezy... vielen herzlichen Dank auch...
 
So nun bin ich am Fehlerpunkt angekommen ;)
Bsp für die Berechtigungen am html Verzeichnis vor Änderung Samba:
drwxr-xr-x. root root System_u: object_r:httpd_sys_content_t:s0

Nach restorecon -R -v ergibt sich:
drwxr-xr-x. root root System_u: object_r:samba_share_t:s0

Danach komme ich zwar via samba auf den Ordner, aber der httpd-Dienst scheinbar nicht mehr :D

Ändere ich dann wieder auf den Ausgangswert zurück läuft Samba nicht mehr, aber der HTTPD wieder :(
Wie kombiniere ich nun beide? :/
 
Nimm einfach kein Samba, verwende VHosts mit Userrechten (z.B. eben per itk) und übertrag die Dateien per FTP.
 
Zurück
Oben