Pesquisa de site

Como instalar o LEMP Stack com PhpMyAdmin no Ubuntu 20.04


Para aqueles que não sabem o que é LEMP – esta é uma combinação de pacotes de software – Linux, Nginx (pronuncia-se EngineX), MariaDB e PHP.

Você pode usar LEMP para fins de teste ou em um ambiente de produção real para implantar aplicações web usando estruturas PHP como Laravel ou Yii, ou sistemas de gerenciamento de conteúdo como WordPress, Drupal ou Joomla

Você pode estar se perguntando qual é a diferença entre LAMP e LEMP. Bem, a única diferença é o servidor web incluído – Apache (em LAMP) e Nginx (em LEMP >). Ambos os servidores web são muito bons e embora o Apache seja o usado com mais frequência, o Nginx não recua de forma alguma.

Outro aplicativo amplamente utilizado normalmente instalado junto com a pilha LEMP é o PhpMyAdmin – é uma ferramenta PHP baseada na web para administrar um servidor de banco de dados MySQL/MariaDB de um navegador da web.

Se você está procurando uma configuração LAMP para o seu Ubuntu 20.04, então você deve ler nosso guia de configuração LAMP no Ubuntu 20.04.

Pré-requisitos:

  1. Guia de instalação do servidor Ubuntu 20.04

Neste artigo, você aprenderá como instalar e configurar a pilha LEMP com PhpMyAdmin no servidor Ubuntu 20.04.

Etapa 1: Instalando o Nginx no Ubuntu 20.04

1. Nginx é um servidor web moderno e rápido projetado para servir muitas conexões simultâneas sem consumir muitos recursos do servidor. É por isso que muitas vezes é a escolha preferida em ambientes empresariais.

NGINX também é comumente usado como balanceador de carga e cache de conteúdo da web. Ele suporta servidores virtuais baseados em nome e IP (análogos aos hosts virtuais no Apache).

Você pode instalar o Nginx em seu desktop ou servidor Ubuntu 20.04 executando o seguinte comando.

sudo apt update
sudo apt install nginx

Os arquivos de configuração do Nginx são armazenados no diretório /etc/nginx e seu arquivo de configuração principal é /etc/nginx/nginx.conf. É importante ressaltar que a raiz do documento padrão para armazenar seus arquivos da web é /usr/share/nginx/html/. Mas você pode usar o padrão /var/www/html que deve ser configurado no arquivo de configuração de bloco do servidor do seu site ou aplicação.

2. O instalador do pacote Ubuntu aciona o systemd para iniciar o serviço Nginx e permitir que ele seja iniciado automaticamente sempre que o servidor for reinicializado. Use os seguintes comandos systemctl para confirmar se o serviço está em execução e ativado.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Agora é hora de verificar se a instalação do Nginx foi bem-sucedida chamando a página do Nginx via navegador usando o endereço IP do servidor.

http://SERVER_IP

Se você não souber o endereço IP do seu servidor, poderá encontrá-lo usando o comando IP conforme mostrado.

ip addr show

A página da web padrão do NGINX deve carregar conforme mostrado na captura de tela a seguir, confirmando a instalação e operação corretas.

Etapa 2: Instalando o banco de dados MariaDB no Ubuntu 20.04

4. MariaDB é um sistema de gerenciamento de banco de dados relacional relativamente novo que foi projetado como uma bifurcação comunitária do MySQL após sua aquisição pela Oracle.

A instalação do MariaDB é simples e pode ser iniciada com comandos como:

sudo apt install mariadb-server mariadb-client

5. O serviço MariaDB também é iniciado automaticamente e habilitado para sempre iniciar na inicialização do sistema e você pode confirmar isso usando os seguintes comandos.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Se desejar melhorar a segurança do MariaDB, você pode executar o comando mysql_secure_installation, que fornecerá algumas opções básicas, mas importantes, para configurar :

sudo mysql_secure_installation

Em seguida, escolha a opção de definir a senha do usuário raiz do banco de dados (ou administrador), siga as instruções e leia atentamente as perguntas. Para proteger seu servidor de banco de dados, responda às perguntas conforme mostrado na captura de tela.

  • Digite a senha atual para root (digite para nenhuma): Enter
  • Definir uma senha de root? [S/n] s
  • Remover usuários anônimos? [S/n] s
  • Proibir login root remotamente? [S/n] s
  • Remover banco de dados de teste e acesso a ele? [S/n] s
  • Recarregar tabelas de privilégios agora? [S/n] s

7. Para criar, gerenciar e executar operações de banco de dados, você precisa do comando shell mysql com o sinalizador -u para especificar o nome de usuário do banco de dados e -p para fornecer a senha do usuário.

Para se conectar como usuário root, use o comando sudo (mesmo sem o sinalizador -p), caso contrário você receberá o erro destacado na imagem a seguir.

mysql -u root -p
sudo mysql -u root

Etapa 3: Instalando PHP no Ubuntu 20.04

