Cómo instalar una pila de servidores LAMP en Ubuntu 22.04
LAMP es una plataforma de desarrollo web gratuita, de código abierto y una de las más populares, que permite a los desarrolladores web crear, desplegar y gestionar sitios web y aplicaciones en línea. Utiliza cuatro componentes de código abierto: Linux como sistema operativo, Apache como servidor web, MySQL como sistema de gestión de bases de datos relacionales y PHP/Perl/Python como lenguaje de programación orientado a objetos. La pila LAMP es la elección principal de todos los desarrolladores web porque es suficiente para alojar una amplia variedad de marcos de trabajo de sitios web, como Joomla, Drupal y WordPress.
Características
- Un servidor LAMP es gratuito y de código abierto, por lo que cualquiera puede descargar su código fuente y realizar cambios y mejoras, aumentando su rendimiento general.
- Es personalizable. Así que puedes sustituir cada componente por otra solución de código abierto que se adapte a las necesidades de la aplicación concreta.
- Tiene una comunidad más amplia, por lo que puedes encontrar soporte fácilmente.
- Es una pila madura y fácil de instalar.
Este post te mostrará cómo instalar el servidor LAMP en Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04.
- Mínimo 1 GB de RAM y 5 GB de espacio en disco duro.
- Una contraseña de root configurada en el servidor.
Instalar Apache en Ubuntu 22.04
El servidor web Apache es un componente principal de la pila LAMP. Por defecto, el paquete del servidor web Apache está incluido en el repositorio por defecto de Ubuntu 22.04. Puedes instalarlo fácilmente ejecutando el siguiente comando:
apt-get install apache2 -y
Una vez instalado el servidor Apache, inicia y habilita el servicio web Apache mediante el siguiente comando:
systemctl start apache2 systemctl enable apache2
Ahora puedes comprobar el estado del servicio Apache utilizando el siguiente comando:
systemctl status apache2
Obtendrás el estado de Apache en la siguiente salida:
? 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 07:27:44 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 923 (apache2) Tasks: 55 (limit: 4630) Memory: 5.1M CPU: 56ms CGroup: /system.slice/apache2.service ??923 /usr/sbin/apache2 -k start ??924 /usr/sbin/apache2 -k start ??925 /usr/sbin/apache2 -k start Apr 29 07:27:44 ubuntu systemd[1]: Starting The Apache HTTP Server...
Para comprobar la versión de Apache, ejecuta el siguiente comando:
apache2ctl -version
Verás la versión de Apache en la siguiente salida:
Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
También puedes probar la instalación de Apache a través del navegador web utilizando la URL http://your-server-ip. Deberías ver la página de prueba de Apache en la siguiente pantalla:
Una vez que hayas terminado, puedes proceder a instalar PHP.
Instalar PHP en Ubuntu 22.04
PHP es un lenguaje de procesamiento utilizado para servir las páginas PHP. Por defecto, Ubuntu 22.04 proporciona la última versión de PHP 8.1. Puedes instalarlo con otras extensiones en la siguiente salida:
apt-get install php8.1 libapache2-mod-php8.1 php8.1-mysql php8.1-gd php8.1-curl php8.1-xml -y
Una vez instalado PHP, puedes verificar la versión de PHP utilizando el siguiente comando:
php --version
Deberías ver la versión de PHP en la siguiente salida:
PHP 8.1.2 (cli) (built: Apr 7 2022 17:46:26) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
Una vez que hayas terminado, puedes proceder a instalar el servidor MySQL.
Instalar el servidor MySQL en Ubuntu 22.04
Por defecto, la última versión de MySQL está incluida en el repositorio por defecto de Ubuntu 22.04. Puedes instalarlo utilizando el siguiente comando:
apt-get install mysql-server -y
Una vez instalado el servidor MySQL, inicia el servicio MySQL y habilítalo para que se inicie al reiniciar el sistema mediante el siguiente comando:
systemctl start mysql systemctl enable mysql
Puedes comprobar el estado del MySQL utilizando el siguiente comando:
systemctl status mysql
Obtendrás la siguiente salida:
? mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-29 07:43:21 UTC; 3s ago Process: 11468 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 11476 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 4630) Memory: 358.2M CPU: 991ms CGroup: /system.slice/mysql.service ??11476 /usr/sbin/mysqld Apr 29 07:43:20 ubuntu systemd[1]: Starting MySQL Community Server... Apr 29 07:43:21 ubuntu systemd[1]: Started MySQL Community Server.
También puedes comprobar la versión de MySQL con el siguiente comando:
mysql --version
Obtendrás la siguiente salida:
mysql Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
Por defecto, MySQL no está protegido y la contraseña de root no está establecida. Así que tendrás que asegurarlo ejecutando el siguiente script:
mysql_secure_installation
Establece una nueva contraseña de MySQL como se muestra a continuación:
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Please set the password for root here. New password: Re-enter new password: By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Elimina el usuario Anónimo como se muestra a continuación:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Deshabilita el inicio de sesión de root de forma remota, como se muestra a continuación:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Elimina la base de datos de prueba como se muestra a continuación:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Recarga los privilegios como se muestra a continuación:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done! Verify PHP Installation
Después de instalar el servidor LAMP, tendrás que comprobar si Apache procesa la página PHP o no.
Para comprobarlo crea una página PHP de ejemplo:
nano /var/www/html/info.php
Añade el siguiente código:
<?php phpinfo(); ?>
Guarda y cierra el archivo, luego abre tu navegador web y accede a la página PHP utilizando la URL http://your-server-ip/info.php. Deberías ver la página de información PHP en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado correctamente el servidor LAMP en el servidor Ubuntu 22.04. Ahora puedes empezar a crear y alojar tu sitio web utilizando la pila LAMP. No dudes en preguntarme si tienes alguna duda.