www Verzeichnis verschieben

#1
hallo zusammen

Unter SUSE 11.2 liegen alle Web's im Verzeichnis /srv/www dies droht nun zu überlaufen. Deshalb will ich alle Web's in eine andere, separate Partition verlegen.
Kein Problem - die Partition angelegt, den gesamten Inhalt von /srv/www in diese kopiert. In /etc/fstab den mount - Eintrag erstellt, neu gemountet.
mit mount überprüft: passt. mit l den Inhalt von /srv/www angeschaut: passt. ownder + group richtig, auch die Rechte (rwx) wie zuvor.

Rufe ich nun mit dem Browser eine der Seiten auf erhalte ich eine Forbiden - Meldung - ich hätte nicht das Recht .....

Auch ein Server Neustart erschlägt das Problem nicht.

Was habe ich übersehen, vergessen, nicht beachtet?

Vielen Dank für sachdienliche Hinweise und viele Grüsse
Ralf
 

Till

Administrator
#2
1) Und Du bist ganz sicher, dass die neue Partition auch wirklich als /srv/www gemountet ist?
2) Poste die exakte Fehlermeldung aus dem apache error.log
3) Hast Du irgendeine Kernel security extension wie selinux oder apparmor aktiviert?
 
#3
Hallo Till
vielen Dank für Deine Antworten / Fragen.

Zu 1: da bin ich mir sehr sicher:
Code:
 mount
/dev/sda2 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
securityfs on /sys/kernel/security type securityfs (rw)
/proc on /var/lib/named/proc type none (ro,bind)
/proc on /var/lib/ntp/proc type none (ro,bind)
/dev/sda3 on /test type ext3 (rw)
/dev/sda3 on /srv type ext3 (rw)
Code:
l /srv/
total 32
drwxr-xr-x  5 root root  4096 Jul  6 09:00 ./
drwxr-xr-x 23 root root  4096 Jul  3 23:47 ../
drwxr-xr-x  2 root root  4096 Jul  3 23:29 ftp/
drwx------  2 root root 16384 Mar  6 11:26 lost+found/
drwxr-xr-x 10 root root  4096 Jul  2 15:36 www/
Code:
 l /srv/www/
total 40
drwxr-xr-x 10 root    root    4096 Jul  2 15:36 ./
drwxr-xr-x  5 root    root    4096 Jul  6 09:00 ../
drwxr-xr-x  2 ispapps ispapps 4096 Jul  2 11:19 apps/
lrwxrwxrwx  1 root    root      30 Jul  2 13:54 banner-tauschen.ch -> /srv/www/clients/client1/web9//
drwxr-xr-x  2 root    root    4096 Apr 28 09:47 cgi-bin/
drwxr-xr-x  5 root    root    4096 Jul  2 15:35 clients/
drwxr-xr-x  7 root    root    4096 Apr 28 09:47 htdocs/
lrwxrwxrwx  1 root    root      34 Jul  2 15:35 ispconfig -> /usr/local/ispconfig/interface/web/
lrwxrwxrwx  1 root    root      30 Jul  2 11:19 klimmborium.ch -> /srv/www/clients/client1/web6//
drwxr-xr-x 14 root    root    4096 Apr 28 09:57 nconf/
drwxr-xr-x  2 root    root    4096 Oct 30  2009 perl-lib/
drwxr-xr-x  2 root    root    4096 Mar 19 08:34 php-cgi-scripts/
drwxr-xr-x  5 root    root    4096 Mar 13 09:55 php-fcgi-scripts/
zu 2: Das error_log unter /var/log/apache2 bleibt leer, resp. kein Eintrag. Im Browser kommt diese Meldung:
Code:
[B]Forbidden[/B]

 You don't have permission to access / on this server.
 Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the  request.
Ein Neustart des Servers (init 6) schreibt ins error_log:
Code:
 more error_log
[Tue Jul 06 09:09:49 2010] [notice] caught SIGTERM, shutting down
[Tue Jul 06 09:11:11 2010] [warn] Init: Session Cache is not configured [hint: S
SLSessionCache]
[Tue Jul 06 09:11:12 2010] [notice] Apache/2.2.13 (Linux/SUSE) mod_ssl/2.2.13 Op
enSSL/0.9.8k PHP/5.3.2 configured -- resuming normal operations
zu 3.: nicht mit wissen. Wie überprüfe ich das um sicher zu sein?

