Introducción

En esta guía de inicio rápido, instalaremos una pila LAMP en un servidor de Ubuntu 20.04.

Para ver una versión más detallada de este tutorial, en la que se ofrezcan más explicaciones de cada paso, consulte Cómo instalar la pila Linux, Apache, MySQL y PHP (LAMP) en Ubuntu 20.04​​​.

Requisitos previos

php illustration for: Requisitos previos

Para completar esta guía, necesitará acceso a un servidor de Ubuntu 20.04 como usuario sudo.

Paso 1: Instalar Apache

Actualice la caché del administrador de paquetes e instale Apache con lo siguiente:

				
					
sudo apt update

sudo apt install apache2

				
			

Una vez que la instalación se complete, deberá ajustar la configuración de su firewall para permitir tráfico HTTP en su servidor. Ejecute el siguiente comando para permitir el acceso externo en el puerto 80 (HTTP):

				
					
sudo ufw allow in "Apache"

				
			

Una vez añadida la nueva regla de firewall, puede verificar si su servidor está activo accediendo a la dirección IP pública o al nombre del dominio de este desde su navegador web. Verá una página como la siguiente:

Paso 2: Instalar MySQL

Ahora instalaremos MySQL, un sistema de administración de base de datos popular que se utiliza en entornos PHP.

Una vez más, utilice apt para adquirir e instalar este software:

				
					
sudo apt install mysql-server

				
			

Cuando la instalación se complete, se recomienda ejecutar una secuencia de comandos de seguridad que viene preinstalada en MySQL Inicie la secuencia de comandos interactiva ejecutando lo siguiente:

				
					
sudo mysql_secure_installation

				
			

Se le preguntará si desea configurar el VALIDATE PASSWORD PLUGIN. Elija Y para indicar que sí o cualquier otra respuesta para continuar sin la habilitación. Si responde “sí”, se le solicitará que seleccione un nivel de validación de contraseña.

Luego, su servidor le solicitará seleccionar y confirmar una contraseña para el root user de MySQL. Si bien para el método de autenticación predeterminado del root user de MySQL no se requiere una contraseña, incluso si hay una establecida, deberá definir una contraseña segura en este punto como medida de seguridad adicional.

Para el resto de las preguntas, presione Y y ENTER en cada mensaje.

Nota: Al momento de la redacción de este artículo, la biblioteca PHP nativa de MySQL mysqlnd no admite caching_sha2_authentication, el método de autenticación predeterminado de MySQL 8. Por este motivo, al crear usuarios de bases de datos para aplicaciones PHP en MySQL 8, deberá asegurarse de que estén configurados para usar mysql_native_password en su lugar. Consulte el paso 6 de nuestra guía detallada de LAMP de Ubuntu 20.04) para aprender a hacerlo.

Paso 3: Instalar PHP

Para instalar PHP y sus dependencias, ejecute lo siguiente:

				
					
sudo apt install php libapache2-mod-php php-mysql

				
			

Una vez que la instalación se complete, podrá ejecutar el siguiente comando para confirmar su versión de PHP:

				
					
php -v

				
			
				
					
[secondary_label Output]

PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )

Copyright (c) The PHP Group

Zend Engine v3.4.0, Copyright (c) Zend Technologies

 with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

				
			

Paso 4: Crear un host virtual para su sitio web

A través de esta guía, configurará un dominio llamado your_domain, pero deberá cambiar este nombre por el de su dominio propio.

Ubuntu 20.04 tiene habilitado un bloque de servidor por defecto, que está configurado para proporcionar documentos del directorio /var/www/html. En lugar de modificar /var/www/html, crearemos una estructura de directorio dentro de /var/www para el sitio your_domain y dejaremos /var/www/html establecido como directorio predeterminado que se presentará si una solicitud de cliente no coincide con ningún otro sitio.

Cree el directorio para your_domain de la siguiente manera:

				
					
sudo mkdir /var/www/<^>your_domain<^>

				
			

A continuación, asigne la propiedad del directorio con la variable de entorno $USER, que hará referencia a su usuario de sistema actual:

				
					
