Select Page

Una versión anterior de este educational fue escrita por Brennan Bearnes.

Introducción

Los angeles pila LAMP hace referencia a un grupo de diferentes programas de código abierto que típicamente son instalados en conjunto, con el objetivo de habilitar a un servidor como prestador de los servicios de páginas internet dinámicas, así como los de aplicaciones internet. De hecho, este término es el acrónimo que representa al sistema operativo Linux, con el servidor de aplicaciones Apache, donde los datos del sitio son almacenados en una base de datos MySQL, y el contenido dinámico es procesado mediante PHP.

En esta guía, instalaremos una pila LAMP en un servidor Linux 18.04.

Prerrequisitos

Para poder continuar con este educational, necesitarás tener un servidor Ubuntu 18.04, además debes tener configurada una cuenta de usuario diferente a l. a. de superusuario (non-root), pero que cuente con los permisos para utilizar el comando sudo, además necesitarás contar con un cortafuegos (firewall) básico. Esto lo puedes configurar usando nuestra guía inicial de configuración para Ubuntu 18.04.

Paso 1 — Instalar Apache y actualizar el cortafuegos

El servidor internet, Apache es uno de los servidores internet más populares en el mundo. Se encuentra bien documentado y ha sido utilizado en buena parte de l. a. historia de l. a. internet, hechos que lo convierten en un muy buen candidato para ser escogido como el servidor por defecto de páginas internet.

Instala Apache usando el administrador de paquetes de Ubuntu, apt:

  • sudo apt replace
  • sudo apt set up apache2

Como éste es un comando sudo, estas operaciones son ejecutadas con los privilegios de superusuario. Te preguntará por l. a. contraseña de tu cuenta common para verificar tus intenciones.

Una vez hayas autenticado tu contraseña, apt te informará cuáles paquetes se instalarán y cuánto espacio en disco será requerido. Digita Y y después Input para continuar, así, l. a. instalación procederá.

Ajuste del cortafuegos para permitir el tráfico internet

Asumiendo que seguiste las instrucciones de configuración inicial del servidor y que habilitaste el cortafuegos UFW, ahora podrás asegurarte que tu cortafuegos permite el tráfico HTTP y HTTPS. Para hacerlo, verifica que el UFW tiene un perfil de aplicación para Apache mediante el comando:

Output

To be had programs: Apache Apache Complete Apache Safe OpenSSH

Si solicitas l. a. información del perfil Apache Complete, se debería mostrar que el tráfico se encuentra habilitado para los puertos 80 y 443:

  • sudo ufw app data "Apache Full"

Output

Profile: Apache Complete Name: Internet Server (HTTP,HTTPS) Description: Apache v2 is the following era of the omnipresent Apache internet server. Ports: 80,443/tcp

Para permitir el tráfico de entrada HTTP y HTTPS para este perfil, digita:

  • sudo ufw permit in "Apache Full"

Puedes hacer una comprobación instantánea de que todo ha ido según lo planeado visitando l. a. dirección IP pública de tu servidor en un navegador (si aún no conoces l. a. dirección IP pública de tu servidor en l. a. siguiente sección encontrarás cómo hallarla):

http://your_server_ip

Verás l. a. página internet predeterminada de Apache para Ubuntu 18.04, l. a. cual tiene propósitos informativos y de prueba. Debería verse semejante a:

Página predeterminada de Ubuntu 18.04 Apache

Si viste esta página, entonces tu servidor internet se encuentra instalado correctamente y es accesible a través del cortafuegos.

Cómo encontrar l. a. dirección IP pública de tu servidor

Si no conoces l. a. dirección IP pública de tu servidor, existen varias formas de encontrarla. Usualmente, es l. a. dirección que usas para conectar tu servidor a través de SSH.

Hay diferentes formas de buscarla con l. a. línea de comandos. En primer lugar, puedes usar l. a. herramienta iproute2 para obtener tu IP, digitando lo siguiente:

  • ip addr display eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

Esto retornará dos o tres líneas. Todas serán direcciones correctas, sin embargo, es posible que tu computador solo pueda usar una de ellas, entonces es recomendable que las pruebes todas.

Un método alternativo es el uso de l. a. utilidad curl para contactar un servicio externo que te diga cómo él ve a tu servidor. Esto se hace preguntándole a un servidor específico cuál es tu dirección IP:

  • sudo apt set up curl
  • curl http://icanhazip.com

