Developer Advocate
Neste guia de consulta rápida, instalaremos uma pilha LEMP em um servidor Ubuntu 20.04.
Para uma versão mais detalhada deste tutorial, com mais explicações de cada passo, consulte o tutorial How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 20.04.
Para seguir este guia, você precisará ter acesso a um servidor Ubuntu 20.04 como um usuário sudo
.
Atualize o cache do seu gerenciador de pacotes e, em seguida, instale o Nginx com:
- sudo apt update
- sudo apt install nginx
Assim que a instalação terminar, você precisará ajustar suas configurações de firewall para permitir o tráfego HTTP em seu servidor. Execute o seguinte comando para permitir o acesso externo na porta 80
(HTTP):
- sudo ufw allow in "Nginx"
Com a nova regra de firewall adicionada, você poderá testar se o servidor está em funcionamento, acessando o endereço IP público do seu servidor ou nome de domínio do seu navegador Web. Você verá uma página como esta:
Agora, vamos instalar o MySQL, um popular sistema de gerenciamento de banco de dados utilizado em ambientes PHP.
Novamente, utilize o apt
para adquirir e instalar este software:
- sudo apt install mysql-server
Quando a instalação terminar, é recomendável que você execute um script de segurança que vem pré-instalado com o MySQL. Inicie o script interativo executando:
- sudo mysql_secure_installation
Este script irá perguntar se você deseja configurar o VALIDATE PASSWORD PLUGIN
. Responda Y
para sim, ou qualquer outra coisa para continuar sem a habilitar. Se você responder “yes”, você será solicitado a selecionar um nível de validação por senha.
Em seguida, seu servidor pedirá que você escolha e confirme uma senha para o root user do MySQL. Embora o método de autenticação predefinido para o root user dispense o uso de uma senha, mesmo quando uma senha está definida, você deve definir uma senha forte aqui como uma medida de segurança adicional.
Para o resto das perguntas, pressione Y
e pressione a tecla ENTER
em cada prompt.
Nota: no momento em que este artigo foi escrito, a biblioteca nativa do PHP para o MySQL mysqlnd
não suporta o caching_sha2_authentication
, o método de autenticação padrão para o MySQL 8. Por essa razão, ao criar usuários de banco de dados para aplicações PHP no MySQL 8, você precisará garantir que eles estejam configurados para usar o mysql_native_password
. Por favor, consulte o passo 6 do nosso guia detalhado de LEMP no Ubuntu 20.04 para aprender como fazer isto.
Para instalar os pacotes php-fpm
e php-mysql
, execute:
- sudo apt install php-fpm php-mysql
Neste guia,vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio.
No Ubuntu 20.04, o Nginx tem um bloco de servidor habilitado por padrão que está configurado para servir documentos do diretório /var/www/html
. Enquanto isso funciona bem para um único site, isso se torna difícil de gerenciar se você estiver hospedando vários sites. Em vez de modificar o /var/www/html
, vamos criar uma estrutura de diretórios dentro do /var/www
para o site your_domain, deixando o /var/www/html
intocado como o diretório padrão para ser servido se uma solicitação de cliente não corresponder a nenhum outro site.
Crie o diretório para your_domain como segue:
- sudo mkdir /var/www/your_domain
Em seguida, atribua a propriedade do diretório com a variável de ambiente $USER, que deve fazer referência ao seu usuário de sistema atual:
- sudo chown -R $USER:$USER /var/www/your_domain
Em seguida, abra um novo arquivo de configuração no diretório sites-available
do Nginx usando seu editor de linha de comando preferido. Aqui, usaremos o nano
:
- sudo nano /etc/nginx/sites-available/your_domain
Isso criará um novo arquivo em branco. Cole nele a seguinte configuração:
server {
listen 80;
server_name your_domain www.your_domain;
root /var/www/your_domain;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Quando terminar de editar, salve e feche o arquivo. Se você estiver usando o nano
, você pode fazer isso digitando CTRL+X
e, depois, y
e ENTER
para confirmar.
Ative sua configuração vinculando ao arquivo de configuração no diretório sites-enabled
do Nginx:
- sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Isso dirá ao Nginx para usar a configuração da próxima vez que ela for recarregada. Teste a configuração para conferir erros de sintaxe digitando:
- sudo nginx -t
Se algum erro for reportado, volte para seu arquivo de configuração para revisar seu conteúdo antes de continuar.
Quando estiver pronto, recarregue o Nginx para aplicar as alterações:
- sudo systemctl reload nginx
Agora, seu novo site está ativo, mas o web root /var/www/your_domain
ainda está vazio. Crie um arquivo index.html
naquele local para que possamos testar se o seu novo bloco de servidor funciona conforme esperado:
- nano /var/www/your_domain/index.html
Inclua o conteúdo a seguir neste arquivo:
<html>
<head>
<title>your_domain website</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is the landing page of <strong>your_domain</strong>.</p>
</body>
</html>
Agora, vá para seu navegador e acesse o nome de domínio ou endereço IP do seu servidor, conforme listado na diretiva server_name
em seu arquivo de configuração de bloco de servidor:
http://server_domain_or_IP
Você verá uma página como esta:
Agora, vamos criar um script de teste PHP para confirmar que o Nginx consegue lidar e processar solicitações para arquivos PHP.
Crie um novo arquivo chamado info.php
dentro de sua pasta web root personalizada:
- nano /var/www/your_domain/info.php
Isso abrirá um arquivo em branco. Adicione o conteúdo a seguir ao arquivo:
<?php
phpinfo();
Quando você terminar, salve e feche o arquivo.
Agora, você pode acessar essa página em seu navegador web visitando o nome de domínio ou o endereço IP público que você configurou em seu arquivo de configuração do Nginx, seguido por /info.php
:
http://server_domain_or_IP/info.php
Você verá uma página web contendo informações detalhadas sobre seu servidor:
Após verificar as informações relevantes sobre seu servidor PHP através dessa página, é melhor remover o arquivo que você criou, uma vez que ele contém informações sensíveis sobre seu ambiente PHP e seu servidor Ubuntu. Use o rm
para remover esse arquivo:
- sudo rm /var/www/your_domain/info.php
Aqui estão os links para os guias mais detalhados relacionados a este tutorial:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!