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.
Para seguir este guia, você precisará ter acesso a um servidor CentOS 8 como um usuário sudo
.
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:
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.
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
:
…
; 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
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:
<?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:
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.
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!