GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar LAMP Stack en Debian 10 Buster Server/Desktop

Este tutorial le mostrará cómo instalar Apache, MariaDB y PHP7.3 (pila LAMP) en Debian 10 Buster. Una pila de software es un conjunto de herramientas de software agrupadas. LAMP significa L entrada, A pache, M ariaDB/M ySQL y P HP, todos los cuales son de código abierto y de uso gratuito. Es la pila de software más común que impulsa sitios web dinámicos y aplicaciones web. Linux es el sistema operativo; Apache es el servidor web; MariaDB/MySQL es el servidor de la base de datos y PHP es el lenguaje de secuencias de comandos del lado del servidor responsable de generar páginas web dinámicas.

Los cuatro componentes son gratuitos y de código abierto. Sin embargo, dado que MySQL ahora es propiedad de Oracle y existe la posibilidad de que Oracle lo convierta en un producto de código cerrado, elegiremos MariaDB en lugar de MySQL.

Requisitos previos para instalar LAMP Stack en Debian 10 Buster

Para seguir este tutorial, necesita un sistema operativo Debian 10 ejecutándose en su computadora local o en un servidor remoto.

Si está buscando un VPS (servidor privado virtual), puede registrar una cuenta en Vultr a través de este enlace especial para obtener $ 50 de crédito gratis (solo para nuevos usuarios). Y si necesita configurar la pila LAMP con un nombre de dominio, le recomiendo comprar nombres de dominio de NameCheap porque el precio es bajo y brindan protección de privacidad whois de forma gratuita.

Tenga en cuenta que debe tener privilegios de root al instalar el software en Debian. Puedes agregar sudo al comienzo de un comando, o use su - Comando para cambiar a usuario root.

Paso 1:Actualizar paquetes de software

Antes de instalar la pila LAMP, es una buena idea actualizar el repositorio y los paquetes de software. Ejecute el siguiente comando en su sistema operativo Debian 10.

sudo apt update

sudo apt upgrade

Paso 2:Instale el servidor web Apache en Debian 10

Ingrese el siguiente comando para instalar el servidor web Apache. Las apache2-utils El paquete instalará algunas utilidades útiles, como la herramienta de evaluación comparativa del servidor Apache HTTP ab y la herramienta de gestión de autenticación de usuarios htpasswd .

sudo apt install apache2 apache2-utils

Una vez instalado, Apache debería iniciarse automáticamente. Comprueba su estado con systemctl .

systemctl status apache2

Salida de muestra:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-07-11 13:30:35 UTC; 4min 31s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 17962 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 17966 (apache2)
    Tasks: 55 (limit: 545)
   Memory: 4.8M
   CGroup: /system.slice/apache2.service
           ├─17966 /usr/sbin/apache2 -k start
           ├─17967 /usr/sbin/apache2 -k start
           └─17968 /usr/sbin/apache2 -k start

Si no se está ejecutando, use systemctl para iniciarlo.

sudo systemctl start apache2

También es una buena idea permitir que Apache se inicie automáticamente en el momento del arranque.

sudo systemctl enable apache2

Compruebe la versión de Apache:

sudo apache2 -v

Salida:

Server version: Apache/2.4.38 (Debian)
Server built:   2019-04-07T18:15:40

Ahora escriba la dirección IP pública de su servidor Debian 10 en la barra de direcciones del navegador. Deberías ver "¡Funciona!" Página web, lo que significa que el servidor web Apache se está ejecutando correctamente. Si está instalando LAMP en su computadora Debian 10 local, debe escribir 127.0.0.1localhost en la barra de direcciones del navegador.

Si la conexión se rechaza o no se completa, es posible que haya un firewall que impida las solicitudes entrantes al puerto TCP 80. Si está utilizando el firewall de iptables, debe ejecutar el siguiente comando para abrir el puerto TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Si está utilizando el firewall UFW, ejecute este comando para abrir el puerto TCP 80.

sudo ufw allow http

Ahora tenemos que configurar www-data (usuario de Apache) como propietario de la raíz del documento (también conocida como raíz web). Por defecto, es propiedad del usuario root.

sudo chown www-data:www-data /var/www/html/ -R

De forma predeterminada, Apache utiliza el nombre de host del sistema como su ServerName global. . Si el nombre de host del sistema no se puede resolver en DNS, probablemente verá el siguiente error después de ejecutar sudo apache2ctl -t comando.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Para resolver este problema, podemos establecer un ServerName global en apache. Utilice el editor de texto de línea de comandos de Nano para crear un nuevo archivo de configuración.

sudo nano /etc/apache2/conf-available/servername.conf

Agregue la siguiente línea en este archivo.

ServerName localhost

Guarde y cierre el archivo. Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Entrar para confirmar. Para salir, presiona Ctrl+X . Luego habilite este archivo de configuración.

sudo a2enconf servername.conf

Vuelva a cargar Apache para que el cambio surta efecto.

sudo systemctl reload apache2

Ahora, si ejecuta sudo apache2ctl -t comando de nuevo, no verá el mensaje de error anterior.

Paso 3:Instale el servidor de base de datos MariaDB en Debian 10

MariaDB es un reemplazo directo para MySQL. Ingrese el siguiente comando para instalarlo en Debian 10.

sudo apt install mariadb-server mariadb-client

Una vez instalado, el servidor MariaDB debería iniciarse automáticamente. Usa systemctl para comprobar su estado.

systemctl status mariadb

Salida:

