chrzanek 0 Zgłoś post Napisano Luty 17, 2013 Witam, Jestem żółtodzióbem w tej kwestii jednak przyszło mi zarządzać serwerem VPS postawionym na systemie CentOS a całość zarządzana jest panelem Plesk. Po zainstalowaniu skryptu Prestashop pojawiły się problemy z edycją plików. Część plików mogę edytować a przy części żadna edycja nie odnosi skutku. Szukając rozwiązania problemu w googlach znalazłem informację, że powinienem włączyć obsługę PHP przez FastCGI, co też uczyniłem. NIestety nie pomogło to ani trochę. Nowe pliki wgrywane przez skrypt nadal mają właściciela "apache" i nijak ich ruszyć nie mogę. Zatem proszę Was o pomoc lub chociaż wskazanie ścieżki czego szukać powinienem. Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Luty 18, 2013 (edytowany) Musisz odpalać apache'a czy co tam masz za serwer www + jego interpreter php z poziomu tego samego usera, któremu chcesz dać prawa dostępu. Tymczasową pomocą będzie komenda: chown -hR user:user /path/to/folder Która zmieni folder i wszystkie jego pliki/podfoldery na usera o nazwie user. Co do samego odpalania procesu to wystarczy pogrzebać w opcjach, szukana opcja jest prawie na samej górze. Ewentualnie zawsze możesz zmienić wymagane pliki/foldery na chmod 777, ale odradzam te rozwiązanie z poziomu bezpieczeństwa. Edytowano Luty 18, 2013 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
chrzanek 0 Zgłoś post Napisano Luty 19, 2013 Dzięki za odpowiedź Musisz odpalać apache'a czy co tam masz za serwer www + jego interpreter php z poziomu tego samego usera, któremu chcesz dać prawa dostępu. Co do samego odpalania procesu to wystarczy pogrzebać w opcjach, szukana opcja jest prawie na samej górze. Możesz to trochę rozjaśnić , gdzie ustawiam te opcje? Szukana opcja jest prawie na samej górze czego? Panelu Pleska? Tymczasową pomocą będzie komenda: chown -hR user:user /path/to/folder Która zmieni folder i wszystkie jego pliki/podfoldery na usera o nazwie user. Rzeczywiście pomogło, mogę edytować plik ale za to strona się nie ładuje ( 403 You don't have permission to access / on this server.) Podejrzewam, że ma to związek z powyższym czyli odpaleniem Apache jako właściwy user, więc chyba nie jest to tymczasowe rozwiązanie Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Luty 20, 2013 Dobra, to wróćmy na chwilę do podstaw linuxa . Masz proces, który przyjmuje od userów pliki, tworzy je na dysku, z racji że je tworzy to tworzy je z defaultowym chmodem 644 oraz tym samym ownerem, spod którego jest odpalany (www-data). Strona działa bo dla apache'a wszystko jedno kto jest ownerem, wystarczy że ma chmod xx4 bądź wyższy i sobie działa, problem jest jak chce coś zapisać bądź zmodyfikować. Skoro masz error 403 to oznacza, że apache nie może się dostać do danego pliku/folderu, żeby wyświetlić go userowi. Tak jak pisałem masz kilka rozwiązań. a) Zmienić workera apache'a (oraz workera PHP, jeśli odpalasz go z poziomu innego niż mod_php) na tego samego usera, który jest ownerem plików. Nie mam już apache'a na serwerach, ale będzie to pewno standardowy plik /etc/apache2/apache2.conf i linijka: user www-data; bądź podobna. Oczywiście zmieniamy to na usera i restartujemy usługę z poziomu service apache2 restart. b) Zmienić ownera wszystkich plików na www-data, to jest dokładnie powyższa metoda, tylko działająca w drugą stronę. Root nadal będzie mógł edytować pliki, a apache miał pełnię praw do niego. c) (OBSOLETE) Nadać chmody 777 plikom, do których apache musi się dostać, wtedy owner jest nieważny. P.S. Przypominam, że apache do plików ze standardowym chmodem 644 powinien móc się dostać tak czy siak, więc nie wiem czemu dostajesz error forbidden, wygląda na to że coś jest skopane z chmodami bądź ownerami. PP.S. Powinieneś się w to nie bawić i zdać się na plesk'a, on ma opcję tworzenia stron apache'a i zarządzania nimi, skoro go masz to możesz zacząć go używać . Udostępnij ten post Link to postu Udostępnij na innych stronach