// Tutorial //

Como instalar o Linux, o Nginx, o MySQL e a pilha PHP (LEMP) no CentOS 8 [Início rápido]

Published on April 10, 2020
Default avatar

By Erika Heidi

Developer Advocate

Português
Como instalar o Linux, o Nginx, o MySQL e a pilha PHP (LEMP) no CentOS 8 [Início rápido]

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:

  1. sudo dnf install nginx

Após a instalação terminar, execute o seguinte comando para habilitar e iniciar o servidor:

  1. sudo systemctl start nginx

Se o firewalld estiver ativo, você precisará executar o seguinte comando para permitir o acesso externo na porta 80 (HTTP):

  1. sudo firewall-cmd --permanent --add-service=http

Recarregue a configuração do firewall para que as alterações entrem em vigor:

  1. 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:

Configuração padrão do Nginx do CentOS 8

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:

  1. sudo dnf install mariadb-server

Quando a instalação terminar, habilite e inicie o servidor MariaDB com:

  1. 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:

  1. 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:

  1. 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:

  1. 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:

  1. 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:

/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:

  1. 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:

  1. 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:

  1. sudo chown -R sammy.sammy /usr/share/nginx/html/

Crie um arquivo PHP chamado info.php no diretório /usr/share/nginx/html:

  1. 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:

/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:

Informações PHP padrão do CentOS 8

Tutoriais relacionados

Aqui estão os links para os guias mais detalhados relacionados a este tutorial:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up