Pesquisa de site

Instale LEMP - Nginx, PHP, MariaDB e PhpMyAdmin no OpenSUSE


LEMP ou Linux, Engine-x, MySQL e PHP stack é um software pacote composto por software de código aberto instalado no sistema operacional Linux para execução de aplicações web baseadas em PHP, alimentado pelo servidor Nginx HTTP e pelo sistema de gerenciamento de banco de dados MySQL/MariaDB.

Leia também: Instale LAMP – Apache, PHP, MariaDB e PhpMyAdmin no OpenSUSE

Este tutorial irá guiá-lo sobre como instalar uma pilha LEMP com Nginx, MariaDB, PHP, PHP-FPM e PhpMyAdmin nas edições servidor/desktop do OpenSuse.

Instalando o servidor HTTP Nginx

Nginx é um servidor HTTP e proxy rápido e confiável que pode lidar com maior carga de solicitações HTTP. Ele usa uma abordagem assíncrona orientada a eventos para lidar com solicitações, e sua arquitetura modular orientada a eventos pode fornecer desempenho mais previsível sob altas cargas.

Para instalar o Nginx no OpenSuse, execute o seguinte comando.

sudo zypper install nginx

Depois que o Nginx estiver instalado, você poderá iniciar o serviço por enquanto, ativá-lo para inicialização automática no momento da inicialização e verificar o status do Nginx executando os seguintes comandos.

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Leia também: 10 comandos Nginx mais usados que todo usuário Linux deve conhecer

Neste ponto, o servidor web Nginx deve estar instalado e funcionando. Você também pode verificar o status usando o comando netstat conforme mostrado.

sudo netstat -tlpn | grep nginx

Agora precisamos testar se a instalação do Nginx está funcionando bem. Ao contrário de outras distribuições Linux, no openSUSE, o Nginx não possui um documento index.html padrão na pasta raiz da web. Precisamos criar um novo arquivo index.html no diretório raiz da web "/srv/www/htdocs" como mostrado.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Se você tiver o firewalld instalado, será necessário abrir as portas 80 e 443 para permitir o tráfego da web no firewall.

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Em seguida, abra um navegador da web e navegue até o endereço http://localhost e verifique a página Nginx.

Instalando o servidor de banco de dados MariaDB

MariaDB é um fork gratuito e de código aberto do sistema de gerenciamento de banco de dados relacional MySQL. Ele foi desenvolvido pelos desenvolvedores originais do MySQL e pretende permanecer de código aberto. MariaDB é rápido, escalável e robusto, com um rico ecossistema de mecanismos de armazenamento, plug-ins e muitas outras ferramentas que o tornam muito versátil para uma ampla variedade de casos de uso.

Para instalar o MariaDB no OpenSuse, execute o seguinte comando.

sudo zypper install mariadb mariadb-client 

Em seguida, inicie o serviço MariaDB por enquanto, ative-o para inicialização automática no momento da inicialização e verifique seu status.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

A próxima etapa crítica nesta seção é proteger a instalação do servidor MariaDB. Portanto execute o script de segurança que acompanha o pacote MariaDB, conforme mostrado.

Nota: Executar o script de segurança MariaDB e todas as suas partes é altamente recomendado para todos os servidores MariaDB em produção.

sudo mysql_secure_installation 

Depois de executar o script, leia atentamente a descrição de cada etapa. Você deve definir uma senha de usuário root, remover usuários anônimos, desabilitar o acesso root remoto, remover o banco de dados de teste e o acesso a ele e finalmente recarregar a tabela de privilégios.

Instalando e configurando PHP e PHP-FPM

PHP-FPM (abreviação de PHP FastCGI Process Manager) é um daemon FastCGI alternativo para PHP com alguns recursos adicionais e projetado para suportar cargas elevadas. Ele mantém pools (trabalhadores que podem responder a solicitações PHP) para fazer isso. É importante ressaltar que é mais rápido que os métodos tradicionais baseados em CGI, como SUPHP, para ambientes PHP multiusuários.

