Está en la página 1de 2

Permisos de Usuarios y Directorios para Sitios Web en Apache

By Carlos Miranda Levy - Posted on 12 Abril 2010


Exiten dos usuarios básicos cuyos permisos debemos configurar para el adecuado fun
cionamiento de los sitios web, ejecución de aplicaciones y almacenamiento de archi
vos:
* el usuario dueño del sitio.
* el usuario Apache.
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 p
ara poder leer y mostrar sus contenidos.
Para facilitar la administración del sitio web, adicionamos el usuario administrat
ivo al grupo www-data...
sudo usermod -a -G www-data usuario-admin
Si estamos accediendo el servidor como el usuario-admin, podemos verificar que h
a sido adicionado al grupo escribiendo...
groups
Si hemos seguido las instrucciones correctamente desde el principio hasta acá, nue
stro usuario debe ser miembro de sudo y www-data y el comando anterior debe list
ar 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 usua
rio en /home:
mkdir ~/public_html
También podemos escribir mkdir /home/usuario-admin/public_html, donde usuario-admi
n es el nombre del usuario con el que estamos trabajando.
De acuerdo a lo propuesto y para continuar con el ejemplo del paso siguiente, cr
eamos 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 rut
a de archivos visibles en la web.
mkdir ~/logs
A continuación, debemos asegurarnos de que nuestro directorio web public_html es p
arte 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 dir
ectorios creados dentro del mismo sean visibles en la web, usamos el comando...
sudo chmod -R 2755 /home/usuario-admin/public_html
Si lo deseamos, podemos crear un directorio en el cual puedan almacenarse y grab
ar archivos, por ejemplo con el nombre de files y otorgar los permisos adecuados
. Pero este paso no es necesario ahora, ya que luego tendremos una estructura di
ferente para Drupal y deberemos crear un directorio de archivos en una ubicación d
istinta como veremos en el paso Instalación y configuración de Drupal.
mkdir ~/public_html/files
sudo chmod -R 2775 /home/usuario-admin/public_html/files
El 2 hace que sea permanente el permiso para los archivos creados en el futuro,
el primer 7 da todos los permisos al usuario dueño del archivo, el segundo 7 da to
dos los permisos a los usuarios del grupo al cual pertenece el dueño (www-data de
Apache) y el 5 indica permisos de lectura (r) y ejecución (x), pero no de escritur
a (w), para el resto del mundo.
Con esto hemos configurado los permisos, usuarios y grupos para mostrar y ejecut
ar adecuadamente sitios web en Apache.

También podría gustarte