Jak przenieść folder www Apache, a następnie utworzyć symboliczny link do niego pod Linuksem

1

Zainstalowałem ISPConfig i mam folder Apache / var / www.

Chciałbym przenieść ten folder www na inny dysk zamontowany w / data.

Zrobiłem

cp -r /var/www /data

aby utworzyć kopię w folderze / data

Potem zrobiłem

mv /var/www /var/wwworig

aby na wszelki wypadek utworzyć kopię zapasową folderu www

Następnie utworzyłem dowiązanie symboliczne z / var / www do / data / www

ln -s /data/www /var/www

Dając mi link z / var / www do / data / www

Próbowałem zrestartować Apache, ale wciąż przeglądam tylko 403 błędy podczas przeglądania mojej strony.

Mam FollowSymLinks w mojej konfiguracji Apache. Nie chcę zmieniać katalogów wymienionych w mojej konfiguracji Apache, ponieważ nie chcę zbytnio zmieniać ISPConfig. Chciałbym tylko symboliczny link do innego dysku.


Oto uprawnienia, które mogą być istotne.

Folder oryginalny / var

drwxr-xr-x 10 root   root   4096 Mar 23  2011 www

Folder oryginału / danych

drwxr-xr-x 10 root  root   4096 Oct 12 06:02 www

Folder / var z linkiem

lrwxrwxrwx  1 root   root      9 Oct 12 10:16 www -> /data/www
drwxr-xr-x 10 root   root   4096 Mar 23  2011 wwwbackup
Chris
źródło
Sprawdź dzienniki Apache w / var / www i sprawdź, na czym polega rzeczywisty problem. Może być konieczne zwiększenie poziomu rejestrowania Apache.
CarlF,

Odpowiedzi:

0

Czy po skopiowaniu katalogu sprawdziłeś uprawnienia do plików i prawo własności? Jeśli skopiowałeś jako użytkownik root, nowy katalog będzie należeć do katalogu głównego od tego momentu. użytkownik nikt ani httpd nie będą mogli uzyskać dostępu do tych danych.

DaSteph
źródło
Próbowałem ponownie, zachowując uprawnienia cp -rp / var / www / data / www poprawne? Teraz otrzymuję inny błąd 500 „Serwer napotkał błąd wewnętrzny lub błędną konfigurację”
Chris,
Masz rację, zachowując uprawnienia bez zmian podczas kopiowania, aby działało poprawnie. Następnie musiałem poprawić mój plik suphp.conf, usuwając linie docroot.
Chris,
0

rozważ użycie mount --bind olddir newdir.

Michał Šrajer
źródło
Próbowałem tego zgodnie z twoją sugestią, ale otrzymałem to: [root@server var]# mount --bind /var/www /data/www mount: special device /var/www does not exist dziękuję jednak za sugestię.
Chris,
@Chris: czy /data/wwwistnieje? Powinno. Na jakim systemie operacyjnym jesteś? Czy masz man mountcoś do powiedzenia na temat --bindopcji? Działa na moim debianie.
Michał Šrajer,
Masz prawo, folder nie istniał, gdy próbowałem go po raz pierwszy. Miałem folder / var / www i wypróbowałem go jeszcze raz i wszystko działało dobrze. Prawdopodobnie będę trzymać się linku, ale jeszcze raz dziękuję.
Chris,
@Chris: Jeśli uznasz, że odpowiedź jest przydatna, powinieneś ją zagłosować :-)
Michał Šrajer,