Myślę, że w przypadku maszyny programistycznej wygodniej jest uruchomić Apache jako bieżącego użytkownika, aby uprościć problem z uprawnieniami? W jaki sposób mogę to zrobić? Myślę, że to suexec, ale jak skonfigurować go w Ubuntu + Apache?
permissions
apache2
Jiew Meng
źródło
źródło
Edytuj następujący plik jako root: / etc / apache2 / envvars
za pomocą polecenia:
zmień użytkownika i grupę na siebie, jeśli jest tylko jeden użytkownik i nigdy więcej nie będziesz mieć problemów z uprawnieniami.
IE, jeśli logujesz się tylko i uruchamiasz serwer jako użytkownik „big_dog”:
Cholera, jeśli chodzi o tę sprawę, możesz zmienić tego użytkownika na obecnego. Następnie zainstaluj katalog_użytkownika, który ma wszystkie strony internetowe, nad którymi możesz mieć pełną kontrolę (chyba że zmodyfikujesz to).
Uruchom ponownie serwer (jeśli nie jesteś pewien, po prostu uruchom ponownie lub uruchom goole) i możesz zacząć.
źródło
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
dawałem identyfikator użytkownika i podobnie używałem goid -g
dla grupy, a na końcu wezwałem apache do uruchomienia.dlaczego miałbyś to zrobić? W przeszłości borykałem się z tymi problemami z permem, ale oto mój proces twórczy od dziś:
sudo apt-get install lamp-server^
proc, aby zapalić lampęUtwórz link do mojego katalogu domowego, w którym projekty są takie:
ln -s /home/user/html /var/www/html
uczyń sym link do pliku konfiguracyjnego hosts
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
Otóż to :)
Działa zgodnie z oczekiwaniami, bez problemów z perm perms lub coś podobnego z serwerem Apache ,, dla mysql mam trochę dłuższy proces ..
hth, na zdrowie
źródło
Pomijając problem „powinieneś to zrobić”, możesz sprawdzić, gdzie jest ustawiony użytkownik apache, uruchamiając:
Jest to wtedy przypadek edycji tych instancji
/etc/apache2/apache2.conf
i przeładowania Apache (sudo /etc/init.d/apache2 reload
).źródło
apache2.conf
nie zawierawww-
dla mniegrep -HR "www-" /etc/apache2/
. Jeśli już wiesz, że znajduje się w apache2.conf, po prostu edytuj ten plik. W moim przypadku nie było go, ale w / etc / apache2 / envvars, jak wskazuje odpowiedź Erica.apache.conf
szuka${APACHE_RUN_USER}
i${APACHE_RUN_GROUP}
. Niewww-data
bezpośrednio.utwórz nową grupę użytkowników
webdev
i dodajwww-data
do niej użytkownika.Następnie dodaj użytkownika do tej grupy i ustaw ją jako domyślną dla swojego użytkownika.
Ostatnią rzeczą do zrobienia jest upewnienie się, że grupa webdev ma prawa do plików rwx
Teraz jedyną rzeczą, która może się zdarzyć, jest to, że np. Www-data tworzy nowy plik dziennika i nie można go wysłać.
źródło
www-data
grupy, zwłaszcza, że mówimy o środowisku programistycznym?