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


LEMP ou Linux , Engine-x , MySQL e PHP stack é um software pacote composto de software de código aberto instalado no sistema operacional Linux para executar aplicativos da Web baseados em PHP, com o servidor Nginx HTTP e o sistema de gerenciamento de banco de dados MySQL/MariaDB .

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

Instalando o servidor HTTP Nginx

O Nginx é um servidor proxy e HTTP rápido e confiável que pode lidar com uma carga maior de solicitações HTTP. Ele usa uma abordagem orientada a eventos assíncrona para lidar com solicitações, e sua arquitetura modular orientada a eventos pode fornecer um 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 e, em seguida, ativá-lo automaticamente na inicialização e verificar o status de Nginx executando os seguintes comandos.

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

Neste ponto, o servidor da Web Nginx deve estar ativo e em execução, 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. Diferentemente de outras distribuições do Linux, em openSUSE , Nginx não possui um documento padrão index.html na pasta raiz da web. Precisamos criar um novo arquivo index.html sob o diretório web raiz /srv/www/htdocs como mostra.

$ 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 a porta 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

O MariaDB é uma bifurcação gratuita e de código aberto do sistema de gerenciamento de banco de dados relacional MySQL . Ele é desenvolvido pelos desenvolvedores originais do MySQL e destina-se a permanecer no código aberto. O MariaDB é rápido, escalável e robusto, com um rico ecossistema de mecanismos de armazenamento, plugins e muitas outras ferramentas que o tornam muito versátil para uma grande 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 e, em seguida, ative-o para iniciar automaticamente 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 desta seção é proteger a instalação do servidor MariaDB. Portanto, execute o script de segurança que vem com o pacote MariaDB, conforme mostrado.

vermelho

$ sudo mysql_secure_installation 

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

Instalando e configurando o PHP e o PHP-FPM

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

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

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

Antes de continuarmos a iniciar 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 

Descomente a linha a seguir no número da linha 24, como mostrado.

error_log = log/php-fpm.log

Salve e feche o arquivo.

Em seguida, 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 do Unix e o proprietário do grupo de processos para o usuário e grupo do 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 para executar, 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 para.

cgi.fix_pathinfo=0

Salve as alterações no arquivo e saia.

Em seguida, inicie o serviço PHP-FPM por enquanto e, em seguida, ative-o para iniciar automaticamente 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 Trabalhar com o PHP-FPM

Neste ponto, precisamos configurar o Nginx para trabalhar com o 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 o 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 seguinte seção (que deve ser comentada) e descomente-a. Esta seção é usada para passar os scripts PHP para a escuta do servidor FastCGI 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 mostrando.

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

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

$ sudo nginx -t

Se a sintaxe de configuração do Nginx estiver ok, vá em frente e reinicie os serviços Nginx e PHP-FPM para que as alterações recentes sejam efetivadas.

$ 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 captura de tela a seguir.

Instalando e configurando o PhpMyAdmin

O phpMyAdmin é uma ferramenta gratuita, simples, fácil de usar e popular, escrita em PHP, criada para administrar o servidor MySQL pela Web. Ele oferece uma ampla gama de operações no MySQL e MariaDB .

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

$ sudo zypper install phpMyAdmin

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

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

Adicione estas configurações a seguir 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 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 , < strong> PHP-FPM e PhpMyAdmin nas edições OpenSuse de servidor/desktop. Se você está enfrentando algum problema durante a configuração, faça suas perguntas por meio de um formulário de comentários abaixo.