Risposte:
Io stesso aggiungerei l'utente al www-data
gruppo con ...
sudo adduser {username} www-data
Semplice ed efficace Nessun pasticcio con file di configurazione o autorizzazioni.
Modifica il seguente file come root: / etc / apache2 / envvars
usando il comando:
sudo nano /etc/apache2/envvars
cambia l'utente e il gruppo a te stesso se esiste un solo utente e non avrai mai più problemi con le autorizzazioni.
IE, se si accede e si esegue il server solo come utente 'big_dog':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Cavolo, del resto potresti cambiare quell'utente con l'utente attuale, ne sono sicuro in qualche modo. Quindi, installa user_dir hai tutti i web solo tu puoi avere il pieno controllo (a meno che tu non lo modifichi).
Riavvia il server (se non sei sicuro, riavvia o goole) e sei a posto.
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)
per fornire l'id utente e usare allo stesso modo id -g
per il gruppo nello script e alla fine ho chiamato apache per l'esecuzione.
perché dovresti farlo, stavo lottando con quei problemi di perm in passato, ma questo è il mio processo di sviluppo da oggi:
sudo apt-get install lamp-server^
proc standard per accendere la lampadacrea un collegamento sym alla mia home directory dove i progetti sono così:
ln -s /home/user/html /var/www/html
crea un collegamento sym al file di configurazione degli host
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
questo è tutto :)
Funziona come previsto, nessun problema con i permessi degli utenti o qualcosa di simile con il server Apache, per mysql ho un processo un po 'più lungo ..
eh, evviva
Evitando il problema "dovresti farlo", puoi trovare dove è impostato l'utente per apache eseguendo:
grep www- /etc/apache2/apache2.conf
È quindi il caso di modificare quelle istanze /etc/apache2/apache2.conf
e ricaricare Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
non contiene www-
per me
grep -HR "www-" /etc/apache2/
. Se sai già che è in apache2.conf, modifica semplicemente quel file. Nel mio caso, non era lì, ma in / etc / apache2 / envvars come sottolinea la risposta di Eric.
apache.conf
cerca ${APACHE_RUN_USER}
e ${APACHE_RUN_GROUP}
. Non www-data
direttamente
creare un nuovo webdev
gruppo www-data
utenti e aggiungere l' utente ad esso.
sudo addgroup webdev
sudo adduser www-data webdev
Quindi vai avanti e aggiungi il tuo utente a quel gruppo e rendilo il gruppo predefinito per il tuo utente.
sudo adduser {your-user} webdev
sudo addgroup webdev
L'ultima cosa da fare è assicurarsi che il gruppo webdev abbia i diritti rwx sui file
sudo chmod 775 -R /path/to/project
Ora l'unica cosa che può accadere è che, ad esempio, www-data crea un nuovo file di registro e non è possibile rwx.
www-data
gruppo, specialmente perché stiamo parlando di un ambiente di sviluppo?