Cómo instalar y configurar LAMP en Debian 8 (Jessie)


Una de las cosas más importantes para configurar un servidor Linux es con el propósito de implementar un sitio web. Según la encuesta de febrero de 2016 de NetCraft.com de los 1 millones de sitios web más activos del mundo, aproximadamente 49.90% de ellos se ejecutan en Apache .

Este tutorial le guiará a través de los conceptos básicos de instalación y configuración de un servidor Linux (específicamente Debian 8 Jessie ) para funcionar como un servidor LAMP .

En el mundo informático LAMP , el acrónimo de Linux (aquí utilizando Debian 8 ), Apache , MySQL y PHP ( LAMP ).

LAMP se usa comúnmente para hacer referencia a la pila de software (específicamente MySQL y PHP ) en un servidor web.

Antes de sumergirse en los aspectos de configuración, es importante conocer el servidor web Apache.

Apache fue uno de los servidores web "originales" y se remonta a sus inicios en 1995. Apache todavía se usa ampliamente en la actualidad y se beneficia de la longevidad, grandes cantidades de documentación y toneladas de módulos para agregar flexibilidad.

Instalando y Configurando un MySQL y PHP

1. Esta primera parte describirá a Debian como un servidor MySQL y PHP . El segmento de Linux de LAMP ya debería hacerse instalando Debian 8 mediante el siguiente artículo en TecMint:

  1. Installation of Debian 8 Jessie

Una vez que Debian esté listo, ahora es el momento de instalar el software necesario utilizando el metapaquetador " apt "

# apt-get install mysql-server-5.5 php5-mysql php5

Durante la operación de instalación, el sistema puede pedirle que establezca una contraseña de usuario root de MySQL.

2. Después de que finalice la instalación de MySQL y PHP , a menudo se recomienda asegurar la instalación de MySQL usando la utilidad mysql_secure_installation .

Una vez que ejecute el siguiente comando, le pedirá al usuario que elimine elementos como los usuarios anónimos, las bases de datos de prueba y el inicio de sesión remoto de los usuarios remotos en la base de datos SQL.

# mysql_secure_installation

Como ya establecimos la contraseña de root de MySQL durante la instalación de MySQL, simplemente ingrese esa contraseña para realizar cualquier cambio.

3. El siguiente conjunto de preguntas será para eliminar usuarios anónimos, la base de datos " prueba " y eliminar el acceso remoto a la base de datos.

4. Ahora que MySQL está configurado, avancemos para hacer algunas configuraciones básicas de PHP para este servidor en particular. Si bien hay un montón de configuraciones que se pueden configurar para PHP, pero haremos algunas básicas que casi siempre son necesarias.

El archivo de configuración de php abierto se encuentra en /etc/php5/apache2/php.ini .

# vi /etc/php5/apache2/php.ini

Ahora busque la cadena " memory_limit " y aumente el límite según sus necesidades de aplicación.

Otra configuración importante que se debe verificar es " max_execution_time " y, de nuevo, se establecerá de forma predeterminada en 30 Si una aplicación requiere más esta configuración se puede cambiar.

En este punto, MySQL y PHP5 están listos para comenzar a alojar sitios. Ahora es el momento de configurar Apache2.

Instalando y Configurando Apache2

6. Ahora es el momento de configurar Apache 2 para finalizar la configuración del servidor LAMP . El primer paso para configurar Apache2 es instalar el software utilizando el metapackager apt .

# apt-get install apache2

Esto instalará todos los archivos y dependencias necesarios para Apache2. Una vez instalado, el servidor web Apache estará activo y servirá una página web predeterminada. Hay varias formas de confirmar que el servidor web Apache está en funcionamiento. La opción más fácil es usar la utilidad lsof:

# lsof -i :80

La otra opción es simplemente navegar a la dirección IP del servidor web. Suponiendo una instalación predeterminada de Debian, es probable que el sistema esté configurado para usar DHCP para obtener una dirección IP automáticamente. Para determinar la dirección IP del servidor, se puede usar una de las dos utilidades. Cualquier utilidad funcionará en esta situación.

# ip show addr			[Shown below in red]
# ifconfig			[Shown below in green]

Independientemente de la utilidad utilizada, la dirección IP obtenida se puede ingresar en un navegador web en una computadora en la misma red para confirmar que Apache está mostrando la página predeterminada.

En este punto, Apache está en funcionamiento. Si bien la página predeterminada de Debian es un sitio web llamativo, la mayoría de los usuarios querrán alojar algo personalizado. Los siguientes pasos lo guiarán a través de la configuración de Apache 2 para alojar un sitio web diferente.

7. Debian ha empaquetado algunas utilidades útiles para administrar sitios y módulos. Antes de repasar cómo usar estas utilidades, es importante entender las funciones que sirven.

  1. a2ensite: This utility is used to enable a website after the appropriate configuration file has been created.
  2. a2dissite: This utility is used to disable a website by specifying the website’s configuration file.
  3. a2enmod: This utility is used to enable extra Apache2 modules.
  4. a2dismod: This utility is used to disable extra Apache2 modules.
  5. a2query: This utility can be used to gather information about sites currently enabled.

