Cómo instalar LAMP Stack en Ubuntu 22.04 LTS

Cómo instalar LAMP Stack en Ubuntu 22.04 LTS

 

En este tutorial, le mostraremos cómo instalar LAMP Stack en Ubuntu 22.04 LTS. Para aquellos de ustedes que no sabían, LAMP es un acrónimo de Linux, Apache, MariaDB y PHP. Es una plataforma de código abierto y funciona en el sistema operativo Linux. La pila LAMP utiliza el servidor web Apache, el sistema de administración de bases de datos relacionales MariaDB y el lenguaje de secuencias de comandos PHP orientado a objetos.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo‘ a los comandos para obtener privilegios de raíz. Le mostraré la instalación paso a paso de LEMP Stack en Ubuntu 22.04 (Jammy Jellyfish). Puede seguir las mismas instrucciones para Ubuntu 22.04 y cualquier otra distribución basada en Debian como Linux Mint, Elementary OS, Pop!_OS y más.

Requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos: Ubuntu 22.04, 20.04 y cualquier otra distribución basada en Debian como Linux Mint.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Acceso SSH al servidor (o simplemente abra la Terminal si está en una computadora de escritorio).
  • A o acceso al . Sin embargo, recomendamos actuar como un , ya que puede dañar su sistema si no tiene cuidado al actuar como la raíz.non-root sudo userroot usernon-root sudo user

Instale LAMP Stack en Ubuntu 22.04 LTS Jammy Jellyfish

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando los siguientes aptcomandos en la terminal.

sudo apt update
sudo apt upgrade
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common

Paso 2. Instalación del servidor Apache HTTP en Ubuntu 22.04.

De forma predeterminada, Apache está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para instalar la última versión de Apache en su sistema Ubuntu:

sudo apt install apache2 apache2-utils

Después de una instalación exitosa, habilite Apache (para que se inicie automáticamente al arrancar el sistema), inicie y verifique el estado con los siguientes comandos:

sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl status apache2

Puede confirmar la versión de Apache2 con el siguiente comando:

apache2 -v

Paso 3. Configure el cortafuegos.

Ahora configuramos un Firewall sin complicaciones (UFW) con Apache para permitir el acceso público en los puertos web predeterminados para HTTP y HTTPS:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

Paso 4. Acceso al servidor web Apache.

Una vez que se haya instalado correctamente, abra un navegador web en su sistema y escriba la IP del servidor en la barra de direcciones. Obtendrá la página predeterminada del servidor Apache:

Cómo instalar Apache en Ubuntu 20.04 y alojar un sitio web

Paso 5. Instalación de MariaDB en Ubuntu 22.04.

De forma predeterminada, MariaDB está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para instalar la última versión de MariaDB en su sistema Ubuntu:

sudo apt install mariadb-server

Después de una instalación exitosa, habilite MariaDB (para que se inicie automáticamente al iniciar el sistema), inicie y verifique el estado con los siguientes comandos:

sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

Confirme la instalación y verifique la versión de compilación instalada de MariaDB:

mariadb --version

Paso 6. Instalación segura de MariaDB.

De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB usando el mysql_secure_installationscript. debe leer y debajo de cada paso cuidadosamente, que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá a MariaDB seguro:

mysql_secure_installation

Configúralo así:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Ahora puede conectarse al servidor MariaDB usando la nueva contraseña:

mysql -u root -p

Producción:

Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 46
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Paso 7. Instalación de PHP en Ubuntu 22.04.

De forma predeterminada, PHP no está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para agregar el PPA de Ondrej a su sistema:

sudo add-apt-repository ppa:ondrej/php

Después de agregar el repositorio, actualice el índice APT y luego instale PHP 8.1 usando el siguiente comando a continuación:

sudo apt update
sudo apt install php8.1 php8.1-common libapache2-mod-php8.1 php8.1-cli php8.1-fpm php8.1-xml

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

php --version

Producción:

PHP 8.1.5 (cli) (built: May  20 2022 17:46:36) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies

Paso 8. Cree Apache Virtualhost.

Primero, cree un directorio raíz para guardar los archivos de su sitio web:

sudo mkdir -p /var/www/html/domain.com/

Luego, cambie la propiedad y el grupo del directorio:

sudo chown -R www-data:www-data /var/www/html/domain.com/

Después de eso, creamos un servidor virtual Apache para servir la versión HTTP del sitio web:

sudo nano /etc/apache2/sites-available/www.domain.com.conf

Agregue el siguiente archivo:

<VirtualHost *:80>

   ServerName domain.com
   ServerAlias www.domain.com
   ServerAdmin admin@domain.com
   DocumentRoot /var/www/html/www.domain.com

   ErrorLog ${APACHE_LOG_DIR}/www.domain.com_error.log
   CustomLog ${APACHE_LOG_DIR}/www.domain.com_access.log combined

   <Directory /var/www/html/www.domain.com>
      Options FollowSymlinks
      AllowOverride All
      Require all granted
   </Directory>

</VirtualHost>

Guarde y cierre el archivo, luego reinicie el servidor web Apache para que se realicen los cambios:

sudo a2ensite www.domain.com.conf
sudo a2enmod ssl rewrite
sudo systemctl restart apache2

Paso 9. Asegure Apache con Let’s Encrypt en Ubuntu 22.04.

En primer lugar, debe instalar Certbot para obtener un certificado SSL con Let’s Encrypt:

sudo apt install certbot python3-certbot-apache

A continuación, obtenga su certificado SSL con Let’s Encrypt siguiendo estos pasos:

sudo certbot --apache

Deberá seguir las indicaciones interactivas e instalar el certificado. Como tengo dos dominios, instalaré certificados SSL para ambos dominios:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): admin@domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2
Requesting a certificate for domain.com and www.domain.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/domain.com/privkey.pem
This certificate expires on 2022-12-10.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf
Successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://domain.com and https://www.domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Paso 10. Renovación automática de SSL.

Los certificados de Let’s Encrypt tienen 90 días de validez, siendo muy recomendable renovar los certificados antes de que caduquen. Puede probar la renovación automática de sus certificados ejecutando este comando:

sudo certbot renew --dry-run

Producción:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/domain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account registered.
Simulating renewal of an existing certificate for domain.com and www.domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded: 
  /etc/letsencrypt/live/domain.com/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Paso 11. Prueba PHP.

Para probar scripts PHP, necesitamos agregar el archivo en el documento:info.php

nano /var/www/html/www.domain.com/info.php

Agregue lo siguiente al archivo:

<?php phpinfo(); ?>

Asegurémonos de que el servidor muestre correctamente el contenido generado por el script PHP abriendo esta página en el navegador:https://www.domain.com/info.php

Cómo instalar PHP 8 en Ubuntu 22.04 LTS

¡Felicidades! Has instalado LAMP con éxito . Gracias por usar este tutorial para instalar LEMP Stack en el sistema Ubuntu 22.04 LTS Jammy Jellyfish. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de LAMP.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.