● mariadb.service - MariaDB 10.3.15 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-07-11 13:57:03 UTC; 16s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 18566 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 545)
   Memory: 73.9M
   CGroup: /system.slice/mariadb.service
           └─18566 /usr/sbin/mysqld

Si no se está ejecutando, inícielo con este comando:

sudo systemctl start mariadb

Para permitir que MariaDB se inicie automáticamente en el momento del arranque, ejecute

sudo systemctl enable mariadb

Ahora ejecute el script de seguridad posterior a la instalación.

sudo mysql_secure_installation

Cuando le pida que ingrese la contraseña raíz de MariaDB, presione la tecla Intro ya que la contraseña raíz aún no está configurada. Luego ingrese y para establecer la contraseña raíz para el servidor MariaDB.

A continuación, puede simplemente presionar Entrar para responder a todas las preguntas restantes. Esto eliminará al usuario anónimo, deshabilitará el inicio de sesión raíz remoto y eliminará la base de datos de prueba. Este paso es un requisito básico para la seguridad de la base de datos MariaDB. (Tenga en cuenta que la letra Y está en mayúscula, lo que significa que es la respuesta predeterminada).

De forma predeterminada, el paquete MaraiDB en Debian usa unix_socket para autenticar el inicio de sesión del usuario, lo que básicamente significa que puede usar el nombre de usuario y la contraseña del sistema operativo para iniciar sesión en la consola de MariaDB. Entonces puede ejecutar el siguiente comando para iniciar sesión sin proporcionar la contraseña de root de MariaDB.

sudo mariadb -u root

o

sudo mysql -u root

Para salir, ejecuta

exit;

Verifique la información de la versión del servidor MariaDB.

mariadb --version

Salida:

mariadb Ver 15.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Paso 4:Instale PHP7.3 en Debian 10

Al momento de escribir este artículo, PHP7.3 es la última versión estable de PHP y tiene una mejora menor en el rendimiento con respecto a las versiones anteriores. Ingrese el siguiente comando para instalar PHP7.3 desde el repositorio de Debian 10.

sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline

Habilite el módulo Apache php7.3 y luego reinicie el servidor web Apache.

sudo a2enmod php7.3

sudo systemctl restart apache2

Verifique la información de la versión de PHP.

php --version

Salida:

PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

Para probar scripts PHP con el servidor Apache, necesitamos crear un info.php archivo en el directorio raíz web con un editor de texto de línea de comando, como Nano.

sudo nano /var/www/html/info.php

Pegue el siguiente código PHP en el archivo.

<?php phpinfo(); ?>

Guarde y cierre el archivo. (Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Entrar para confirmar. Para salir, presiona Ctrl+X .)

Ahora, en la barra de direcciones del navegador, ingrese server-ip-address/info.php . Reemplazar sever-ip-address con tu IP real. Si sigue este tutorial en su computadora local, escriba 127.0.0.1/info.phplocalhost/info.php .

Debería ver la información de PHP de su servidor. Esto significa que los scripts PHP pueden ejecutarse correctamente con el servidor web Apache. Puede encontrar que Zend OPcache está habilitado.

Cómo ejecutar PHP-FPM con Apache

Básicamente, hay dos formas de ejecutar código PHP con el servidor web Apache:

  • Módulo PHP de Apache
  • PHP-FPM.

En los pasos anteriores, el módulo PHP7.3 se usa para manejar el código PHP, lo que generalmente está bien. Pero en algunos casos, necesita ejecutar código PHP con PHP-FPM en su lugar. Así es como.

Deshabilite el módulo Apache PHP7.3.

sudo a2dismod php7.3

Instale PHP-FPM.

sudo apt install php7.3-fpm

Habilitar proxy_fcgi y setenvif módulo.

sudo a2enmod proxy_fcgi setenvif

Habilite el /etc/apache2/conf-available/php7.3-fpm.conf archivo de configuración.

sudo a2enconf php7.3-fpm

Reinicie Apache para que los cambios surtan efecto.

sudo systemctl restart apache2

Ahora, si actualiza el info.php página en su navegador, verá que la API del servidor ha cambiado a FPM/FastCGI , lo que significa que el servidor web Apache ejecutará código PHP con PHP-FPM.

Siguiente paso

¡Felicitaciones! Ha instalado con éxito Apache, MariaDB y PHP7 en Debian 10 Buster. Para la seguridad de su servidor, debe eliminar el archivo info.php ahora para evitar miradas indiscretas.

sudo rm /var/www/html/info.php

Espero que este tutorial te haya ayudado a instalar la pila LAMP en Debian 10 Buster . También puede consultar el siguiente tutorial para instalar phpMyAdmin, una herramienta de administración de MariaDB/MySQL basada en la web

  • Instalar phpMyAdmin con Apache (LAMP) en Debian 10 Buster

Como siempre, si esta publicación te resultó útil, suscríbete a nuestro boletín gratuito para obtener nuevos tutoriales.


Debian
  1. Cómo configurar un servidor LAMP en Debian 10 Buster

  2. Instale la pila LAMP en Debian 11

  3. Cómo instalar el servidor LAMP en Debian 9

  4. Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11

  5. Cómo instalar el servidor MySQL en Debian 10 Buster

Cómo instalar la pila LAMP en Debian 8

Cómo instalar el servidor web Apache en Debian 11

Cómo instalar la pila LAMP en Debian 11

Cómo instalar y configurar LAMP en Debian 11 (Bullseye)

Cómo instalar un servidor mínimo Debian 10 (Buster)

Cómo instalar Apache en Debian 7