Primero vamos a reunir algo de experiencia con los dos primeros. Dado que Apache 2 está alojando actualmente la ‘ página web predeterminada 'vamos a seguir adelante y deshabilitarla con a2dissite .

# a2dissite 000-default.conf

Este comando deshabilitará el sitio web de Apache predeterminado que se ve en la captura de pantalla anterior. Sin embargo, para que los cambios surtan efecto, la configuración de Apache 2 debe volver a cargarse.

# service apache2 reload

Este comando le indicará a Apache 2 que actualice los sitios habilitados/deshabilitados que actualmente alberga. Esto se puede confirmar intentando conectarse a la dirección IP del servidor web nuevamente y notando que no se muestra nada (algunas computadoras almacenarán información en caché, si la máquina aún muestra el sitio web predeterminado después de ejecutar los dos comandos anteriores, intente borrar la web caché de los navegadores). Otra opción para confirmar que el sitio ya no está habilitado es usar la utilidad a2query .

# a2query -s

Hay muchas cosas en esta captura de pantalla, así que vamos a desglosar las cosas. El cuadro verde de arriba es a2query -s , que le indica a Apache 2 que indique qué sitios están siendo atendidos actualmente.

El cuadro amarillo es a2dissite 000-default.conf seguido por el servicio apache2 reload. Estos dos comandos le indican a Apache 2 que deshabilite el sitio predeterminado y luego vuelva a cargar los sitios activos/inactivos.

El cuadro rojo es a2query -s que se está emitiendo nuevamente, pero observe que esta vez Apache responde que no se está sirviendo nada. Vamos a caminar a través de la creación de un sitio no predeterminado ahora. El primer paso es cambiar al directorio de configuración de Apache 2 que es /etc/apache2 mediante la utilidad cd .

# cd /etc/apache2

Hay varios archivos y directorios importantes en este directorio, sin embargo, por razones de brevedad, solo se cubrirán las necesidades aquí. Lo primero que debe hacer al configurar un nuevo sitio es crear un nuevo archivo de configuración en el directorio " sitios-disponibles ". Cambie los directorios al directorio " sites-available " y luego cree un nuevo archivo de configuración.

# cd sites-available
# cp 000-default.conf tecmint-test-site.conf

Esto copiará la configuración del sitio predeterminado en el nuevo archivo de configuración del sitio para su posterior modificación. Abra la nueva página de configuración del sitio con un editor de texto.

# nano tecmint-test-site.conf

Dentro de este archivo hay una línea muy importante para alojar un sitio web, esa línea es la línea " DocumentRoot ". Esta línea le dice a Apache dónde están los archivos web necesarios que deben servir cuando llegan las solicitudes de recursos particulares. Por ahora, esta línea se establecerá en un directorio que no existe, pero en breve contendrá un sitio web simple para que este servidor de Debian se muestre.

DocumentRoot /var/www/tecmint

Guarde los cambios en este archivo y salga del editor de texto. Ahora, el directorio del cual Apache 2 fue dicho para servir archivos debe ser creado y llenado con archivos. Si bien este artículo funcionará con archivos HTML, posiblemente no hay tiempo suficiente para leer cómo crear un sitio web que funcione completamente y deja ese proceso al lector. Así que vamos a crear el directorio para que Apache sirva y agregarle una página web html básica llamada ‘ index.html ‘.

# mkdir /var/www/tecmint
# touch /var/www/tecmint/index.html
# echo “It's ALIVE!” >> /var/www/tecmint/index.html

Los comandos anteriores crearán un nuevo directorio llamado " tecmint ", así como un nuevo archivo llamado " index.html " en el directorio tecmint.

El comando echo colocará algo de texto en ese archivo para que en realidad muestre algo en el navegador web cuando Apache sirva el sitio web.

rojo

# a2ensite tecmint-test-site.conf
# service apache2 reload
# a2query -s tecmint-test-site.conf

El último comando anterior simplemente confirmará que Apache2 está sirviendo al sitio web recién creado. En este punto, navegue de nuevo en un navegador web a la dirección IP del servidor y vea si se está mostrando el sitio web recién creado (de nuevo, a las computadoras les gusta almacenar datos en caché y, por lo tanto, pueden ser necesarias varias actualizaciones para obtener la nueva página web).

Si se muestra el sitio " ¡Está VIVO! ” recién creado, Apache 2 se ha configurado con éxito y muestra el sitio web. ¡Felicidades! Si bien esta es una configuración simple que prepara un servidor LAMP de Linux para alojar un sitio, hay cosas mucho más complejas que se pueden hacer y la configuración depende en gran medida de ese objetivo final.