www Verzeichnis verschieben

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von ralf-isi, 5. Juli 2010.

  1. ralf-isi

    ralf-isi New Member

    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
     
  2. Till

    Till Administrator

    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. ralf-isi

    ralf-isi New Member

    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: 6. Juli 2010
  4. Till

    Till Administrator

    Schau mal ins error.log der Webseite.
     
  5. ralf-isi

    ralf-isi New Member

    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
     
  6. Till

    Till Administrator

    Du musst die Daten mit "mv" verschieben und nicht mit "cp" kopieren.
     
  7. JeGr

    JeGr Member

    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. ralf-isi

    ralf-isi New Member

    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
     

Diese Seite empfehlen