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

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 our products

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

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.