Table of Contents
Introdução
Neste guia, você instalará uma pilha LEMP em um servidor do CentOS 8. Embora o MySQL esteja disponível nos repositórios padrão do CentOS 8, este guia irá guiá-lo pelo processo de configuração de uma pilha LEMP com o MariaDB como o sistema de gerenciamento de banco de dados.
Para obter uma versão mais detalhada deste tutorial, com mais explicações de cada passo, consulte o tutorial sobre Como instalar o Linux, o Nginx, o MySQL e a pilha PHP (LEMP) no CentOS 8.
Pré-requisitos
Para seguir este guia, você precisará ter acesso a um servidor CentOS 8 como um usuário sudo.
Passo 1 — Instalar o Nginx
Instale o pacote nginx com:
sudo dnf install nginx
Após a instalação terminar, execute o seguinte comando para habilitar e iniciar o servidor:
sudo systemctl start nginx
Se o firewalld estiver ativo, você precisará executar o seguinte comando para permitir o acesso externo na porta 80 (HTTP):
sudo firewall-cmd --permanent --add-service=<^>http<^>
Recarregue a configuração do firewall para que as alterações entrem em vigor:
sudo firewall-cmd --reload
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:
Passo 2 — Instalar o MariaDB
Agora, vamos instalar o MariaDB, uma bifurcação – desenvolvida pela comunidade – do servidor MySQL original da Oracle. Para instalar esse software, execute:
sudo dnf install mariadb-server
Quando a instalação terminar, habilite e inicie o servidor MariaDB com:
sudo systemctl start mariadb
Para melhorar a segurança do seu servidor de banco de dados, é recomendável que execute um script de segurança que vem pré-instalado com o MariaDB. Inicie o script interativo com:
sudo mysql_secure_installation
O primeiro prompt pedirá que digite a senha da root do banco de dados atual. Como você instalou o MariaDB e ainda não fez nenhuma alteração de configuração, essa senha estará em branco. Dessa forma, pressione apenas ENTER no prompt.
O próximo prompt pergunta a você se deseja configurar uma senha root do banco de dados. Como o MariaDB usa um método especial de autenticação para o usuário root, o que, normalmente, é mais seguro do que usar uma senha, você não precisa definir isso agora. Digite N e, em seguida, pressione ENTER.
A partir daí, pressione Y e, depois, ENTER para aceitar as configurações padrão para todas as perguntas subsequentes.
Passo 3 — Instalar o PHP-FPM
Para instalar os pacotes php-fpm e php-mysql, execute:
sudo dnf install php-fpm php-mysqlnd
Quando a instalação terminar, você precisará editar o arquivo /etc/php-fpm.d/www.conf para ajustar algumas configurações. Vamos instalar o nano para facilitar a edição desses arquivos:
sudo dnf install nano
Agora, abra o arquivo de configuração /etc/php-fpm.d/www.conf usando o nano ou o editor de sua escolha:
sudo nano /etc/php-fpm.d/www.conf
Procure pelas diretivas de user e group. Se estiver usando o nano, você pode pressionar CTRL+W para pesquisar por esses termos dentro do arquivo aberto. Certifique-se de alterar ambos os valores de apache para nginx:
[label /etc/php-fpm.d/www.conf]
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = <^>nginx<^>
; RPM: Keep a group allowed to write in log dir.
group = <^>nginx<^>
…
Salve e feche o arquivo quando terminar de editar.
Para habilitar e iniciar o serviço php-fpm, execute:
sudo systemctl start php-fpm
Por fim, reinicie o servidor Web Nginx para que ele carregue os arquivos de configuração criados pela instalação do php-fpm:
sudo systemctl restart nginx
Passo 4 — Testar o PHP com o Nginx
No CentOS 8, a instalação padrão do php-fpm cria automaticamente arquivos de configuração que permitirão que seu servidor Web Nginx gerencie os arquivos .php no diretório base padrão, localizado em /usr/share/nginx/html. Você não precisará fazer nenhuma alteração na configuração do Nginx para que o PHP funcione corretamente dentro do seu servidor Web.
Só precisaremos modificar o proprietário e o grupo padrão no diretório base do Nginx, de modo que você possa criar e modificar arquivos naquele local usando seu usuário de sistema não raiz regular:
sudo chown -R <^>sammy<^>.<^>sammy<^> /usr/share/nginx/html/
Crie um arquivo PHP chamado info.php no diretório /usr/share/nginx/html:
nano /usr/share/nginx/html/<^>info.php<^>
O código PHP a seguir exibirá informações sobre o ambiente PHP atual em execução no servidor:
[label /usr/share/nginx/html/info.php]
<?php
phpinfo();
Copie esse conteúdo para seu arquivo info.php e não se esqueça de salvá-lo quando tiver terminado.
Agora, podemos testar se nosso servidor Web consegue exibir corretamente o conteúdo gerado por um script PHP. Vá até seu navegador e acesse o nome do host ou endereço IP do seu servidor, seguido por /info.php:
http://<^>server_host_or_IP<^>/info.php
Você verá uma página parecida com esta:
Tutoriais relacionados
Aqui estão os links para os guias mais detalhados relacionados a este tutorial: