Cómo instalar LAMP Apache, MySQL, PHP en Ubuntu 22.04. En esta guía aprenderá a instalar Apache2, MySQL y PHP 8.1.
También instalará algunas extensiones de PHP comunes y ajustará las configuraciones de PHP. Instale PhpMyAdmin y finalmente protegerá su configuración con Let's Encrypt SSL y configurará la redirección HTTPS.
Esta configuración se prueba en la nube de Google, por lo que funcionará en todos los servicios de alojamiento en la nube como AWS, Azure o cualquier VPS o cualquier servidor dedicado que ejecute Ubuntu 22.04.
Requisitos
- Acceso raíz a su servidor o un usuario sudo.
Paso 1:Inicialización de la configuración
Comience por actualizar los paquetes a la última versión disponible con el siguiente comando.
sudo apt update sudo apt upgrade
Una vez que haya actualizado la configuración, puede iniciar la configuración.
Paso 2:Instalar Apache
Instale Apache usando el siguiente comando.
sudo apt install apache2
Esto instalará apache2
y todas las dependencias requeridas.
Paso 3:configurar el cortafuegos
Ahora puede configurar un cortafuegos sin complicaciones (UFW) con Apache para permitir el acceso público a los puertos web predeterminados para HTTP
y HTTPS
sudo ufw app list
Verá todas las aplicaciones enumeradas.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Este perfil abre el puerto
80
(tráfico web normal, sin cifrar) - Apache completo :Este perfil abre ambos puertos
80
(tráfico web normal, sin cifrar) y puerto443
(tráfico cifrado con TLS/SSL) - Apache seguro :Este perfil abre solo el puerto
443
(tráfico cifrado con TLS/SSL) - Abrir SSH :Este perfil abre el puerto
22
para acceso SSH.
Si no va a utilizar SSL, debe habilitar solo el perfil de Apache.
Ahora habilitaremos Apache Full.
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
sudo ufw enable
Con este comando puede ver el estado de UFW.
sudo ufw status
Verá el resultado de la siguiente manera.
Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Paso:4 Comprobar la instalación de Apache
Como instalamos Apache en el paso 2, debería iniciarse automáticamente y ya estar en funcionamiento.
Verifique la versión de Apache usando el siguiente comando
sudo apachectl -v
Output Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
Cada proceso en Apache se gestiona con el systemctl
dominio. Verifique el estado de Apache con el siguiente comando.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-29 00:34:49 UTC; 2min 52s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 12782 (apache2) Tasks: 55 (limit: 1151) Memory: 5.1M CPU: 52ms CGroup: /system.slice/apache2.service ├─12782 /usr/sbin/apache2 -k start ├─12784 /usr/sbin/apache2 -k start └─12785 /usr/sbin/apache2 -k start
Ahora tenemos Apache instalado y configurado Firewall.
Paso 5:Instalar MySQL
En Ubuntu 22.04, MySQL 8 está incluido de forma predeterminada en los repositorios de Jammy Jellyfish, por lo que puede instalarlo fácilmente usando el apt install
comando.
sudo apt install mysql-server
Una vez completada la instalación, el servicio MySQL se iniciará automáticamente. Para verificar que el servidor MySQL se está ejecutando, escriba:
sudo service mysql status
El resultado debe mostrar que el servicio está habilitado y ejecutándose:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-29 00:38:45 UTC; 11s ago Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu> Main PID: 13844 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 1151) Memory: 351.4M CPU: 1.043s CGroup: /system.slice/mysql.service └─13844 /usr/sbin/mysqld
Verifique la versión de MySQl usando el siguiente comando.
sudo mysql -V
Output mysql Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
Paso 6:Asegurar MySQL
La instalación de MySQL viene con un script llamado mysql_secure_installation
que le permite mejorar fácilmente la seguridad del servidor MySQL.
sudo mysql_secure_installation
Se le pedirá que configure el VALIDATE PASSWORD PLUGIN
que se utiliza para probar la seguridad de las contraseñas de los usuarios de MySQL y mejorar la seguridad.
Pulsa y
si desea configurar el complemento de validación de contraseña o cualquier otra clave para pasar al siguiente paso.
Hay tres niveles de política de validación de contraseñas, bajo, medio y fuerte.
Introduzca 2 para una validación de contraseña segura.
En el siguiente mensaje, se le pedirá que establezca una contraseña para el usuario root de MySQL.
Si configura el complemento de validación de contraseña, el script le mostrará la seguridad de su nueva contraseña. Escribe y
para confirmar la contraseña.
A continuación, se le pedirá que elimine el usuario anónimo, restrinja el acceso del usuario raíz a la máquina local, elimine la base de datos de prueba y vuelva a cargar las tablas de privilegios. Debes responder y
a todas las preguntas.
Paso 7:Instalar PHP
De forma predeterminada, Ubuntu 22.04 tiene agregado el último repositorio de PHP 8.1. Entonces puedes instalar PHP usando el siguiente comando.
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
Una vez que PHP esté instalado, puede verificar la versión usando el siguiente comando.
php -v
Output PHP 8.1.5 (cli) (built: Apr 7 2022 17:46:26) (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:Configurar PHP
Ahora configuramos PHP para Aplicaciones Web cambiando algunos valores en php.ini
archivo.
Para PHP 7.4 con Apache el php.ini
la ubicación estará en el siguiente directorio.
sudo nano /etc/php/8.1/apache2/php.ini
Presiona F6
para buscar dentro del editor y actualizar los siguientes valores para un mejor rendimiento.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Una vez que haya modificado la configuración de PHP, debe reiniciar su Apache para que los cambios surtan efecto.
Prepárese para un puesto de trabajo como profesional de tecnología de la información con sistema operativo Linux
Paso 9:Configurar Apache
Deshabilite la configuración predeterminada de Apache.
sudo a2dissite 000-default
Crear directorios de sitios web.
sudo mkdir -p /var/www/html/domainname/public
Configure los permisos correctos.
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
Cree una nueva configuración de host virtual.
sudo nano /etc/apache2/sites-available/domainname.conf
Pegue las siguientes configuraciones en el nuevo archivo.
<VirtualHost *:80> ServerAdmin example@unixlinux.onlinedomainname.com ServerName domainname.com ServerAlias www.domainname.com DocumentRoot /var/www/html/domainname/public <Directory /var/www/html/domainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Habilite la nueva configuración.
sudo a2ensite domainname.conf
Paso 10:Instale PhpMyAdmin
PhpMyAdmin es una herramienta para administrar la base de datos MySQL fácilmente. Puede instalarlo usando el siguiente comando.
sudo apt install phpmyadmin
Copie la configuración de PhpMyAdmin para Apache.
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
Habilite la configuración.
sudo a2enconf phpmyadmin.conf
Reinicie Apache.
sudo service apache2 restart
Ahora que tiene instalado PhpMyAdmin, se puede acceder a él con esta ruta yourdomain.com/phpmyadmin
.
Paso 11:Instale Let's Encrypt SSL
HTTPS es un protocolo para la comunicación segura entre un servidor (instancia) y un cliente (navegador web). Debido a la introducción de Let's Encrypt, que proporciona certificados SSL gratuitos, todos adoptan HTTPS y también brindan confianza a sus audiencias.
sudo apt install python3-certbot-apache
Ahora que hemos instalado Certbot de Let's Encrypt para Ubuntu 22.04, ejecute este comando para recibir sus certificados.
sudo certbot --apache --agree-tos --redirect -m example@unixlinux.online -d domainname.com -d www.domainname.com
Este comando instalará Free SSL, configurará la redirección a HTTPS y reiniciará el servidor Apache.
Paso 12:Renovación del certificado SSL
Los certificados proporcionados por Let's Encrypt son válidos solo por 90 días, por lo que debe renovarlos con frecuencia. Entonces, probemos la función de renovación usando el siguiente comando.
sudo certbot renew --dry-run
Este comando probará la caducidad del certificado y configurará la función de renovación automática.
Paso:13:Pruebe la configuración
Una vez que haya realizado los pasos necesarios, puede crear un nuevo archivo PHP de prueba en su directorio web.
sudo nano /var/www/html/domainname/public/info.php
Pegue el siguiente código dentro del archivo.
<?php phpinfo();
Guarde el archivo.
Ahora continúe y verifique su nombre de dominio con el info.php
en la URL (domainname.com/info.php
).
Verá que su dominio fue redirigido a HTTPS y verá los detalles de la información de PHP.
Conviértase en un profesional certificado de AWS con este curso fácil de aprender ahora.
Conclusión
Ahora ha aprendido a instalar LAMP stack Ubuntu 22.04. También aprendió a instalar y configurar PhpMyAdmin y asegurar su instalación usando Let's Encrypt SSL.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.