Respuestas:
Yo mismo agregaría el usuario al www-data
grupo con ...
sudo adduser {username} www-data
Simple y efectivo. No te metas con archivos de configuración o permisos.
Edite el siguiente archivo como root: / etc / apache2 / envvars
usando el comando:
sudo nano /etc/apache2/envvars
cambie el usuario y el grupo a sí mismo si solo hay un usuario y nunca más tendrá problemas de permisos.
IE, si solo inicia sesión y ejecuta el servidor como usuario 'big_dog':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Diablos, para el caso, podrías cambiar a ese usuario al usuario actual, estoy seguro de alguna manera. Luego, instale user_dir, todos tienen webs de las que solo usted puede tener control total (a menos que modifique esto).
Reinicie el servidor (si no está seguro, simplemente reinicie o goole) y ya está listo.
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)
dar la identificación de usuario y usar de manera similar id -g
para group en el script y al final llamé a apache para que se ejecutara.
¿por qué harías esto? Estaba luchando con los problemas de perm en el pasado, pero este es mi proceso de desarrollo desde hoy:
sudo apt-get install lamp-server^
proceso estándar para encender la lámparacrea un enlace simbólico a mi directorio de inicio donde los proyectos son así:
ln -s /home/user/html /var/www/html
hacer un enlace sym al archivo de configuración de hosts
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
Eso es :)
Funciona como se esperaba, no hay problemas con permisos de usuario o algo similar con el servidor apache, para mysql tengo un proceso un poco más largo.
hth, salud
Pasando por alto el problema "debería hacer esto", puede encontrar dónde está configurado el usuario para apache ejecutando:
grep www- /etc/apache2/apache2.conf
Entonces se trata de editar esas instancias /etc/apache2/apache2.conf
y volver a cargar Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
no contiene www-
para mí
grep -HR "www-" /etc/apache2/
. Si ya sabe que está en apache2.conf, simplemente edite ese archivo. En mi caso, no estaba allí, pero en / etc / apache2 / envvars como señala la respuesta de Eric.
apache.conf
busca ${APACHE_RUN_USER}
y ${APACHE_RUN_GROUP}
. No www-data
directamente
crear un nuevo grupo de usuarios webdev
y agregarle el www-data
usuario.
sudo addgroup webdev
sudo adduser www-data webdev
Luego, continúe y agregue su usuario a ese grupo y conviértalo en el grupo predeterminado para su usuario.
sudo adduser {your-user} webdev
sudo addgroup webdev
Lo último que debe hacer es asegurarse de que el grupo webdev tenga derechos rwx en los archivos
sudo chmod 775 -R /path/to/project
Ahora, lo único que puede ocurrir es que, por ejemplo, www-data crea un nuevo archivo de registro y no puede rwx.
www-data
grupo, especialmente porque estamos hablando de un entorno de desarrollo?