Tutorial: Instalación de una pila LAMP en una máquina virtual Linux en Azure
Se aplica a: ✔️ Máquinas virtuales Linux
En este artículo se ofrecen instrucciones paso a paso para implementar un servidor web Apache, MySQL y PHP (la pila LAMP) en una máquina virtual de Ubuntu en Azure. Para ver el servidor LAMP en acción, si lo desea, puede instalar y configurar un sitio de WordPress. En este tutorial, aprenderá a:
- Creación de una máquina virtual de Ubuntu
- Apertura del puerto 80 para el tráfico web
- Instalación de Apache, MySQL y PHP
- Comprobación de la instalación y configuración
- Instalación de WordPress
Esta configuración es para pruebas rápidas o prueba de concepto. Para más información sobre la pila LAMP, incluyendo recomendaciones para un entorno de producción, consulte la documentación de Ubuntu.
En este tutorial se usa la CLI dentro de Azure Cloud Shell, que se actualiza constantemente a la versión más reciente. Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior de cualquier bloque de código.
Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la versión 2.0.30 u otra posterior. Ejecute az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Crear un grupo de recursos
Para crear un grupo de recursos, use el comando az group create. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.
En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus.
az group create --name myResourceGroup --location eastus
Creación de una máquina virtual
Cree la máquina virtual con el comando az vm create.
En el ejemplo siguiente, se creará una máquina virtual denominada myVM y las claves SSH si aún no existieran en una ubicación de claves predeterminada. Para utilizar un conjunto específico de claves, utilice la opción --ssh-key-value
. El comando también establece azureuser como nombre de usuario de administrador. Use este nombre más adelante para conectarse a la VM.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Cuando se ha creado la máquina virtual, la CLI de Azure muestra información similar al ejemplo siguiente. Anote el valor de publicIpAddress
. Esta dirección se utiliza para acceder a la VM en los pasos posteriores.
{
"fqdns": "",
"id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "40.68.254.142",
"resourceGroup": "myResourceGroup"
}
Apertura del puerto 80 para el tráfico web
De forma predeterminada, solo se permiten conexiones mediante SSH con las máquinas virtuales Linux implementadas en Azure. Dado que esta máquina virtual va a ser un servidor web, debe abrir el puerto 80 desde Internet. Use el comando az vm open-port para abrir el puerto deseado.
az vm open-port --port 80 --resource-group myResourceGroup --name myVM
Para obtener más información sobre cómo abrir puertos en la máquina virtual, consulte Apertura de puertos.
Conexión SSH con la máquina virtual
Si no conoce la dirección IP pública de la máquina virtual, ejecute el comando az network public-ip list. Necesitará esta dirección IP para varios pasos posteriores.
az network public-ip list --resource-group myResourceGroup --query [].ipAddress
Ejecute el comando siguiente para crear una sesión SSH con la máquina virtual. Sustituya la dirección IP pública correcta de la máquina virtual. En este ejemplo, la dirección IP es 40.68.254.142. azureuser se establece el nombre de usuario de administrador establecido al crear la VM.
ssh azureuser@40.68.254.142
Instalación de Apache, MySQL y PHP
Ejecute el siguiente comando para actualizar los orígenes de paquetes de Ubuntu e instalar Apache, MySQL y PHP. Tenga en cuenta el símbolo de intercalación (^) al final del comando, que forma parte del nombre del paquete lamp-server^
.
sudo apt update && sudo apt install lamp-server^
Se le pide que instale los paquetes y otras dependencias. Este proceso instala las extensiones PHP mínimas necesarias para utilizar PHP con MySQL.
Comprobación de Apache
Compruebe la versión de Apache con el comando siguiente:
apache2 -v
Con Apache instalado y el puerto 80 abierto para la máquina virtual, ahora se puede acceder al servidor web desde Internet. Para ver la página predeterminada de Apache2 Ubuntu, abra un explorador web y escriba la dirección IP pública de la máquina virtual. Use la dirección IP pública utilizada para SSH en la máquina virtual:
Comprobación y protección de MySQL
Compruebe la versión de MySQL con el siguiente comando (tenga en cuenta el parámetro V
en mayúsculas):
mysql -V
Para ayudar a proteger la instalación de MySQL, incluido el establecimiento de una contraseña raíz, ejecute el script mysql_secure_installation
.
sudo mysql_secure_installation
Si lo desea, puede configurar el complemento para validar contraseña (se recomienda). A continuación, establezca una contraseña para el usuario raíz de MySQL y configure las opciones de seguridad restantes para su entorno. Se recomienda que responda "Y" (Yes o Sí) para todas las preguntas.
Si desea crear probar características de MySQL (crear una base de datos MySQL, agregar usuarios o cambiar la configuración), inicie sesión en MySQL. Este paso no es necesario para completar este tutorial.
sudo mysql -u root -p
Cuando haya terminado, escriba \q
para salir del símbolo del sistema de mysql.
Comprobación de PHP
Compruebe la versión de PHP con el comando siguiente:
php -v
Si desea realizar más pruebas, cree una página PHP de información rápida para verla en un explorador. El siguiente comando crea la página de información de PHP:
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'
Ahora puede comprobar la página de información de PHP que creó. Abra un explorador y vaya a http://yourPublicIPAddress/info.php
. Sustituya la dirección por la dirección IP pública de la máquina virtual. Debe tener un aspecto similar a esta imagen.
Instalación de WordPress
Si desea probar la pila, instale una aplicación de ejemplo. Por ejemplo, los pasos siguientes instalan la plataforma de código abierto WordPress, que permite crear sitios web y blogs. Otras cargas de trabajo para probar podrían ser Drupal y Moodle.
Esta instalación de WordPress es solo para la prueba de concepto. Para instalar la versión más reciente de WordPress en producción con la configuración de seguridad recomendada, consulte la documentación de WordPress.
Instalación del paquete de WordPress
Ejecute el comando siguiente:
sudo apt install wordpress
Configuración de WordPress
Configure WordPress para usar PHP y MySQL.
En un directorio de trabajo, cree un archivo de texto wordpress.sql
para configurar la base de datos MySQL para WordPress:
sudo sensible-editor wordpress.sql
Agregue los siguientes comandos, sustituyendo la contraseña de una base de datos de su elección por su_contraseña (deje otros valores sin modificar). Si anteriormente configuró una directiva de seguridad de MySQL para validar la seguridad de la contraseña, asegúrese de que esta cumple los requisitos de seguridad. Guarde el archivo.
CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';
Ejecute el siguiente comando para crear la base de datos:
cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf
Dado que el archivo wordpress.sql
contiene credenciales de base de datos, elimínelo después de usarlo:
sudo rm wordpress.sql
Para configurar PHP, ejecute el siguiente comando para abrir un editor de texto y crear el archivo /etc/wordpress/config-localhost.php
:
sudo sensible-editor /etc/wordpress/config-localhost.php
Copie las líneas siguientes en el archivo, sustituyendo la contraseña de la base de datos de WordPress por su_contraseña (deje otros valores sin modificar). A continuación, guarde el archivo.
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>
Mueva la instalación de WordPress a la raíz de documentos del servidor web:
sudo ln -s /usr/share/wordpress /var/www/html/wordpress
sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php
Ahora puede completar la instalación de WordPress y publicar en la plataforma. Abra un explorador y vaya a http://yourPublicIPAddress/wordpress
. Sustituya la dirección por la dirección IP pública de la máquina virtual. Debe tener un aspecto similar a esta imagen.
Pasos siguientes
En este tutorial, implementó un servidor LAMP en Azure. Ha aprendido a:
- Creación de una máquina virtual de Ubuntu
- Apertura del puerto 80 para el tráfico web
- Instalación de Apache, MySQL y PHP
- Comprobación de la instalación y configuración
- Instalación de WordPress en el servidor LAMP
Pase al siguiente tutorial para aprender a proteger servidores web con certificados TLS/SSL.