sudo chown -R $USER:$USER /var/www/<^>your_domain<^>

				
			

Luego, abra un nuevo archivo de configuración en el directorio sites-available de Apache utilizando el editor de línea de comandos que prefiera:

				
					
sudo nano /etc/apache2/sites-available/<^>your_domain<^>.conf

				
			

De esta manera, se creará un nuevo archivo en blanco. Pegue la siguiente configuración básica:

				
					
[label /etc/apache2/sites-available/your_domain.conf]

<VirtualHost *:80>

 ServerName <^>your_domain<^>

 ServerAlias www.<^>your_domain<^>

 ServerAdmin webmaster@localhost

 DocumentRoot /var/www/<^>your_domain<^>

 ErrorLog ${APACHE_LOG_DIR}/error.log

 CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

				
			

Guarde y cierre el archivo cuando termine. Si utiliza nano, puede hacerlo presionando las teclas CTRL+X, Y y ENTER.

Ahora, puede usar a2ensite para habilitar el nuevo host virtual:

				
					
sudo a2ensite <^>your_domain<^>

				
			

Para deshabilitar el sitio web predeterminado de Apache, escriba lo siguiente:

				
					
sudo a2dissite 000-default

				
			

Para asegurarse de que su archivo de configuración no contenga errores de sintaxis, ejecute lo siguiente:

				
					
sudo apache2ctl configtest

				
			

Por último, vuelva a cargar Apache para que estos cambios surtan efecto:

				
					
sudo systemctl reload apache2

				
			

Ahora, su nuevo sitio web está activo, pero el directorio root web /var/www/<^>your_domain<^> todavía está vacío. Cree un archivo index.html en esa ubicación para poder probar que el host virtual funcione según lo previsto:

				
					
nano /var/www/&lt;^&gt;your_domain&lt;^&gt;/index.html

				
			

Incluya el siguiente contenido en este archivo:

				
					
[label /var/www/your_domain/index.html]

&lt;html&gt;

 &lt;head&gt;

 &lt;title&gt;&lt;^&gt;your_domain&lt;^&gt; website&lt;/title&gt;

 &lt;/head&gt;

 &lt;body&gt;

 &lt;h1&gt;Hello World!&lt;/h1&gt;



 &lt;p&gt;This is the landing page of &lt;strong&gt;&lt;^&gt;your_domain&lt;^&gt;&lt;/strong&gt;.&lt;/p&gt;

 &lt;/body&gt;

&lt;/html&gt;

				
			

Ahora, diríjase a su navegador y acceda al nombre de dominio o la dirección IP de su servidor una vez más:

				
					
http://&lt;^&gt;server_domain_or_IP&lt;^&gt;

				
			

Verá una página como la siguiente:

Paso 5: Probar PHP con Apache

Ahora, crearemos una secuencia de comandos PHP de prueba para confirmar que Apache pueda gestionar y procesar las solicitudes de archivos PHP.

Cree un archivo nuevo llamado info.php dentro de su carpeta root web personalizada:

				
					
nano /var/www/&lt;^&gt;your_domain&lt;^&gt;/info.php

				
			

Con esto se abrirá un archivo vacío. Añada el siguiente contenido al archivo:

				
					
[label /var/www/your_domain/info.php]

&lt;?php

phpinfo();

				
			

Cuando termine, guarde y cierre el archivo.

Diríjase a su navegador web y acceda al nombre de dominio o la dirección IP de su servidor, seguido del nombre de la secuencia de comandos, que en este caso es info.php:

				
					
http://&lt;^&gt;server_domain_or_IP&lt;^&gt;/info.php

				
			

Verá una página similar a la siguiente:

Tras comprobar la información pertinente sobre su servidor PHP a través de esa página, se le recomienda eliminar el archivo que creó, dado que contiene información confidencial sobre su entorno PHP y su servidor de Ubuntu. Puede usar rm para hacerlo:

				
					
sudo rm /var/www/&lt;^&gt;your_domain&lt;^&gt;/info.php