Getestet mit der Domain klimmborium - aber auch die anderen bringen das gleiche Ergebnis.
Vielen Dank für's Überlegen und die Hilfe
Ralf

PS
Nach dem Testen wieder zurückgestellt.
 
Zuletzt bearbeitet:
#5
Guten Tag
konnte mich leider länger nicht darum kümmern was sich nun aber wieder ändert.
Das 'Problem' habe ich nun gefunden - nur die Lösung (noch) nicht.

Habe folgendes gemacht:
- neue Festplatte eingebaut und auf /test gemountet
- als root mit cp alles von /srv nach /test kopiert.
- /test ausgehängt und neu gemountet auf /srv
Dann gesehen, dass alles unter /srv/www/clients dem Benutzer und der Gruppe root gehört. Nun ja, so geht es nicht!
Also mit chown und chgrp dies richtig gestellt, so werden nun die web's auch wieder angezeigt.
Doch leider stimmen die einzelnen file-Berechtigungen (rwx) nicht.
Nun die man-pages zu cp durchgelesen - doch leider sind mein englisch bescheiden. Ich finde den/die richtigen Parameter nicht.
Es muss doch Möglich sein alles von /srv nach /test zu kopieren so, dass Benutzer, Gruppe und Berechtigungen beibehalten werden. Oder bin ich auf dem Holzweg? Kann mich bitte wer auf den richtigen Weg bringen?

Dann habe ich wohl noch einen 2-ten Fehler.
- die 1-te Platte ist 15GB gross und zu 95% voll. Aus diesem Grund die 2-te Platte eingebaut auf die sollen die web's kommen.
- die 2-te platte ist 250GB gross
Nach dem mounten der 2-ten Platte wird die erste immer noch mit 95% Auslastung angezeigt.
* Überlegungsfehler von mir?
* Was sollte ich noch auf die 2-te Platte verschieben? (die kann ich ja partitionieren wie ich will und sie einhängen)

Schon mal vielen Dank für die Hilfe und einen schönen Sonntag.
Ralf
 
#7
Ich finde in dem Fall mv nicht die schöne Art, ich lasse gern die Daten da, wo sie waren bis sie am neuen Ziel auch sicher ankamen.

Den Befehl, den unser geschätzter Freund sucht, ist der Paramter "-p" von cp. Dieser bezeichnet die Kurzform von "permission" und kopiert genau dies: alle Permissions sowie User und Group der alten Dateien 1:1 auf die neuen. Um beim Beispiel zu verbleiben:

Code:
mount /dev/sda3 /test
cd /srv
cp -pr www /test/
cd /
# um zu sehen ob die Berechtigungen stimmen
ls -la /test/
ls -la /test/www
#
umount /test
mv /srv/www /srv/www.old
mkdir /srv/www
mount /dev/sda3 /srv/www
# überprüfen
ls -la /srv/www
Damit hat man für den Fall der Fälle das ganze Verzeichniskonstrukt noch als /srv/www.old zur Hand um notfalls zu kontrollieren, ob die Zugriffsrechte und Besitzer auch korrekt sind.

Damit sollte es dann auch klappen :)
 
#8
Hallo Till
Hallo Grey

vielen Dank für Eure Hilfe - weiss ich zu schätzen.

Wie Grey geschrieben hat, wollte ich die Daten zuerst (weg)kopieren und dann, wenn alles stimmt, erst löschen. Für das nächste Mal schreibe ich mit den Parameter -p mal hinter die Ohren. :) Danke.

Um das leidliche Plattenplatz - Problem aus der Welt zu schaffen, bin ich nun eher der Auffassung die ganze "alte", kleine Platte auf die Grosse zu legen.
Das müsste doch gehen mit:
Code:
dd if=/dev/sda of=/dev/sdb
oder um nur die Partition mit den Web's + installiertem, bootbarem System zu übernehmen:
Code:
dd if=/dev/sda2 of=/dev/sdb2
?
Dann "alte" Platte (sda) ausbauen (oder Startreihenfolge tauschen).
dd erstellt doch auf der "neuen" Platte (sdb) ein genaues Abbild, also bootbar oder nicht?

Vielen Dank für Eure Bemühungen und Auskünfte
Ralf
 

Werbung

Top