Rozumiem, że magento mówi, że ma / var i / media na 700 dla folderów i 600 dla plików, ale kiedy to robię, psuje niektóre części mojej witryny. Jestem ciekawy, jakie uprawnienia większość osób korzysta z tych folderów.
Rozumiem, że magento mówi, że ma / var i / media na 700 dla folderów i 600 dla plików, ale kiedy to robię, psuje niektóre części mojej witryny. Jestem ciekawy, jakie uprawnienia większość osób korzysta z tych folderów.
Odpowiedzi:
Nie widziałem wiele wzmianek o używaniu 700 i 600, ale ogólnie jest to dobra rada. Niestety każda konfiguracja serwera jest inna i należy ją porównać z wygodą (dostęp użytkownika do aktualizacji / edycji plików).
Podstawowym podejściem powinno być rozdawanie tak mało, jak to możliwe i blokowanie jak najwięcej (700/600 jest do tego dobre). Pod tym względem „oficjalna” rada na wiki chce stosować się w jak największej liczbie okoliczności i sugeruje wszystkim uprawnienia do odczytu (co oznacza, że każda naruszona inna usługa na serwerze będzie mogła na przykład odczytać aplikację / etc / local). xml z konfiguracją db).
W twoim przypadku wygląda to na to, że pliki są własnością innego użytkownika niż ten, na którym działa twój proces serwera / php. Zmiana własności plików na serwer internetowy powinna rozwiązać pierwotny problem.
Należy pamiętać, że użycie 700/600 i przypisanie plików do serwera oznacza, że zwykły użytkownik nie będzie mógł edytować plików.
Poniżej uważam, że jest to dobry kompromis dla wygody vs blokowania. Wszystkie pliki są własnością użytkownika: webservergroup
var i media 770/660
Serwer i użytkownik mogą odczytywać i zapisywać z folderów var i media (sesja / pamięć podręczna / obrazy).
reszta 750/640
Twój użytkownik może edytować / aktualizować kod.
Serwer WWW jest w stanie odczytać pliki do wykonania / wyświetlenia.
Na ogół wszystkie pliki powinny być 644
i wszystkie foldery powinny być 755
i powinny być własnością użytkownika serwer WWW działa pod . Plik mage
wykonywalny powinien mieć 550
uprawnienia pozwalające na wykonanie.
Ten skrypt powłoki powinien załatać sprawę, jeśli jest uruchamiany z katalogu głównego Mage:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Źródło: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Chociaż rozwiązanie Phila jest dobre, stosuję nieco inne podejście. Oprócz uczynienia właściciela pliku „php / webserver user”, tworzę dodatkową grupę. Zwykle nazywa się to dev . I dodam „user php” i sobie i innym deweloperom do tej grupy dev . Następnie wykonuję chgrp , aby wszystkie pliki w poddrzewie projektu Magento miały grupę dev . Dodam + s trochę do folderów, które gwarantuje, że nowo utworzone podfoldery uzyskać takie same uprawnienia.
Za pomocą skryptu fix_permissions.sh utworzyłem publiczną treść. Zachęcamy do korzystania z niego :) Pomaga utrzymać cały poddrzewo projektu Magento z dobrymi uprawnieniami.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
Oryginalne pytanie - var i media muszą mieć takie uprawnienia, aby „użytkownik php” mógł czytać i zapisywać w tych folderach. Musi być w stanie zapisywać pamięć podręczną, pliki sesji itp. W var i musi być w stanie zapisywać pamięć podręczną obrazu produktu i obrazy w mediach. Postępuj zgodnie z zaleceniami Phila: chown lub chgrp to dla „użytkownika php” i daj uprawnienia rw „użytkownikowi php”.
Myślę, że bardziej poprawne jest odwoływanie się do „użytkownika php” w kontekście FPM (CGI). Użytkownik serwera WWW może różnić się od tego, który korzysta z PHP.
/ var - magento służy do zapisu pamięci podręcznej, sesji itp.
/ media - magento służy do aktualizacji obrazu produktu, kategorii obrazu (dowolnego typu obrazu).
Tak więc te dwa foldery powinieneś użyć uprawnienia do odczytu i zapisu. Inny plik, którego powinieneś użyć do odczytu + uprawnienia do wykonywania.
Uprawnienie do pliku to 644. Uruchom poniżej kodu w katalogu głównym, używając ssh. odnaleźć .
-type f -exec chmod 644 {} \;
Uprawnienie do folderu to 755. Uruchom poniżej kodu w katalogu głównym, używając ssh. odnaleźć .
-type d -exec chmod 755 {} \;
Uprawnienie do folderu Var wynosi 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.
chmod -R 777 var
Uprawnienie do folderu statycznego to 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.
chmod -R 777 pub/static
Uprawnienie do folderu multimediów to 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.
chmod -R 777 pub/media
Stąd: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php