8. PHP é uma linguagem de script popular, de código aberto, flexível e dinâmica para construção de sites e aplicativos da web. Ele suporta uma variedade de técnicas de programação. É importante ressaltar que a comunidade PHP é grande e diversificada, composta por inúmeras bibliotecas, frameworks e outros componentes úteis.

NGINX usa FPM (FastCGI Process Manager) ou PHP-FPM para processar scripts PHP. PHP-FPM é uma implementação alternativa de PHP FastCGI amplamente utilizada que vem com muitos recursos adicionais e é usada para alimentar sites/aplicativos da web de alto tráfego.

Para instalar o PHP e o PHP-FPM, execute o seguinte comando que também instalará alguns pacotes adicionais necessários.

sudo apt install php php-mysql php-fpm

Como PHP 7.4 é a versão padrão do PHP no Ubuntu 20.04, os arquivos de configuração do PHP estão localizados em /etc/php/7.4 / e os arquivos de configuração do PHP-FPM são armazenados em /etc/php/7.4/fpm.

9. Em seguida, verifique se o serviço php7.4-fpm está instalado e funcionando e se está habilitado com o seguinte comando.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Etapa 4: Configurando o Nginx para funcionar com PHP-FPM

10. Agora você precisa configurar o NGINX para fazer proxy de solicitações de clientes para PHP-FPM, que por padrão está configurado para escutar em um Soquete UNIX conforme definido pelo parâmetro listen no arquivo de configuração de pool padrão /etc/php/7.4/fpm/pool.d/www.conf.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. No arquivo de configuração do bloco de servidor padrão (/etc/nginx/sites-available/default), remova o comentário da diretiva do local para processamento do PHP solicitações para se parecer com o mostrado na captura de tela a seguir.

sudo vi /etc/nginx/sites-available/default

Salve o arquivo e saia.

12. Em seguida, teste a correção da sintaxe de configuração do NGINX. Se estiver tudo bem, reinicie o serviço Nginx para aplicar as novas alterações.

sudo nginx -t
sudo systemctl restart nginx

13. Agora teste se o NGINX pode funcionar em conjunto com o PHP-FPM para processar solicitações PHP. Crie uma página info.php simples no diretório raiz do documento.

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. Em seu navegador, navegue usando o seguinte endereço. A página de configuração do PHP deve carregar conforme mostrado na imagem a seguir.

http://SERVER_IP/info.php

Etapa 5: Instalando o PhpMyAdmin no Ubuntu 20.04

15. PhpMyAdmin é um aplicativo PHP gratuito e de código aberto baseado na Web, criado especificamente para administrar servidores de banco de dados MySQL/MariaDB por meio de um navegador da Web. Ele fornece uma interface gráfica intuitiva e oferece suporte a uma ampla gama de recursos comuns para tarefas de administração de banco de dados.

sudo apt install phpmyadmin

16. Durante a instalação do pacote, você será solicitado a configurar vários aspectos do pacote PhpMyAdmin. Primeiro, será solicitado que você escolha o servidor web padrão para executá-lo. Pressione Esc porque NGINX não está na lista fornecida.

17. Em seguida, o PhpMyAdmin requer um banco de dados para trabalhar. Neste prompt de configuração do pacote, escolha Sim para configurar um banco de dados para PhpMyAdmin com o pacote dbconfig-common.

18. No próximo prompt, você precisa fornecer uma senha para que o PhpMyAdmin se registre no banco de dados MariaDB. Digite uma senha segura e clique em Enter.

Etapa 6: Configurando o NGINX para servir o site PhpMyAdmin

19. Para permitir que o NGINX sirva o site PhpMyAdmin localizado em /usr/share/phpmyadmin, crie um link simbólico para este diretório na raiz do documento e defina as permissões e propriedade corretas no diretório PHPMyAdmin como segue.

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Além disso, certifique-se de que a diretiva index no arquivo de configuração do bloco de servidor padrão (/etc/nginx/sites-available/default) inclua index.php conforme mostrado na imagem a seguir.

21. Em seguida, reinicie o serviço Nginx mais uma vez para aplicar as alterações acima.

sudo systemctl restart nginx

22. Agora acesse o site PhpMyAdmin a partir de um navegador usando o seguinte endereço.

http://SERVER_IP/phpmyadmin

Na página de login, autentique-se com o nome de usuário e senha do PHPMyAdmin. Lembre-se de que o login do usuário root remoto está desabilitado, a menos que você esteja acessando o PHPMyAdmin no host local onde o banco de dados MariaDB está instalado, o acesso root não funcionará.

Por último, mas não menos importante, proteja sua instalação do PhpMyAdmin usando nosso guia: 4 dicas úteis para proteger a interface da web do PhpMyAdmin.

Conclusão

Sua configuração do LEMP agora está concluída e você pode começar a construir suas aplicações web ou simplesmente brincar com os serviços Nginx e MariaDB que acabou de instalar. Eles são amplamente utilizados e obter mais conhecimento sobre eles é altamente recomendado para administradores de sistema.