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


Una de las razones más comunes para configurar un sistema Linux es con el propósito de alojar un sitio web. Según la encuesta de febrero de 2016 de NetCraft.com de los 1 millón de sitios web más activos del mundo, aproximadamente 15.60% de ellos se ejecutan en Nginx .

Combinado con la alta probabilidad de que se sirva algún tipo de contenido dinámico, así como algún tipo de base de datos de back-end para los sitios web, la capacidad de un administrador para poder configurar servidores LEMP es muy beneficioso para los solicitantes de empleo y los empleadores a gusto!

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 LEMP .

Gran pregunta Como con la mayoría de las cosas en el mundo de la computación, LEMP es el acrónimo de Linux, Nginx, MySQL y PHP .

Este acrónimo se usa comúnmente para hacer referencia a colecciones de software en un servidor web. Este tutorial le ayudará a configurar LEMP , específicamente MySQL y PHP .

Antes de separarse en los aspectos de configuración de los sistemas, es importante conocer Nginx .

Nginx comenzó su vida en 2002 cuando el mundo de la computación comenzó a darse cuenta de que los sitios web con diez mil o más conexiones concurrentes eran una posibilidad muy real y, como resultado, Nginx se creó desde cero para solucionar este problema.

Instalando y Configurando un MySQL y PHP

1. Esta primera sección cubrirá Debian como un servidor MySQL y PHP . ¡La parte de Linux del servidor LEMP ya debería hacerse instalando Debian! Sin embargo, si necesita una guía sobre cómo instalar Debian, lea el siguiente artículo en TecMint:

  1. Installation of Debian 8 Jessie

Una vez que Debian esté listo para comenzar, el proceso de instalación del resto del software necesario se puede completar con un comando rápido utilizando el metapaquetador " apto ".

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

Dependiendo del hardware del sistema y de la conexión a Internet, este proceso podría llevar algún tiempo. En el momento de redactar este documento, una instalación nueva de Debian Jessie con todas las actualizaciones aplicadas requiere alrededor de 70MB de los archivos de los repositorios (¡no es tan malo teniendo en cuenta lo que hará el servidor cuando todo esté listo)! Durante el proceso de instalación, el sistema puede solicitar al usuario que establezca una contraseña de usuario root de SQL. Esto es diferente a la contraseña del usuario root real y por razones de seguridad, probablemente debería seguir siendo diferente.

2. Una vez que apt termine de instalar todo el software, los servicios básicos estarán en funcionamiento. Sin embargo, detenerse aquí sería un tutorial muy corto. Así que analicemos un poco más la configuración de cada una de las piezas de software instaladas a partir de MySQL.

3. Después de la instalación de MySQL , a menudo se recomienda que el servidor SQL tenga un mantenimiento básico en la instalación predeterminada. Esto se logra fácilmente con la utilidad mysql_secure_installation .

Este comando simplemente se ejecuta desde la línea de comandos y le pedirá al usuario que elimine elementos como los usuarios anónimos, las bases de datos de prueba y la capacidad de inicio de sesión del usuario root remoto en la base de datos SQL.

# mysql_secure_installation

Este comando iniciará una solicitud interactiva que hará preguntas sobre los temas anteriores. Dado que apt ya solicitó una contraseña de root de MySQL, se deberá ingresar esa contraseña para realizar cualquier cambio. Como la contraseña de root ya estaba establecida, No puede ser la respuesta a la pregunta sobre cómo cambiar la contraseña de root en el servidor MySQL.

4. El siguiente conjunto de preguntas estará relacionado con los usuarios anónimos, la base de datos " prueba " y el acceso raíz a la base de datos de forma remota. Por lo general, es seguro responder a todas estas preguntas, a menos que exista una razón particular por la cual la configuración necesitaría una de estas opciones intacta.

rojo

En este punto, MySQL está listo para funcionar. Sin saber qué bases de datos o usuarios serán necesarios, es difícil hacer mucha más configuración. Sin embargo, la mayoría de los sitios web a menudo crean automáticamente las bases de datos y los usuarios necesarios cuando se instala el software. Sin embargo, esto es muy dependiente del software y requeriría un vistazo rápido a los archivos README o las instrucciones de instalación del software.

5. Ahora que MySQL está configurado, avancemos y configuremos algunas configuraciones básicas PHP para este servidor en particular. Si bien hay toneladas de configuraciones que pueden manipularse para PHP, solo hay unas pocas que casi siempre deberían modificarse. El archivo de configuración de php se encuentra en /etc/php5/fpm/php.ini . Abre este archivo con cualquier editor de texto.

# nano /etc/php5/fpm/php.ini

