Skonfigurowałem serwer LAMP i mam dostęp przez SSH oraz do strony „to działa” z przeglądarki internetowej z mojej sieci (poprzez adres IP) i z zewnątrz za pomocą dyndns.
Mamy kilka projektów Wordpress, które znajdują się w podkatalogach w / var / www / wordpress1 / var / www / wordpress2 itd. Nie mogę uzyskać dostępu do tych podkatalogów z przeglądarki, aby skonfigurować WP - lub (zakładam) zobaczyć treść w przeglądarce. W mojej przeglądarce pojawia się błąd 403 Forbidden.
Zakładam, że jest to problem z uprawnieniami. Czy możesz mi powiedzieć odpowiednie ustawienia uprawnień do:
- Pozwól mi i programistom czytać / pisać.
- aby umożliwić WP skonfigurowanie i zrobienie tego
- Zezwalaj odwiedzającym na uzyskiwanie dostępu do witryny (witryn) za pośrednictwem sieci.
Powinienem również wspomnieć, że podfolder to tak naprawdę linki do folderu na innym wewnętrznym dysku twardym - nie sądzę, że to coś zmieni, ale pomyślałem, że powinienem to ujawnić.
total 12
drwxr-xr-x 2 root root 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx 1 root root 43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media
-rw-r--r-- 1 root root 177 2012-07-11 17:50 index.html
lrwxrwxrwx 1 root root 14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx 1 root root 18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress
Oto wynik użycia chown -R www-data:www-data /var/www
total 12
drwxr-xr-x 2 www-data www-data 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx 1 www-data www-data 43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media
-rw-r--r-- 1 www-data www-data 177 2012-07-11 17:50 index.html
lrwxrwxrwx 1 www-data www-data 14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx 1 www-data www-data 18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress
Nadal nie mogę uzyskać dostępu za pośrednictwem przeglądarki.
ls -la /var/www
.chown -R www-data:www-data /var/www
/hdd/web/wordpress
to poprawnie skonfigurować Apache (katalog główny). Możesz skonfigurować apache, aby używał linków, ale nie radzę tego. Zobacz także help.ubuntu.com/community/WordPressOdpowiedzi:
Po pierwsze, upewnij się, że Twoja nazwa użytkownika jest uwzględniona w
www-data
grupie. Jeśli nie, możesz dodać swoją nazwę użytkownika jakowww-data
grupęNastępnie powinieneś zmienić własność / var / www na swoją nazwę użytkownika
Następny krok, dla ogólnej praktyki , powinieneś zmienić uprawnienie na 755 (rwxr-xr-x), nie zalecając zmiany uprawnienia na 777 ze względów bezpieczeństwa
W związku z konkretnym zezwoleniem na wordpress lub laravel lub inną platformę możesz odpowiednio przeczytać dokumentację.
Mam nadzieję, że to pomoże...
źródło
sudo chown www-data:www-data -R mywordpressdirectory/
chmod
. Zmienia pozwolenie na 755 z lepkimi bitami (aby zachować nowe pliki będące własnością www-data.)Najwyraźniej tak zaleca się Przewodnik po Ubuntu Server:
Rozdział 11. Serwery WWW.
1.4 Udostępnianie uprawnienia do zapisu
Aby więcej niż jeden użytkownik mógł pisać w tym samym katalogu, konieczne będzie przyznanie uprawnień do zapisu grupie, którą współużytkują. Poniższy przykład przyznaje wspólne uprawnienie do zapisu do / var / www / html grupie „webmasterzy”
Korzystam z danych www . Po prostu zastąp „webmasterów” swoją grupą, pamiętaj oczywiście o dodaniu użytkownika do grupy.
Właśnie przetestowałem go w programie Dreamweaver na moim komputerze Mac i przesłałem i zastąpiłem pliki, dodałem pliki itp. I zachowuje prawidłowe uprawnienia z jednym wyjątkiem, użytkownik lokalny staje się właścicielem nowych plików wraz z danymi www, ale wszelkie pliki utworzone przez root w katalog html zachowuje swoją własność jako root, ale są edytowalne przez lokalnego użytkownika.
Mam nadzieję, że to wyjaśnia i pomaga znużonym, bo wiem, że zawsze byłem zmęczony tą sytuacją, ale teraz jest dla mnie jasne.
Aha, gorąco polecam użycie sftp z kluczami do uzyskania dostępu do ftp, działa świetnie dla mnie i nie potrzebuje PureFTP ani żadnej innej niepewnej metody dostarczania plików na stronę. Na stronie Digital Ocean jest kilka samouczków na temat zabezpieczania serwera za pomocą kluczy SSH:
Jak skonfigurować uwierzytelnianie oparte na kluczach SSH na serwerze z systemem Linux
źródło
find
s na justsudo chmod -R g=srwX /var/www/html
.find -exec chmod
odrodzi osobny program dla każdego pliku, co jest czasochłonne i wywiera niepotrzebną presję na system, jeśli masz wiele plików. Rozwiązanie:sudo find /var/www/html -type f -print0 |sudo xargs -0 chmod g=rw
. xargs spróbuje podać jak najwięcej ścieżek do jednego wystąpieniachmod
.Sprawdź, czy Apache ma uprawnienia do wykonywania dla
/hdd/web/media
i/hdd/web/wordpress
.Biegać:
Ponadto Apache musi być skonfigurowany, aby umożliwić dostęp do katalogu w systemie plików. Musi to zrobić administrator systemu, wstawiając dyrektywę do plików konfiguracyjnych apache (httpd.conf).
Ponieważ rzeczywisty katalog znajduje się w katalogu głównym, musi on być dostępny, ale dla tego katalogu może nie być włączona funkcja FollowSymLinks - należy to również dodać do dyrektywy.
Zobacz http://httpd.apache.org/docs/2.0/mod/core.html#directory
źródło
Czytanie podręcznika instalacji Ubuntu ..
Może może być łatwiej zainstalować w ten sposób, zamiast próbować rozpakować pliki
/var/www
https://help.ubuntu.com/community/WordPress ...
w jakikolwiek sposób Wordpress działa na Apache ... prawda? jeśli chcesz to zrobić w ten sposób .. pokaż jako @metamorph, a następnie daj zezwolenie na apache2 w
httpd.conf
następujący sposób:i potem
default-server.conf
.Być może najlepiej jest zrobić krok po kroku https://help.ubuntu.com/community/WordPress
źródło