Tutorial: Instalar uma pilha LAMP em uma VM do Linux no Azure

Aplica-se a: ✔️ VMs do Linux

Este artigo explica como implantar um servidor Web Apache, MySQL e PHP (a pilha LAMP) em uma VM do Ubuntu no Azure. Para ver o servidor LAMP em ação, opcionalmente, você pode instalar e configurar um site de WordPress. Neste tutorial, você aprenderá a:

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

Essa configuração destina-se a testes rápidos ou provas de conceito. Para saber mais sobre a pilha LAMP, incluindo recomendações para um ambiente de produção, consulte a Documentação do Ubuntu.

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

Se você optar por instalar e usar a CLI localmente, este tutorial exigirá a execução da CLI do Azure versão 2.0.30 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

Criar um grupo de recursos

Crie um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.

O exemplo a seguir cria um grupo de recursos chamado myResourceGroup no local eastus.

az group create --name myResourceGroup --location eastus

Criar uma máquina virtual

Crie uma VM com o comando az vm create.

O exemplo a seguir cria uma VM denominada myVM e cria chaves SSH, se elas ainda não existirem em um local de chave padrão. Para usar um conjunto específico de chaves, use a opção --ssh-key-value. O comando também define azureuser como um nome de usuário de administrador. Use esse nome posteriormente para se conectar à máquina virtual.

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 exemplo a seguir. Anote publicIpAddress. Esse endereço é usado para acessar a VM em etapas 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"
}

Abra a porta 80 para tráfego da Web

Por padrão, somente as conexões de SSH têm permissão em VMs Linux implantadas no Azure. Como essa VM será um servidor Web, você precisa abrir a porta 80 na Internet. Use o comando az vm open-port para abrir a porta desejada.

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

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

SSH em sua VM

Se você ainda não souber o endereço IP público de sua VM, execute o comando az network public-ip list. Você precisa desse endereço IP para várias etapas posteriores.

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

Use o seguinte comando para criar uma sessão SSH com a máquina virtual. Substitua o endereço IP público correto de sua máquina virtual. Neste exemplo, o endereço IP é 40.68.254.142. azureuser é o nome de usuário de administrador definido quando você criou a VM.

ssh azureuser@40.68.254.142

Instalar Apache, MySQL e PHP

Execute o seguinte comando para atualizar as fontes de pacote do Ubuntu e instalar o Apache, o MySQL e o PHP. Observe o acento circunflexo (^) no final do comando, que é parte do nome do pacote lamp-server^.

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

Você será solicitado a instalar os pacotes e outras dependências. Esse processo instala as extensões PHP mínimas obrigatórias e necessárias para usar o PHP com o MySQL.

Verifique 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 sua VM, o servidor Web agora pode ser acessado por meio da Internet. Para exibir a página padrão do Apache2 Ubuntu, abra um navegador da Web e digite o endereço IP público da VM. Insira o endereço IP público que você usou para o SSH para a VM:

Página padrão do Apache

Verificar e proteger o MySQL

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

mysql -V

Para ajudar a proteger a instalação do MySQL, incluindo a configuração de uma senha raiz, execute o script mysql_secure_installation.

sudo mysql_secure_installation

Também é possível configurar o Plug-in de Validação de Senha (recomendado). Em seguida, defina uma senha para o usuário raiz do MySQL e as configurações de segurança restantes para o seu ambiente. É recomendável que você responda "Y" (sim) para todas as perguntas.

Se você quiser experimentar os recursos MySQL (criar um banco de dados MySQL, adicionar usuários ou alterar as definições de configuração), faça logon no MySQL. Esta etapa não é necessária para concluir este tutorial.

sudo mysql -u root -p

Quando terminar, saia do prompt do MySQL digitando \q.

Verificar PHP

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

php -v

Se você deseja realizar mais testes, crie uma página de informações rápida de PHP para exibição em um navegador. O comando a seguir cria a página de informações de PHP:

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

Agora você pode verificar a página de informações de PHP que você criou. Abra um navegador e acesse http://yourPublicIPAddress/info.php. Substitua o endereço IP público de sua VM. A página deve ser semelhante a esta imagem.

Página de informações de PHP

Instalar o WordPress

Se você quiser experimentar sua pilha, instale um aplicativo de exemplo. Por exemplo, as etapas a seguir instalam a plataforma WordPress de código-fonte aberto para criar sites e blogs. Outras cargas de trabalho tentam incluir Drupal e Moodle.

Esta instalação do WordPress destina-se apenas à prova de conceito. Para instalar o WordPress mais recente em produção com as configurações de segurança recomendadas, consulte a Documentação do WordPress.

Instalar o pacote de WordPress

Execute o seguinte comando:

sudo apt install wordpress

Configurar WordPress

Configure o WordPress para usar PHP e MySQL.

Em um diretório de trabalho, crie um arquivo de texto wordpress.sql para configurar o banco de dados MySQL do WordPress:

sudo sensible-editor wordpress.sql

Adicione os comandos a seguir, substituindo uma senha de banco de dados de sua escolha por suaSenha (não altere outros valores). Caso você tenha configurado uma política de segurança do MySQL para validar a força da senha, garanta que a senha atenda aos requisitos de força de senha. Salve o arquivo.

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

Execute o comando a seguir para criar o banco de dados:

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

Como o arquivo wordpress.sql contém as credenciais do banco de dados, exclua-o após o uso:

sudo rm wordpress.sql

Para configurar o PHP, execute o seguinte comando para abrir um editor de texto de sua preferência e criar o arquivo /etc/wordpress/config-localhost.php:

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

Copie as linhas a seguir para o arquivo, substituindo a senha do banco de dados do WordPress por suaSenha (não altere outros valores). Em seguida, salve o arquivo.

<?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 você pode concluir a instalação do WordPress e publicar na plataforma. Abra um navegador e acesse http://yourPublicIPAddress/wordpress. Substitua o endereço IP público de sua VM. A página deve ser semelhante a esta imagem.

Página de instalação do WordPress

Próximas etapas

Neste tutorial, você implantou um servidor LAMP no Azure. Você aprendeu a:

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

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