Saltar la navegación

4.3.- Carpetas de usuario en Apache.

Una vez que has instalado y configurado adecuadamente el servidor Web Apache, puedes crear una página index.html cualquiera y cambiarla por el index.html que se encuentra en “/var/www/”. Este es el lugar donde está ubicado el sitio web general.

Además de esta página, ya se comentó que cada usuario puede tener su espacio web. Este espacio se almacena en la carpeta public_html dentro de su carpeta personal. Puede suceder que esta carpeta no exista, con lo que el propio usuario la puede crear para almacenar en ella su sitio web. Para poder ver el contenido de esta carpeta, tienes que habilitar la funcionalidad del Apache UserDir.

En versiones anteriores de Apache, habilitar la funcionalidad userdir consistía en agregar una línea al archivo de configuración del servicio apache. Pero en versiones posteriores, la parte de UserDir se convirtió en un módulo más, por lo que se hace necesario cargar ese módulo cuando el servidor Apache se inicia, para tener disponibles los directorios de usuario.

En el directorio /etc/apache2/ encontrarás, entre otras cosas, los siguientes ficheros y directorios:

  • Apache2.conf: archivo de configuración de apache.
  • Mods-enabled: contiene los módulos que se activan cuando se inicia Apache.
  • Mods- available: contiene los módulos que se instalaron en el momento de instalar Apache.

Abrimos una ventana de Terminal y entramos en la carpeta mods-available con la siguiente instrucción:

$ cd /etc/apache2/mods-available

Dentro de la carpeta ejecutamos el comando: ls userdir*. Nos debe mostrar dos archivos: userdir.conf y userdir.mod. Estos módulos están disponibles pero no activados. Son los que necesitamos para poder utilizar las carpetas personales de los usuarios. Para activarlos tenemos dos opciones:

1) Con el comando "a2enmod"

$ sudo a2enmod userdir

2) Manualmente: debemos entrar en el directorio mods-enabled y crear enlaces simbólicos hacia estos dos archivos.

Para meternos en el directorio mods-enabled escribimos el comando “cd ../mods-enabled”. Una vez dentro del directorio, ejecutamos el siguiente comando:

$ sudo ln –s /etc/apache2/mods-available/userdir* . (Ojo, no olvides poner el punto final).

El comando anterior crea un enlace simbólico de los archivos userdir que se encuentran en mods-available. El punto final significa que esos enlaces los tiene que crear en la carpeta actual, que se supone es mods-enabled.

El siguiente paso será reiniciar el servidor apache con la siguiente instrucción:

$ sudo systemctl restart apache2

Si todo sale bien, veremos el servicio en estado “enabled”:

$ sudo systemctl status apache2
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Active: active (running) since Sat 2019-12-28 18:53:51 CET; 45s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 5710 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCE
Main PID: 5727 (apache2)
Tasks: 55 (limit: 2331)
Memory: 4.9M
CGroup: /system.slice/apache2.service
├─5727 /usr/sbin/apache2 -k start
├─5728 /usr/sbin/apache2 -k start
└─5729 /usr/sbin/apache2 -k start

Ahora podremos ir a la carpeta “home” de algún usuario, por ejemplo /home/profesor, donde crearemos una carpeta “public_html” que albergará los archivos html del usuario.

profesor@servidordns:~$ pwd
/home/profesor

profesor@servidordns:~$ mkdir public_html

Creamos un archivo “index.html” de la siguiente forma:

profesor@servidordns:~$ pwd
/home/profesor

profesor@servidordns:~$ cd public_html

profesor@servidordns:~/public_html$ pwd
/home/profesor/public_html

profesor@servidordns:~/public_html$ vi index.html

(aquí editaríamos el contenido del archivo. El comando "vi" es el editor de texto clásico de Linux, pero también puedes usar otros editores, como emacs o nano)

profesor@servidordns:~/public_html$ cat index.html 
<!doctype html>
<html>
<head>
<title>Web Profesor</title>
</head>
<body>
<h1>Web del profesor</h1>
<p>Contenido de la web</p>
</body>
</html>

Y ahora podremos acceder a él desde un navegador con la URL

http://ip-del-servidor/~nombre-usuario

En este caso (suponiendo que ya tenemos configurado DNS con el dominio miclase.local:

http://www.miclase.local/~profesor/
Configuracion Apache 02
José A. Jiménez (CC0)



Autoevaluación

Pregunta

¿Cómo se llama el archivo de configuración de Apache?

Respuestas

Apache2.conf.

Es el fichero Hosts.

Son los ficheros que se encuentran en el directorio /mods-enabled.

Ninguna de las otras.

Retroalimentación