Configuración servidor Web en Linux I

El servidor de páginas web por excelencia es Apache, sobretodo su implementación sobre una máquina Linux. En este post vamos a ver algunas configuraciones básicas, mientras que en posts posteriores iremos añadiendo prestaciones a dicho servidor.

Nos basaremos en una máquina Ubuntu 12.04 Server. Podemos instalar únicamente el servidor Apache (apt-get install apache2) o instalar todo el servicio LAMP (Apache, MySQL y PHP) para disponer de un servidor que nos permitirá utilizar php y bases de datos.

Para instalar LAMP la forma más sencilla es:

# tasksel

Cuando aparece el menú de selección de programas, marcamos el LAMP server:

lamp01A continuación el sistema comenzará a bajar los paquetes necesarios. Nos aparecerá una pantalla donde se nos pedirá introducir un password para el usuario root en el gestor de BD MySQL:

lamp02

 Nos pedirá confirmación de dicho password y finalizará la instalación del resto de paquetes. Podemos comprobar que el servicio funciona correctamente, poniendo la IP del servidor en el navegador de un equipo cliente.

lamp03Una de las características que deseamos en un servidor web, es la posibilidad de alojar diferentes sites. Es lo que llamamos virtualhost y ahora con Apache es extremadamente sencillo de gestionar. En la carpeta /etc/apache2/sites-avalaible tendremos los archivos de configuración de los diversos hosts que deseemos crear.

Por otro lado y aunque podemos en principio utilizar cualquier ubicación, crearemos las carpetas correspondientes a cada dominio en /var/www. Por ejemplo si queremos crear dos dominios, haremos:

# mkdir /var/www/domini1

# mkdir /var/www/domini2

Dentro de cada una de las carpetas, crearemos la estructura del site desado, con al menos un archivo index.html.

Ahora, vamos a crear el archivo de configuración para cada dominio, para ello iremos a la ruta /etc/apache2/sites-available y copiaremos el archivo default para crear dos archivos (uno para cada site):

# cp default domini1

# cp default domini2

Editaremos los archivos domini1 y domini2 para configurar el site, indicando el nombre del dominio (ServerName), los alias que aceptará (ServerAlias), la ruta principal del dominio y la IP y puerto por el que aceptará las peticiones. En este caso, escuchará por todas las IP y aceptará peticiones por el puerto 80.

lamp04Ahora aplicaremos los cambios, para ello ejecutaremos el comando a2ensite nombre_archivo, que comprueba el archivo de configuración y si es correcto lo copia en la carpeta /etc/apache2/sites-enabled, donde se encuentran los archivos habilitados y en funcionamiento. Por último, recargaremos el servicio para actualizar los cambios:

# a2ensite domini1.local

#a2ensite domini2.local

# service apache2 reload

Óbviamente, si queremos que los clientes puedan acceder a estos sites, debemos dar de alta los dominios y los correspondientes registros en los DNS, o para hacer pruebas, editar el archivo de hosts de los clientes (Linux o Windows).

Si queremos que un determinado site utilice un puerto diferente al 80, debemos realizar dos acciones: en primer lugar, en el archivo de configuración del site, pondremos el puerto deseado, por ejemplo el 8080, en lugar del puerto 80.

lamp05En segundo lugar, debemos decirle al servicio de Apache que también debe escuchar por el puerto 8080, para ello, editaremos el archivo /etc/apache2/ports.conf y añadir las líneas:

Listen 8080

Name VirtualHost *:8080

En la primera le decimos que debe escuchar por el puerto 8080. La segunda sirve para decirle que el sistema de virtualhost también funcione para ese puerto.

Una vez realizadas estas acciones, debemos habilitar el site (comando a2ensite) si es la primera vez que se crea el site. Caso que modifiquemos un site ya creado, basta con editar el archivo de sites-enabled en lugar del de sites-available y a continuación recargar el servicio de apache.

lamp06

En próximos post veremos el tema de las páginas seguras en nuestro servidor.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s