En la empresa BK programación, Ada ha solicitado a María la instalación de un servidor web para albergar, entre otras cosas, la wiki que Juan, junto con sus amigos, está construyendo.
María debe instalar el servidor Apache debido a que es uno de los más empleados. Se trata de una herramienta de código libre y que funciona en multitud de plataformas; en este caso, será instalado en una máquina Debian 6.0.1 Squeeze, quedando el servidor totalmente operativo.
Vamos a realizar la instalación de un servidor Apache en una máquina con la distribución Ubuntu 20.04 LTS. Dicha máquina puede ser una máquina real, una máquina virtual o un contenedor.
Empezamos por identificarnos en la máquina con el usuario root y, a continuación, ejecutamos:
Debido a que pretendemos montar una plataforma LAMP, por sus ventajas derivadas de las características del software libre, instalaremos también los siguientes componentes: MySQL y PHP.
También es buena idea hacer que Apache arranque autiomáticamente:
# systemctl enable apache2
Una vez instalado, para verificar si funciona, podemos hacerlo desde un navegador, escribiendo en la barra de direcciones http://localhost o http://127.0.0.1, o bien, si accedemos desde otro equipo de la red a la dirección IP de esta máquina, deberíamos obtener una página similar a la siguiente:
Por defecto, Apache sirve las páginas web que están en la carpeta "/var/www/html/"; si nos situamos en esa carpeta, encontramos un archivo "index.html" que es el que contiene la página por defecto de Apache. En esta carpeta podemos crear nuevas carpetas en donde ubicaremos nuevas páginas web que deseamos servir, todas ellas accesibles a través del puerto 80.
Si la única pretensión es servir una página web, podemos integrar su contendido aquí. En caso que se pretenda servir más páginas web, es más recomendable la utilización de los Hosts Virtuales; para ello accedemos a la carpeta "/etc/apache2/sites-enabled", donde hay un fichero llamado "000-default", que nos va a servir de ejemplo para la creación de hosts virtuales, los cuales van a permitir servir varias web desde una sola dirección IP utilizando para cada una un puerto distinto.
Apache se configura colocando directivas en archivos de configuración de texto plano. El archivo principal de configuración se llama apache2.conf. Además, se pueden añadir otros archivos de configuración mediante la directiva "Include", y se pueden usar comodines para incluir muchos archivos de configuración. Todas las directivas deben colocarse en alguno de esos archivos de configuración. Apache2 sólo reconocerá los cambios realizados en los archivos principales de configuración cuando se inicie o se reinicie.
Como ya hemos comentado, el archivo de configuración predeterminado de Apache2 es /etc/apache2/apache2.conf. Se puede editar este archivo para configurar el servidor Apache2, para configurar el número de puerto, la raíz de documentos, los módulos, los archivos de registros, los hosts virtuales, etc. Pasamos a ver alguna de las principales directivas:
ServerTokens, para configurar la cantidad de información que Apache aporta sobre sí mismo.
ServerSignature, para indicar datos sobre Apache en el pie de los mensajes de error.
Aliaspermite direccionar a una carpeta que puede estar fuera del árbol de directorios especificado en DocumentRoot.
userDirpermite redireccionar al directorio personal del usuario si se recibe una solicitud de tipo ~usuario.
Para modificar el servidor virtual predeterminado, editamos el archivo /etc/apache2/sites-available/default. En el caso de querer configurar un nuevo servidor o sitio virtual, copiaríamos ese archivo dentro del mismo directorio con el nombre que se haya elegido, y editaríamos el nuevo archivo para configurar el nuevo sitio usando algunas de las directivas que se describen a continuación:
ServerName, en el caso de no tener un dominio registrado emplearíamos localhost.
CustomLogdefine el archivo .log donde se guardan los logs de acceso.
ServerAdminespecifica la dirección de correo del administrador del servidor. El valor por omisión es webmaster@localhost.
Listenespecifica el puerto (y, opcionalmente, la dirección IP) por el que escuchará Apache2. La directiva se puede encontrar y cambiar en su propio archivo de configuración, /etc/apache2/ports.conf.
DocumentRootespecifica dónde Apache debe buscar los archivos que forman el sitio. El valor predeterminado es /var/www.
RedirectMatchen en/etc/apache2/apache2.conf, las peticiones se redirigirán a /var/www/apache2-default, que es donde reside el sitio predeterminado de Apache2. Cambiar este valor en el archivo de host virtual implica crear ese directorio si fuese necesario.
Debes conocer
A continuación se exponen brevemente dos aplicaciones fundamentales para la gestión de servidores en general y LAMP en particular. phpMyAdmin y Webmin. Su instalación es muy recomendable en el caso de que gestionemos nuestros propios servidores Web. en el caso de que usemos un proveedor de alojamiento, normalemente ya tendremos phpMyAdmin, aunque no Webmin ya que la administración del sistema correrá de su parte.
phpMyAdmin
phpMyAdmin es una herramienta fundamental en los servidores LAMP para configurar el servidor MySQL. Nos permite configurar prácticamente todos los aspectos de MysSQL de manera remota a la vez que mantiene la facilidad de uso de una interfaz gráfica.
Al tener una interfaz Web, podemos acceder desde un navegador sin tener que instalar nigún software específico adicional.
Webmin es una herramienta de configuración de sistemas accesible vía web. Nos permite configurar prácticamente todos los servicios de nuestros servidores de manera remota a la vez que mantiene la facilidad de uso de una interfaz gráfica.
Al ser modular, podemos adaptar la instalación a prácticamente cualquier configuración de ervidores que tengamos, cargando los módulos correspondientes. Por otro lado, al tener una interfaz Web, podemos acceder desde un navegador sin tener que instalar nigún software específico adicional.