Sin importar el método que makes use of para obtener tu dirección IP, escríbela en l. a. barra de dirección de tu navegador internet para ver l. a. página predeterminada del Apache.

Paso 2 — Instalar MySQL

Ahora que tienes tu servidor internet activo y funcional, es el momento de instalar MySQL. MySQL es un sistema de administración de bases de datos. Basicamente, él organizará y proveerá acceso a las bases de datos donde tu sitio podrá guardar información.

De nuevo, america apt para adquirir e instalar este tool:

  • sudo apt set up mysql-server

Nota: En este caso, no es necesario que makes use of sudo apt replace antes del comando. Ya que lo usaste recientemente cuando instalaste Apache, el índice de paquetes de tu computador debería encontrarse actualizado.

De nuevo se te desplegará una lista de paquetes a instalar, así como el espacio en disco que requerirá. Presiona Y para continuar.

Cuando l. a. instalación esté completa, debes ejecutar un archivo de comandos de seguridad que viene preinstalado con MySQL, éste removerá algunos parámetros peligrosos, así como asegurará el acceso a tu base de datos. Ejecuta el archivo interactivo de comandos mediante:

  • sudo mysql_secure_installation

Se te preguntará si quieres configurar el conector de validación de contraseña: VALIDATE PASSWORD PLUGIN.

Nota: Habilitar esta funcionalidad dependerá de juzgar las necesidades de tu servidor. Si está habilitada una contraseña que no cumpla con un criterio específico, será rechazada por MySQL y generará un error. Esto podría ser un problema si utilizas contraseñas débiles en conjunto con tool que configura automáticamente credenciales de usuario de MySQl, como por ejemplo los paquetes de Ubuntu para phpMyAdmin. Es seguro dejar esta validación deshabilitada, pero recuerda siempre utilizar contraseñas únicas y fuertes para las credenciales de las bases de datos.

Responde Y si estás de acuerdo, cualquier otra respuesta continuará sin realizar l. a. habilitación.

VALIDATE PASSWORD PLUGIN can be utilized to check passwords
and support safety. It assessments the power of password
and lets in the customers to set handiest the ones passwords which can be
protected sufficient. Do you want to setup VALIDATE PASSWORD plugin?

Press y|Y for Sure, some other key for No:

Si respondiste “yes”, se te solicitará que selecciones el nivel de validación de contraseña. Debes tener en cuenta que si digitas 2 representando el nivel más fuerte, recibirás errores al intentar utilizar una contraseña que no contenga números, letras mayúsculas y minúsculas, así como caracteres especiales; además l. a. contraseña no podrá estar basada en palabras comunes en un diccionario.

There are 3 ranges of password validation coverage:

LOW    Duration >= 8
MEDIUM Duration >= 8, numeric, blended case, and particular characters
STRONG Duration >= 8, numeric, blended case, particular characters and dictionary                  record

Please input 0 = LOW, 1 = MEDIUM and a couple of = STRONG: 1

Sin importar el nivel escogido para VALIDATE PASSWORD PLUGIN, tu servidor te solicitará, a continuación, seleccionar y confirmar l. a. contraseña para el usuario root de MySQL. Ésta es una cuenta administrativa dentro MySQL con privilegios incrementados. Puede ser entendida de manera an identical a l. a. cuenta root del servidor mismo (Sin embargo, estarás configurando una cuenta específica para MySQL). Asegúrate de utilizar una contraseña fuerte y única, no debería dejarse en blanco.

Si habilitaste l. a. validación de contraseña, se te mostrará qué tan fuerte es l. a. contraseña para l. a. cuenta root que acabas de introducir y tu servidor preguntará si quieres cambiarla. Si crees que es adecuado como está, digita N para seleccionar “no” en l. a. línea de comandos:

The use of current password for root.

