Odpowiedzi:
Ja sam dodałbym użytkownika do www-data
grupy za pomocą ...
sudo adduser {username} www-data
Prosty i skuteczny. Bez bałaganu przy użyciu plików konfiguracyjnych lub uprawnień.
Edytuj następujący plik jako root: / etc / apache2 / envvars
za pomocą polecenia:
sudo nano /etc/apache2/envvars
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”:
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=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ąć.
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 go id -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
Pomijając problem „powinieneś to zrobić”, możesz sprawdzić, gdzie jest ustawiony użytkownik apache, uruchamiając:
grep www- /etc/apache2/apache2.conf
Jest to wtedy przypadek edycji tych instancji /etc/apache2/apache2.conf
i przeładowania Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
nie zawiera www-
dla mnie
grep -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}
. Nie www-data
bezpośrednio.
utwórz nową grupę użytkowników webdev
i dodaj www-data
do niej użytkownika.
sudo addgroup webdev
sudo adduser www-data webdev
Następnie dodaj użytkownika do tej grupy i ustaw ją jako domyślną dla swojego użytkownika.
sudo adduser {your-user} webdev
sudo addgroup webdev
Ostatnią rzeczą do zrobienia jest upewnienie się, że grupa webdev ma prawa do plików rwx
sudo chmod 775 -R /path/to/project
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ć.
www-data
grupy, zwłaszcza, że mówimy o środowisku programistycznym?