Logo
You
Code

VirtualHost , dar permisos correctos a las carpetas

Autor YouCode - http://www.youcode.com.ar/apache2/virtualhost--dar-permisos-correctos-a-las-carpetas-127

Exiten dos usuarios básicos cuyos permisos debemos configurar para el adecuado funcionamiento de los sitios web, ejecución de aplicaciones y almacenamiento de archivos.

Los usuarios serian:

1-El dueño del sitio
2-Usuario de apache2

En Ubuntu, y distribuciones Debian de Linux, el usuario del servidor web Apache normalmente se llama www-data y debe encontrarse en el grupo www-data. En otras distribuciones de Linux se llama nobody o apache.

Este usuario www-data debe tener acceso a los directorios públicos del sitio web para poder leer y mostrar sus contenidos.
Para facilitar la administración del sitio web, adicionamos el usuario administrativo al grupo www-data...
sudo usermod -a -G www-data usuario-admin
Si estamos accediendo el servidor como el usuario-admin, podemos verificar que ha sido adicionado al grupo escribiendo...
groups
Si hemos seguido las instrucciones correctamente desde el principio hasta acá, nuestro usuario debe ser miembro de sudo y www-data y el comando anterior debe listar su nombre, seguido de ambos grupos.

Si no lo hemos creado, según la estructura propuesta en el paso anterior, podemos proceder a crear el directorio public_html dentro del directorio de nuestro usuario en /home:
mkdir ~/public_html
También podemos escribir mkdir /home/usuario-admin/public_html, donde usuario-admin es el nombre del usuario con el que estamos trabajando.

De acuerdo a lo propuesto y para continuar con el ejemplo del paso siguiente, creamos también un directorio para albergar los logs o registros del servidor. Este directorio no tiene requerimientos especiales de seguridad, ya que los registros los escribe el usuario raíz o root. Sí debemos asegurarnos de que no esté bajo la ruta de archivos visibles en la web.
mkdir ~/logs
A continuación, debemos asegurarnos de que nuestro directorio web public_html es parte del grupo www-data de Apache:
sudo chgrp -R www-data /home/usuario-admin/public_html
Otorgamos los permisos adecuados para que el directorio web y los archivos y directorios creados dentro del mismo sean visibles en la web, usamos el comando...
sudo chmod -R 2755 /home/usuario-admin/public_html
Con esto tenemos configurado los permisos, usuarios y grupos para mostrar y ejecutar adecuadamente sitios web en Apache.
http://www.youcode.com.ar/apache2/virtualhost--dar-permisos-correctos-a-las-carpetas-127