Estimated power of the password: 100
Trade the password for root ? ((Press y|Y for Sure, some other key for No) : n

Para las siguientes preguntas, presiona Y y pulsa l. a. tecla Input en cada sugerencia. Esto removerá algunos usuarios anónimos y l. a. base de datos de prueba, deshabilitará ingresos remotos del root, y cargará estas nuevas reglas, de tal modo que MySQL respete inmediatamente los cambios que se acaban de hacer.

En este punto, tu sistema de bases de datos se encuentra configurado y puedes seguir con l. a. instalación de PHP, el componente ultimate de l. a. pila LAMP.

Paso 3 — Instalar PHP

PHP es el componente de tu configuración que procesa código para desplegar contenido dinámico. Puede ejecutar archivos, conectarse a tus bases de datos MySQL para obtener información, y manejar l. a. visualización del contenido procesado sobre tu servidor internet.

Una vez más usaremos el sistema apt para instalar PHP. Adicionalmente lo podemos configurar para que se ejecute sobre el servidor Apache y para que se comunique con l. a. base de datos MySQL:

  • sudo apt set up php libapache2-mod-php php-mysql

Esto debería instalar PHP sin problemas, sin embargo, probaremos esta instalación en este momento.

En l. a. mayoría de los casos, desearás modificar l. a. forma mediante l. a. cual Apache sirve archivos cuando un directorio es solicitado. En este momento, si un usuario solicita un directorio del servidor, Apache buscará, en primera instancia, un archivo llamado index.html. Nosotros queremos que el servidor internet le dé prelación a los archivos PHP sobre cualquier otro archivo. Para lo cual haremos que el Apache busque el archivo index.php en primer lugar.

Para lograrlo, digita el siguiente comando para abrir el archivo dir.conf en un editor de texto con privilegios de superusuario:

  • sudo nano /and so forth/apache2/mods-enabled/dir.conf

Debería verse semejante a esto:

/and so forth/apache2/mods-enabled/dir.conf


    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Mueve el archivo de índice de PHP (subrayado arriba) a l. a. primera posición después de l. a. especificación DirectoryIndex, debería verse an identical a:

/and so forth/apache2/mods-enabled/dir.conf


    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Cuando termines, graba y cierra el archivo presionando las teclas Ctrl + X. Confirma los cambios presionando Y, y a continuación pulsa l. a. tecla Input para verificar el lugar de grabación del archivo.

A continuación, deberás reiniciar el servidor Apache para que tus cambios sean reconocidos, lo puedes hacer mediante el comando:

  • sudo systemctl restart apache2

También podrás verificar el estado del servicio apache2 utilizando systemctl:

  • sudo systemctl standing apache2

Pattern Output

● apache2.carrier - LSB: Apache2 internet server Loaded: loaded (/and so forth/init.d/apache2; unhealthy; supplier preset: enabled) Drop-In: /lib/systemd/device/apache2.carrier.d └─apache2-systemd.conf Energetic: energetic (operating) since Tue 2018-04-23 14:28:43 EDT; 45s in the past Medical doctors: guy:systemd-sysv-generator(8) Procedure: 13581 ExecStop=/and so forth/init.d/apache2 prevent (code=exited, standing=0/SUCCESS) Procedure: 13605 ExecStart=/and so forth/init.d/apache2 get started (code=exited, standing=0/SUCCESS) Duties: 6 (restrict: 512) CGroup: /device.slice/apache2.carrier ├─13623 /usr/sbin/apache2 -k get started ├─13626 /usr/sbin/apache2 -k get started ├─13627 /usr/sbin/apache2 -k get started ├─13628 /usr/sbin/apache2 -k get started ├─13629 /usr/sbin/apache2 -k get started └─13630 /usr/sbin/apache2 -k get started

Para ampliar l. a. funcionalidad de PHP, tienes l. a. posibilidad de instalar algunos módulos adicionales. Para ver las opciones disponibles de módulos y librerías de PHP, envía los resultados de apt seek a much less, un paginador que te permitirá navegar dentro de l. a. salida de otro comando:

U.s. las flechas para moverte hacia arriba y abajo, y pulsa Q para salir.

Como resultado obtendrás todos los componentes opcionales que puedes instalar. El sistema te mostrará una descripción corta de cada uno de ellos:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
  Tracks utilization of TCP/IP and builds html recordsdata with graphs

bluefish/bionic 2.2.10-1 amd64
  complicated Gtk+ textual content editor for internet and tool construction

cacti/bionic 1.1.38+ds1-1 all
  internet interface for graphing of tracking techniques

ganglia-webfrontend/bionic 3.6.1-Three all
  cluster tracking toolkit - internet front-end

golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-Four all
  PHP-like Compression and Archive Extensions in Cross

haserl/bionic 0.9.35-2 amd64
  CGI scripting program for embedded environments

kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
  transitional package deal for kdevelop-php

kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
  transitional package deal for kdevelop-php-l10n
…
:

Para indagar más sobre las funcionalidades de cada módulo, simplemente puedes buscar en l. a. internet su descripción, o alternativamente, puedes ver l. a. descripción larga de cada paquete, digitando:

Los angeles salida será extensiva, con un campo en explicit llamado Description que tendrá una explicación más extensa acerca de l. a. funcionalidad que el módulo provee.

Por ejemplo, para ver las funcionalidades del módulo php-cli, podrías digitar:

En compañía de mucha más información, verás algo como lo siguiente:

Output

… Description: command-line interpreter for the PHP scripting language (default) This package deal supplies the /usr/bin/php command interpreter, helpful for checking out PHP scripts from a shell or acting total shell scripting duties. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open supply general-purpose scripting language this is particularly suited for internet construction and may also be embedded into HTML. . This package deal is a dependency package deal, which is determined by Ubuntu's default PHP model (recently 7.2). …

Si después de tu consulta makes a decision instalar algún paquete, lo puedes hacer mediante el comando apt set up, de l. a. misma forma que lo has hecho para otro tool.

Si te das cuenta que necesitas instalar php-cli, puedes escribir:

Si deseas instalar más de un módulo, lo puedes hacer listándolos separados por espacio, después del comando apt set up, semejante a lo siguiente:

  • sudo apt set up package1 package2 ...

Para este punto, tu pila LAMP se encuentra instalada y configurada. Sin embargo, antes de hacer más cambios o de desplegar una aplicación, sería beneficioso hacer una prueba proactiva de l. a. configuración de PHP, quizá haya alguna situación que merezca alguna atención en este momento.

Paso 4 — Evaluar el procesamiento de PHP sobre tu servidor internet

Con el objetivo de evaluar si tu sistema está configurado de manera correcta para usar PHP, crea una archivo de comandos básico, llamado data.php. Para que Apache pueda encontrar y servir este archivo de manera correcta, debe ser alojado en un directorio muy específico, que es llamado “web root”.

En Ubuntu 18.04, este directorio se encuentra localizado en /var/www/html/. Crea el archivo en ese lugar digitando:

  • sudo nano /var/www/html/data.php

Esto creará un archivo en blanco. Introduce el siguiente código PHP válido, dentro del archivo de texto:

data.php

Cuando termines, graba y cierra el archivo.

Ahora ya puedes probar si tu servidor internet se encuentra habilitado para desplegar correctamente contenido generado por este archivo de comandos PHP. Para hacerlo, visita una página internet específica en tu navegador, necesitarás tu dirección pública de nuevo.

Los angeles dirección que deberás visitar es:

http://your_server_ip/data.php

Los angeles página que deberías estar viendo debe ser an identical l. a. siguiente:

Información predeterminada de PHP para Ubuntu 18.04

Esta página provee información básica sobre tu servidor, recogida desde l. a. perspectiva de PHP. Es útil cuando necesites hacer algún tipo de seguimiento o para verificar que l. a. configuración deseada ha sido aplicada de manera correcta.

Si pudiste ver esta página en tu navegador, tu PHP está trabajando según lo esperado.

Probablemente quieras remover este archivo después de l. a. prueba, éste puede dar información sobre tu servidor a usuarios no autorizados. Para hacer esto, digita el siguiente comando:

  • sudo rm /var/www/html/data.php

Siempre puedes crear este archivo de nuevo en caso que necesites acceder a esta información en otra oportunidad.

Conclusión

Ahora que tienes una pila LAMP instalada, tienes varias opciones de tareas para hacer después. Básicamente, ya cuentas con una plataforma que te permitirá instalar l. a. mayoría de tipos de sitios internet, así como aplicaciones internet en tu servidor.

Como siguiente paso inmediato, debes asegurarte que que l. a. conexión a tu servidor internet es segura, tu servidor debería prestar sus servicios mediante HTTPS. Los angeles manera más sencilla es usando nuestra guía: encriptemos Esto asegurará tu sitio con un certificado gratuito TLS/SSL.

Otras opciones muy populares que tienes son:

Nota: Actualizaremos los enlaces que aparecen en este artículo tan pronto se actualice nuestra documentación a l. a. versión 18.04.