Pesquisa de site

Como instalar Nginx, MariaDB e PHP/FPM no Fedora 40


Você provavelmente deve ter instalado o Fedora 40 Server Edition em sua máquina e está ansioso e ansioso para configurar um servidor web para executar sites e aplicativos web. Não procure mais, pois faremos tudo isso aqui, com passos simples e fáceis que você apreciará no final.

Neste guia prático, iremos percorrer as diferentes etapas de como você pode instalar a pilha LEMP em seu servidor web Fedora 40. Semelhante à pilha LAMP, mas em LEMP, usamos o servidor web Nginx.

Etapa 1: Atualizando Pacotes do Sistema

Você pode começar atualizando os pacotes do sistema da seguinte maneira:

dnf update

Quando isso for feito, prossiga com a instalação dos pacotes LEMP compostos.

Etapa 2: Instale o servidor Web Nginx

Nginx é uma alternativa ao servidor web Apache, é leve e consome menos recursos do sistema, daí seu alto desempenho, estabilidade e flexibilidade em ambientes de produção empresarial.

Para instalar o Nginx no Fedora 40, execute o comando abaixo:

dnf install nginx  

Assim que a instalação for concluída, você precisará gerenciar o serviço Nginx em seu sistema. Primeiro, você precisa configurá-lo para iniciar automaticamente na inicialização, executando o comando abaixo:

systemctl enable nginx.service

Em seguida, inicie o serviço da seguinte forma:

systemctl start nginx.service

Em seguida, verifique se o servidor Nginx está funcionando, você pode emitir o comando abaixo para fazer isso:

systemctl status nginx.service

Para visualizar seu servidor web Nginx através do protocolo HTTP/HTTPS, você precisa permitir o acesso a ele através do firewall do sistema.

Para fazer isso, execute os seguintes comandos:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

Em seguida, recarregue as configurações do firewall do sistema para efetuar as alterações acima da seguinte forma:

systemctl reload firewalld

Mais uma coisa importante a fazer na instalação do Nginx é verificar se a página de índice de instalação do Nginx pode carregar em seu navegador, portanto abra seu navegador e digite o URL:

http://server-ip-address

Você deve conseguir visualizar esta página abaixo:

Etapa 3: Instale o servidor MariaDB

MariaDB é um fork do mais famoso servidor de banco de dados relacional MySQL, para instalar o MariaDB no servidor Fedora, emita o comando abaixo:

dnf install mariadb-server

Após concluir a instalação do MariaDB, você precisa ativar, iniciar e verificar o serviço executando a seguinte série de comandos.

systemctl enable mariadb.service  
systemctl start mariadb.service 
systemctl status mariadb.service  

Agora é hora de proteger a instalação do MariaDB usando o seguinte comando:

mysql_secure_installation

Depois de executar o comando acima, serão feitas algumas perguntas como segue:

Passo 4: Instale PHP e Módulos

Para instalar o PHP no Fedora junto com seus módulos, use o comando abaixo:

dnf install php php-common php-fpm php-mysqlnd php-gd

Agora que o PHP e alguns módulos PHP foram instalados, você precisa configurar o PHP para poder executar arquivos PHP.

Por padrão, o PHP-FPM está configurado para ser usado com um servidor web Apache, mas no nosso caso aqui, estamos usando um servidor web Nginx. servidor. Portanto, precisamos alterar essa configuração nas etapas abaixo:

Usando seu editor favorito, abra o arquivo /etc/php-fpm.d/www.conf da seguinte forma:

vi /etc/php-fpm.d/www.conf

Em seguida, altere os valores do usuário e do grupo de apache para nginx nas seguintes linhas:

; RPM: apache Choosed to be able to access some dir as httpd 
user = nginx 
; RPM: Keep a group allowed to write in log dir. 
group = nginx

Em seguida, reinicie o servidor web PHP-FPM e Nginx para efetuar as alterações acima:

systemctl restart php-fpm.service
systemctl restart nginx.service

Depois disso, confirme se eles estão funcionando emitindo os comandos abaixo:

systemctl status php-fpm.service
systemctl status nginx.service

Agora você pode testar tudo, usando seu editor favorito, crie um arquivo chamado info.php no diretório raiz do Nginx da seguinte forma:

vi /usr/share/nginx/html/info.php

Adicione as seguintes linhas ao arquivo, salve-o e saia.

<?php
phpinfo()
?>

Em seguida, abra seu navegador e digite o seguinte URL para verificar as informações do PHP:

http://server-ip-address/info.php

Neste ponto, você deve ter instalado e configurado com sucesso a pilha LEMP em seu servidor Fedora 40.

Etapa 5: Hospedar um site de exemplo usando Nginx

Para hospedar um site de exemplo usando Nginx, você precisa criar um diretório que armazenará os arquivos do seu site com permissões apropriadas para acessar o diretório.

sudo mkdir -p /usr/share/nginx/html/mywebsite
sudo chown -R nginx:nginx /usr/share/nginx/html/mywebsite

A seguir, crie um arquivo HTML simples para servir como página inicial do seu site.

sudo vi /usr/share/nginx/html/mywebsite/index.html

Adicione o seguinte exemplo de conteúdo HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Sample Website</title>
</head>
<body>
    <header>
        <h1>Welcome to My Sample Website</h1>
    </header>
    <main>
        <p>This is a simple website hosted on Nginx using Fedora 40.</p>
    </main>
    <footer>
        <p>&copy; 2024 My Sample Website</p>
    </footer>
</body>
</html>

Salve o arquivo e saia do editor.

Etapa 6: configurar o Nginx para servir o site

Agora você precisa criar um novo arquivo de configuração de bloco do servidor Nginx para o seu site.

sudo vi /etc/nginx/conf.d/mywebsite.conf

Adicione a seguinte configuração (substitua your_server_ip pelo endereço IP ou nome de domínio real do seu servidor):

server {
    listen 80;
    server_name your_server_ip;  # Replace with your server's IP address or domain name

    root /usr/share/nginx/html/mywebsite;  # Document root
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Antes de recarregar o Nginx, é uma boa prática testar a configuração em busca de erros de sintaxe:

sudo nginx -t

Se o teste for bem-sucedido, você poderá recarregar o Nginx para aplicar a nova configuração:

sudo systemctl reload nginx

Agora que tudo está configurado, você pode acessar seu site navegando até o seguinte URL

http://your_server_ip
OR
http://domain.com

Você deverá ver a página inicial do seu site de exemplo exibindo a mensagem “Bem-vindo ao meu site de exemplo“.

Etapa 7: Habilite HTTPS no site para Nginx

Para configurar SSL para seu site de amostra hospedado no Nginx com a raiz do documento /usr/share/nginx/html/mywebsite, você pode usar o Certbot para obter um gratuito Certificado >SSL da Let's Encrypt.

sudo dnf install certbot python3-certbot-nginx -y

Em seguida, execute o seguinte comando para obter e instalar o certificado SSL:

sudo certbot --nginx

O Certbot definirá automaticamente as configurações do Nginx para usar o novo certificado SSL na configuração de bloco de servidor existente.

Depois que o Certbot concluir a instalação, você poderá verificar se o SSL está funcionando corretamente navegando até https://seudominio.com.

Em alguns casos, alguns de vocês devem ter encontrado erros ou desejar mais explicações sobre um problema preocupante. Você pode deixar um comentário na seção de comentários abaixo e encontraremos soluções juntos.

Artigos relacionados: