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.