Usando las habilidades de búsqueda de nano ctrl + w , busque la cadena " memory_limit " (omitiendo las comillas). En una instalación predeterminada, esta línea ya estará establecida en 128M , pero si una aplicación necesita más, esta línea se puede cambiar para adaptarse a los requisitos.

Otra opción importante para verificar es " max_execution_time " y, de nuevo, se establecerá de forma predeterminada en 30 . Si una aplicación requiere más esta opción puede ser cambiada. Algunas personas también prefieren configurar el registro de php en un archivo/directorio especial. Si este es un requisito, busque la cadena " error_log = " y luego descomente la línea eliminando el punto y coma que generalmente está allí de forma predeterminada.

En este punto, se puede agregar un valor para el archivo de registro al final de la línea. Asegúrese de que la ruta existe en el sistema. Una vez que haya terminado de realizar los cambios necesarios en el archivo php.ini , guarde los cambios y salga del editor de texto. En este punto, MySQL y PHP5 están listos para comenzar a alojar sitios. Ahora es el momento de configurar Nginx.

Instalación y configuración de Nginx

6. Nginx (motor X) es un servidor web alternativo y muy potente. Esta sección de este tutorial le guiará a través de la configuración de una página web para que Nginx aloje. El primer paso para configurar Nginx es instalar los paquetes necesarios usando la utilidad " apt ".

# apt-get install nginx

Suponiendo que todas las dependencias estén satisfechas, navegar a la dirección IP del servidor en un navegador web debería generar el sitio web predeterminado de Nginx.

rojo

# service nginx start

Nginx ahora está alojando con éxito la página por defecto. Si bien la página predeterminada de Debian es un sitio web llamativo, la mayoría de los usuarios querrán alojar algo personalizado.

7. Los siguientes pasos lo guiarán a través de la configuración de Nginx para alojar un sitio web diferente. Nginx, al igual que Apache 2, tiene su propio directorio de configuraciones ubicado en /etc/nginx . Cambie a este directorio usando la utilidad cd .

# cd /etc/nginx

Para este tutorial hay varios archivos y directorios importantes para configurar un sitio web con Nginx. Los primeros dos directorios que son importantes son los directorios " sitios disponibles " y los " sitios habilitados ". Al igual que Apache 2, Nginx usa archivos de configuración para cada sitio en el directorio de sitios disponibles que, cuando están activos, se vinculan simbólicamente en el directorio de sitios habilitados.

Lo primero que se necesita para deshacerse del sitio predeterminado es eliminar el enlace simbólico en los sitios habilitados.

# rm sites-enabled/default

8. Ahora se debe crear y vincular un nuevo archivo de configuración del sitio para que Nginx sirva la página. La creación del archivo de configuración del sitio se puede simplificar copiando y modificando la configuración predeterminada de los sitios.

# cp sites-available/default sites-available/tecmint-test

Esto creará un nuevo archivo de configuración del sitio para trabajar. Abra este archivo en un editor de texto para cambiar la ruta de acceso de Nginx a los archivos.

# nano sites-available tecmint-test

Dentro de este archivo hay varias opciones importantes para cambiar para que Nginx sirva un sitio. La primera es la línea que comienza con " raíz ", ya que esta línea define dónde Nginx debe servir los archivos para este sitio en particular

Este tutorial lo dejará como el valor predeterminado de "/var/www/html " y simplemente colocará los archivos html que se servirán en este directorio. Sin embargo, asegúrese de modificar esta ruta si va a haber varios sitios o una configuración personalizada en este servidor.

La siguiente línea de importancia es la línea " índice ". Dado que este artículo trata sobre la instalación de LEMP y un sitio podría estar sirviendo páginas php, Nginx debe ser informado de que la página predeterminada puede ser una página php. Para hacer esto, simplemente agregue ‘ index.php ’ al final de la lista de índice de archivos.

Antes de habilitar el nuevo sitio, es necesario que haya algo para que Nginx lo sirva. La página de índice predeterminada ya existe, pero para confirmar que otro sitio está funcionando, reemplacemos el contenido de la página predeterminada con algo más.

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

9. El siguiente paso es habilitar el nuevo sitio vinculando el archivo de configuración que se acaba de crear al directorio sitios habilitados . Esto se logra fácilmente con el uso del comando ln y luego volver a cargar la configuración de Nginx con la utilidad del servicio.

# ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
# service nginx reload

En este punto, Nginx debería estar sirviendo a la nueva página web "simple". Esto se puede confirmar navegando a la dirección IP del servidor a través de un navegador web.

Nuevamente, este artículo pretende ser configuraciones muy simples de LEMP . La mayoría de los sitios requerirían una configuración adicional para todas las partes involucradas, ¡pero las opciones de configuración podrían variar en miles! La mejor de las suertes en la configuración elegida para alojar sitios web.