Tutorial: Instalar uma pilha LAMP numa VM linux do Azure

Aplica-se a: ✔️ VMs do Linux

Este artigo explica como implementar um servidor Web Apache, o MySQL e o PHP (pilha LAMP) numa VM do Ubuntu no Azure. Para ver o servidor LAMP em ação, opcionalmente, pode instalar e configurar um site do WordPress. Neste tutorial, ficará a saber como:

  • Criar uma VM do Ubuntu
  • Abrir a porta 80 para o tráfego da Web
  • Instalar o Apache, o MySQL e o PHP
  • Verificar a instalação e a configuração
  • Instalar o WordPress

Esta configuração é para testes rápidos ou uma prova de conceito. Para obter mais informações sobre a pilha LAMP, incluindo as recomendações para um ambiente de produção, veja a Documentação do Ubuntu.

Este tutorial utiliza a CLI na Cloud Shell do Azure, que é constantemente atualizada para a versão mais recente. Para abrir a Cloud Shell, selecione Experimentar na parte superior de qualquer bloco de código.

Se optar por instalar e utilizar a CLI localmente, este tutorial requer a execução da versão 2.0.30 ou posterior da CLI do Azure. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Criar um grupo de recursos

Crie um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.

O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.

az group create --name myResourceGroup --location eastus

Criar uma máquina virtual

Crie uma VM com o comando z vm create.

O exemplo seguinte cria uma VM com o nome myVM e cria chaves SSH se ainda não existirem numa localização de chave predefinida. Para utilizar um conjunto específico de chaves, utilize a opção --ssh-key-value. O comando também define azureuser como um nome de utilizador administrador. Utilize este nome mais tarde para ligar à VM.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Quando a VM tiver sido criada, a CLI do Azure mostra informações semelhantes ao seguinte exemplo. Tome nota do publicIpAddress. Este endereço é utilizado para aceder à VM nos passos 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"
}

Abrir a porta 80 para o tráfego da Web

Por predefinição, só são permitidas ligações SSH a VMs do Linux implementadas no Azure. Uma vez que esta VM vai ser um servidor Web, tem de abrir a porta 80 a partir da Internet. Utilize o comando az vm open-port para abrir a porta pretendida.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

Para obter mais informações sobre como abrir portas para a VM, veja Abrir portas.

Aceder através de SSH à VM

Se ainda não souber o endereço IP público da VM, execute o comando az network public-ip list . Precisará deste endereço IP para vários passos posteriores.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Utilize o seguinte comando para criar uma sessão SSH com a máquina virtual. Substitua o endereço IP público correto da sua máquina virtual. Neste exemplo, o endereço IP é 40.68.254.142. azureuser é o nome de utilizador administrador que definiu quando criou a VM.

ssh azureuser@40.68.254.142

Instalar o Apache, o MySQL e o PHP

Execute os comandos seguintes para atualizar as origens do pacote Ubuntu e instalar o Apache, o MySQL e o PHP. Tenha em atenção ao acento circunflexo (^) no final do comando, que faz parte do nome do pacote lamp-server^.

sudo apt update && sudo apt install lamp-server^

É-lhe pedido para instalar os pacotes e outras dependências. Este processo instala as extensões PHP mínimas necessárias para utilizar o PHP com o MySQL.

Verificar o Apache

Verifique a versão do Apache com o seguinte comando:

apache2 -v

Com o Apache instalado e a porta 80 aberta para a VM, torna-se possível aceder ao servidor Web a partir da Internet. Para a Página Predefinida do Apache2 Ubuntu, abra um browser e introduza o endereço IP público da VM. Utilize o endereço IP público que utilizou para encaminhar o SSH para a VM:

Página predefinida do Apache

Verificar e proteger o MySQL

Verifique a versão do MySQL com o seguinte comando (tenha em atenção o parâmetro V em maiúscula):

mysql -V

Para ajudar a proteger a instalação do MySQL, incluindo a definição de uma palavra-passe de raiz, execute o mysql_secure_installation script.

sudo mysql_secure_installation

Opcionalmente, pode configurar o Plug-in Validar Palavra-passe (recomendado). Em seguida, defina uma palavra-passe para o utilizador raiz do MySQL e configure as restantes definições de segurança para o seu ambiente. Recomendamos que responda "Y" (sim) a todas as perguntas.

Se pretender experimentar funcionalidades do MySQL (criar uma base de dados MySQL, adicionar utilizadores ou alterar as definições de configuração), inicie sessão no MySQL. Este passo não é necessário para concluir este tutorial.

sudo mysql -u root -p

Quando terminar, sair da linha de comandos do mysql, escrevendo \q.

Verificar PHP

Verifique a versão do PHP com o seguinte comando:

php -v

Se pretender mais testes, crie uma página de informações do PHP rápida, para a ver num browser. O comando seguinte cria a página de informações do PHP:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

Agora pode verificar a página de informações do PHP que criou. Abra um browser e aceda a http://yourPublicIPAddress/info.php. Substitua o endereço IP público da sua VM. Deve ter um aspeto semelhante a esta imagem.

Página de informações do PHP

Instalar o WordPress

Se quiser experimentar a sua pilha, instale uma aplicação de exemplo. Por exemplo, os seguintes passos instalam a plataforma de WordPress de código-fonte aberto para criar sites e blogues. Outras cargas de trabalho tentam incluir o Drupal e o Moodle.

Esta configuração do WordPress é apenas para prova de conceito. Para instalar o WordPress mais recente na produção com as definições de segurança recomendadas, veja a documentação do WordPress.

Instalar o pacote do WordPress

Execute o seguinte comando:

sudo apt install wordpress

Configurar WordPress

Configure o WordPress para utilizar o MySQL e PHP.

No diretório de trabalho, crie um ficheiro de texto wordpress.sql para configurar a base de dados do MySQL para o WordPress:

sudo sensible-editor wordpress.sql

Adicione os seguintes comandos, ao substituir uma palavra-passe da base de dados à sua escolha para yourPassword (deixe os outros valores inalterados). Se configurou anteriormente uma política de segurança do MySQL para validar a força da palavra-passe, certifique-se de que a palavra-passe cumpre os requisitos de segurança. Guarde o ficheiro.

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

Execute o comando seguinte para criar a base de dados:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

Uma vez que o ficheiro wordpress.sql contém credenciais de base de dados, elimine-o depois de o utilizar:

sudo rm wordpress.sql

Para configurar o PHP, execute o seguinte comando para abrir um editor de texto à sua escolha e crie o ficheiro /etc/wordpress/config-localhost.php:

sudo sensible-editor /etc/wordpress/config-localhost.php

Copie as seguintes linhas para o ficheiro, ao substituir a palavra-passe da base de dados do WordPress por yourPassword (deixe os outros valores inalterados). Em seguida, guarde o ficheiro.

<?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');
?>

Mova a instalação do WordPress para a raiz do documento do servidor Web:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

Agora, pode concluir a configuração do WordPress e publicar na plataforma. Abra um browser e aceda a http://yourPublicIPAddress/wordpress. Substitua o endereço IP público da sua VM. Deve ter um aspeto semelhante a esta imagem.

Página de instalação do WordPress

Passos seguintes

Neste tutorial, implementou um servidor LAMP no Azure. Aprendeu a:

  • Criar uma VM do Ubuntu
  • Abrir a porta 80 para o tráfego da Web
  • Instalar o Apache, o MySQL e o PHP
  • Verificar a instalação e a configuração
  • Instalar o WordPress no servidor LAMP

Avance para o próximo tutorial para saber como proteger servidores Web com certificados TLS/SSL.