Risposte:
Io stesso aggiungerei l'utente al www-datagruppo 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 -gper 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.confe ricaricare Apache ( sudo /etc/init.d/apache2 reload).
apache2.confnon 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.confcerca ${APACHE_RUN_USER}e ${APACHE_RUN_GROUP}. Non www-datadirettamente
creare un nuovo webdevgruppo www-datautenti 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-datagruppo, specialmente perché stiamo parlando di un ambiente di sviluppo?