Para instalar PHP e PHP-FPM junto com os módulos necessários, execute o seguinte comando.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Antes de iniciarmos o serviço PHP-FPM, precisamos criar os arquivos de configuração necessários a partir dos arquivos padrão fornecidos durante a instalação e configurar o serviço pronto para operações.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Em seguida, abra o arquivo de configuração principal php-fpm.conf para edição.

sudo vim /etc/php7/fpm/php-fpm.conf 

Remova o comentário da linha a seguir no número 24, conforme mostrado.

error_log = log/php-fpm.log

Salve e feche o arquivo.

A seguir, precisamos definir as configurações corretas para os pools configurados no arquivo de configuração www.conf.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Primeiro, configure o proprietário Unix e o proprietário do grupo de processos para o usuário e grupo Nginx. Faça isso alterando os valores dos parâmetros de usuário e grupo de nobody para nginx.

user = nginx
group = nginx

Agora salve as alterações no arquivo e saia dele.

Além disso, há mais uma configuração importante a ser executada, que protege o PHP-FPM no arquivo /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Procure a linha ;cgi.fix_pathinfo=1 e altere-a para.

cgi.fix_pathinfo=0

Salve as alterações no arquivo e saia.

Em seguida, inicie o serviço PHP-FPM por enquanto, ative-o para inicialização automática no momento da inicialização e verifique seu status.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

Configurando o Nginx para funcionar com PHP-FPM

Neste ponto, precisamos configurar o Nginx para funcionar com PHP-FPM no arquivo de configuração padrão do Nginx.

sudo vim /etc/nginx/nginx.conf

Em seguida, procure a seção a seguir e adicione index.php na lista de arquivos de índice esperados.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Encontre também a seção a seguir (que deve ser comentada) e remova o comentário. Esta seção é usada para passar os scripts PHP para o servidor FastCGI escutando em 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Salve as alterações no arquivo e saia.

Testando Nginx e PHP-FPM

O próximo passo é testar se o Nginx está funcionando bem em conjunto com o PHP-FPM criando um novo arquivo de teste PHP no diretório DocumentRoot como mostrando.

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

Agora precisamos verificar se a configuração do Nginx está correta da seguinte forma, antes de prosseguirmos para reiniciar o serviço.

sudo nginx -t

Se a sintaxe de configuração do Nginx estiver correta, reinicie os serviços Nginx e PHP-FPM para que as alterações recentes tenham efeito.

sudo systemctl restart nginx php-fpm

Agora abra um navegador da web e navegue até o endereço http://localhost/info.php para verificar a configuração do PHP conforme mostrado na imagem a seguir.

Instalando e configurando PhpMyAdmin

phpMyAdmin é uma ferramenta gratuita, simples, fácil de usar e popular, escrita em PHP, desenvolvida para administrar servidores MySQL pela Web. Ele suporta uma ampla gama de operações em MySQL e MariaDB.

Para instalar o phpMyAdmin no OpenSuse, execute o seguinte comando.

sudo zypper install phpMyAdmin

Assim que a instalação for concluída, crie um novo arquivo de configuração vhost para acessar o phpMyAdmin conforme mostrado.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Adicione as seguintes configurações ao arquivo.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Salve as alterações e feche o arquivo. Em seguida, reinicie o serviço Nginx com o seguinte comando.

sudo systemctl restart nginx

Agora vá para o seu navegador e digite o endereço http://localhost/phpMyAdmin. Uma página de login do phpMyAdmin deve ser exibida conforme mostrado na captura de tela a seguir. Insira as credenciais de login do usuário raiz do banco de dados e clique em Ir.

Isso é tudo! Neste tutorial, explicamos como instalar uma pilha LEMP com Nginx, MariaDB, PHP, PHP-FPM e PhpMyAdmin nas edições de servidor/desktop do OpenSuse. Se você estiver enfrentando algum problema durante a configuração, faça suas perguntas por meio do formulário de comentários abaixo.