Uprawnienia Wordpress OS X i MAMP

2

Zainstalowałem kilka lokalnych wersji Wordpress do celów programistycznych.

Po instalacji mogę tworzyć posty, strony i edytować opcje administratora.

Jednak gdy tylko spróbuję załadować obrazy, które zostałyby zapisane w wp_content / uploads, pojawia się błąd:

Błąd przesyłania: Nie można utworzyć katalogu ..... / blog / wp-content / uploads / 2011/05. Czy jego katalog nadrzędny jest zapisywany przez serwer?

Wygląda na to, że serwer MAMP działa jako użytkownik _www Katalog blogów należy do użytkownika User1, a grupa User1 _www nie należy do grupy User1, prawda? Nie chcę przeskakiwać katalogów 777 lub 765 tylko po to, żeby to zrobić. Przejrzał kilka referencji:

http://codex.wordpress.org/Changing_File_Permissions w „Schemacie uprawnień dla WordPressa”

Wszystkie pliki powinny być własnością twojego konta użytkownika (ftp) na twoim serwerze internetowym i powinny być zapisywane przez to konto. Na hostach współdzielonych pliki nigdy nie powinny być własnością samego procesu serwera WWW (czasami jest to www, apache lub nikt inny użytkownik).

Każdy plik, który wymaga dostępu do zapisu z WordPress, powinien być własnością lub własnością grupy przez konto użytkownika używane przez WordPress (które może być inne niż konto serwera). Na przykład możesz mieć konto użytkownika, które pozwala przesyłać pliki w obie strony na serwer, ale sam serwer może działać przy użyciu osobnego użytkownika, w oddzielnej grupie użytkowników, takiej jak dhapache lub nikt. Jeśli WordPress działa jako konto FTP, to konto musi mieć dostęp do zapisu, tj. Być właścicielem plików lub należeć do grupy, która ma dostęp do zapisu. W tym drugim przypadku oznaczałoby to, że uprawnienia są ustawione bardziej liberalnie niż domyślnie (na przykład 775 zamiast 755 dla folderów i 664 zamiast 644).

Użytkownik i grupa to Użytkownik1 (którym jest admin). Uruchamianie „ps aux | grep httpd” działa jako _www. Myślę, że to oznacza, że ​​Wordpress działa jako użytkownik _www. Tak więc rada wydaje się sprzeczna: „pliki nigdy nie powinny być własnością procesu serwera”, tj. _Www, ale później mówi: „Każdy plik, który wymaga dostępu do zapisu z WordPress, powinien być własnością grupy lub właściciela konta użytkownika używanego przez WordPress”. czy to już nie _www?

Inne wyszukiwanie znalazło ten adres URL http://dancingengineer.com/computing/2009/07/how-to-install-wordpress-on-mac-os-x-leopard Stany, które mówią:

Moim preferowanym sposobem jest zmiana grupy katalogu wordpress i jego zawartości na _www oraz udzielenie grupie uprawnień do zapisu. Zachowaj właściciela jako „nazwę użytkownika”.

$ cd / Users / „nazwa użytkownika” / Witryny

$ sudo chown -R nazwa użytkownika: _www wordpress_directory

$ sudo chmod -R g + w wordpress_directory

Jednak, gdy spróbowałem, nie działało to w przypadku automatycznych aktualizacji do nowszych wersji WordPress, chociaż działało w celu automatycznej aktualizacji pliku .htaccess w przypadku dość bezpośrednich linków.

Nie jest dla mnie całkowicie jasne, co należy zrobić. Ta ostatnia sugestia wydaje się mówić o zmianie grupy z User1 na _www i zapewnieniu grupie dostępu do zapisu, ale aktualizacje Wordpress nie będą działać.

Czy to właściwe rozwiązanie?
Myślałem, że istnieje prosty sposób na skonfigurowanie tego w systemie OS X 10.6?

Bądź świetny, jeśli istnieje wtyczka, która może uruchamiać skrypt dla każdego z głównych systemów operacyjnych, na których działa Wordpress.

Matt2020
źródło

Odpowiedzi:

1

Twoje pytanie jest nieco trudne do naśladowania, ale i tak postaram się pomóc:

  1. Po pierwsze, możesz uruchomić MAMP jako „www / mysql” lub „użytkownik / użytkownik”. To, co wybierzesz, zależy od tego, czego chcesz i gdzie umieściłeś swoje pliki. Jeśli nie wystawiasz swojego serwera WWW na świat zewnętrzny, użytkownik / użytkownik jest prawdopodobnie najłatwiejszy, choć nie tak bezpieczny.

  2. Po drugie, automatyczne aktualizacje / wtyczki / motywy są pobierane na twoją stronę przez FTP, a ponieważ MOST ludzie nie uruchamiają serwera FTP na swoich komputerach lokalnych ani nie mają statycznego adresu IP lub nazwy domeny, aby adresować swój komputer lokalny, nie będą działać, więc zainstaluj i zaktualizuj ręcznie. Tak, możesz skonfigurować serwer FTP na stacji roboczej i skorzystać z usługi DynDNS , a następnie przesłać port FTP przez router i zaporę do stacji roboczej, ale tak naprawdę nie warto.

  3. Po trzecie, program do przesyłania multimediów nie korzysta z FTP, więc POWINIEN nadal działać w lokalnej instalacji, w przeciwieństwie do wtyczek, aktualizacji i motywów. Twoja prawdopodobnie nie działa, ponieważ własność lub uprawnienia nie są ustawione poprawnie dla / wp-content. Może to oznaczać, że korzystasz z serwera WWW, ponieważ „_www / _mysql” i „_www” nie ma uprawnień do miejsca, w którym znajduje się folder, w którym przechowywane są twoje pliki LUB może być tak, że uprawnienia RWX nie są ustawione poprawnie w folderze.

jb510
źródło