Pesquisa de site

Como instalar a pilha LEMP no Rocky Linux 8


LEMP é uma pilha popular que compreende software de código aberto usado coletivamente para hospedar e servir aplicativos da Web, seja em produção ou em qualquer estágio do ciclo de desenvolvimento.

A terminologia LEMP é um acrônimo para Linux, Nginx (pronunciado como Engine X, daí o E) que é um navegador web, MariaDB ou MySQL – banco de dados e PHP para processamento de conteúdo dinâmico). A pilha LEMP é popularmente usada para hospedar aplicativos e sites da Web de alto tráfego e altamente escaláveis.

Neste guia, você aprenderá como instalar a pilha LEMP no Rocky Linux 8.4.

Pré-requisitos

Antes de começar a instalar a pilha LEMP, certifique-se de ter os seguintes requisitos em vigor.

  • Uma instância do Rocky Linux 8 com um usuário sudo configurado.
  • Acesso SSH à instância do Rocky Linux.

Vamos começar…

Etapa 1: Instale o Nginx no Rocky Linux

O primeiro passo é instalar o primeiro componente da pilha LEMP que é o servidor web Nginx. Primeiro, atualize os pacotes.

sudo dnf update -y

Após a conclusão da atualização, instale o Nginx executando o seguinte comando. Isso instala o Nginx junto com outras dependências exigidas pelo servidor web.

sudo dnf install nginx 

Assim que o Nginx estiver instalado, habilite-o para iniciar no momento da inicialização e iniciar o daemon Nginx.

sudo systemctl enable nginx 
sudo systemctl start nginx 

Para confirmar se o servidor web está funcionando, execute o comando:

sudo systemctl status nginx

A partir da saída, podemos concluir que o servidor web está instalado e funcionando.

Se você estiver curioso o suficiente, pode verificar a versão do Nginx da seguinte maneira. A saída indica que estamos executando o Nginx 1.14.1.

nginx -v

nginx version: nginx/1.14.1

Além disso, você pode confirmar se o navegador está funcionando navegando no URL mostrado. Isso exibirá a página de boas-vindas padrão do Nginx, indicando que tudo está bem.

http://server-ip or domain name

Se você estiver tendo problemas para visualizar a página, considere abrir a porta 80 ou permitir o tráfego HTTP no firewall.

sudo firewall-cmd --zone=public --add-service=http --permanent 

Em seguida, recarregue o firewall e recarregue a página.

sudo firewall-cmd --reload

Etapa 2: Instale o MariaDB no Rocky Linux

Para este guia, instalaremos o banco de dados MariaDB. Isso se deve ao desempenho otimizado e à riqueza de mecanismos de armazenamento que ele oferece, o que o torna muito mais superior ao MySQL.

Para instalar o servidor de banco de dados MariaDB, execute o comando:

sudo dnf install mariadb-server mariadb

Uma vez feito isso, habilite e inicie o MariaDB conforme mostrado.

sudo systemctl enable mariadb
sudo systemctl start mariadb

Em seguida, verifique seu status.

sudo systemctl status mariadb

As configurações padrão do MariaDB não são seguras o suficiente e seu banco de dados pode ser facilmente violado. Como precaução para impedir intrusos no nível mais básico, execute o script abaixo.

sudo mysql_secure_installation

Certifique-se de configurar a senha Root.

Para os prompts restantes, basta digitar 'Y' para remover usuários anônimos, negar login root remoto, remover o banco de dados de teste e, finalmente, salvar as alterações feitas.

Para fazer login no servidor de banco de dados, execute o comando:

sudo mysql -u root -p

Forneça a senha e pressione ENTER.

Etapa 3: Instale o PHP no Rocky Linux

O último componente a ser instalado é o PHP via PHP-FPM, que significa FastCGI Process Manager. Este é um processador PHP eficiente e altamente avançado que oferece recursos que garantem ótimo desempenho e segurança para sites de alto tráfego.

Para começar, instalaremos o repositório Remi, que é um repositório gratuito de terceiros que fornece as versões mais recentes do PHP.

Para ativar o repositório Remi, execute o comando:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Assim que o repositório Remi estiver habilitado, verifique a lista de módulos PHP que estão hospedados usando o comando mostrado.

sudo dnf module list php

Na saída, podemos ver que a versão padrão é 7.2 – com a tag [d]. No entanto, vamos instalar o módulo mais recente que é o Remi 8.0.

Portanto, redefina os módulos PHP padrão e habilite o módulo Remi PHP mais recente.

sudo dnf module list reset php
sudo dnf module enable php:remi-8.0

Em seguida, atualize o sistema e instale PHP e PHP-FPM junto com as extensões PHP de sua preferência.

sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

Assim que a instalação for concluída, habilite e inicie o PHP-FPM conforme mostrado.

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

A seguir, verifique o status de execução do PHP-FPM.

sudo systemctl status php-fpm

Normalmente, PHP-FPM é executado como o usuário Apache, mas como estamos usando Nginx, precisamos configurá-lo como Nginx. Portanto, abra o seguinte arquivo de configuração.

sudo vim /etc/php-fpm.d/www.conf

Defina o usuário e o grupo como Nginx.

user = nginx
Group = nginx

Depois disso, recarregue o daemon PHP-FPM.

sudo systemctl reload php-fpm

Para confirmar que instalamos a versão mais recente do PHP, execute o comando.

php -v

Outra maneira bacana de testar PHP é criar um arquivo PHP simples e colocá-lo no diretório webroot localizado em /usr/share/nginx/html. Portanto, crie um arquivo info.php simples no diretório webroot /usr/share/nginx/html.

sudo vim /usr/share/nginx/html/info.php

Adicione o seguinte conteúdo e salve o arquivo.

<?php

phpinfo();

?>

Para efetuar as alterações, recarregue o servidor web Nginx.

sudo systemctl restart nginx

Por fim, acesse o seguinte URL.

http://server-ip/info.php

Uma página da web com informações detalhadas sobre a versão do PHP instalada junto com outras extensões do PHP será exibida.

Neste ponto, nossa configuração do LEMP está concluída. Na próxima etapa, hospedaremos um site de exemplo configurando um bloco de servidor Nginx.

Etapa 3: configurar o bloco de servidor Nginx no Rocky Linux

Um bloco de servidor permite que os administradores hospedem vários sites em um servidor, definindo diferentes diretórios raiz de documentos de site. Estes são os diretórios que contêm os arquivos do site.

Aqui, criaremos um único arquivo de bloco de servidor Nginx para hospedar um site de exemplo.

Etapa 1: crie um diretório de sites

Primeiro, crie o diretório de documentos do site que conterá os dados do site que estarão disponíveis aos visitantes do site. Suponha que você tenha um domínio chamado example.com. Crie o diretório de domínio do site da seguinte maneira. Certifique-se de substituir example.com pelo nome de domínio totalmente qualificado ou domínio registrado do seu site.

sudo mkdir -p /var/www/example.com/html

Etapa 2: definir propriedade e permissões no site

A estrutura de diretórios do domínio agora está configurada para hospedar os arquivos do site. Atualmente, é o usuário root o proprietário dos arquivos. Precisamos definir a propriedade de forma que seja o usuário normal o proprietário do arquivo.

Para alterar a propriedade dos arquivos para o usuário conectado no momento, use o comando chown.

sudo chown -R $USER:$USER /var/www/example.com/html

A variável $USER pega o valor do usuário atualmente logado e concede ao usuário a propriedade dos arquivos html e subdiretórios. Além disso, conceda permissão de leitura ao diretório raiz geral da web para que os visitantes do site possam acessar as páginas do site.

sudo chmod -R 755 /var/www

O diretório do site agora está bem configurado para servir as páginas da web do site.

Etapa 3: crie um site de demonstração

Vamos agora criar um exemplo de site de teste. Criaremos um arquivo index.html muito básico no diretório html do domínio.

sudo vim /var/www/example.com/html/index.html

Cole o conteúdo abaixo. Como você pode ver, é bastante básico, pois o usamos apenas para fins de teste.

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

Salve e saia do arquivo HTML.

Etapa 4: crie um bloco de servidor Nginx para site

Um arquivo de bloco de servidor é um arquivo que contém a configuração do site. Ele explica como o servidor web Nginx responde às solicitações dos visitantes do site. Começaremos criando dois diretórios:

  • /etc/nginx/sites-available – Este é o diretório que conterá o arquivo de bloco do servidor.
  • /etc/nginx/sites-enabled – O diretório notifica o Nginx que o arquivo de bloco do servidor está pronto para atender solicitações.

Portanto, crie os diretórios da seguinte forma:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

Depois disso, edite o arquivo de configuração principal do Nginx.

sudo mkdir /etc/nginx/nginx.conf

Cole as seguintes linhas. A primeira linha especifica o caminho para o diretório que contém arquivos de configuração adicionais. A segunda linha aumenta a memória alocada para análise de nomes de domínio.

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Salvar e sair.

Em seguida, crie um arquivo de bloco de servidor.

sudo vim /etc/nginx/sites-available/example.com.conf

Cole o conteúdo abaixo. Substitua example.com pelo seu nome de domínio totalmente qualificado (FQDN) ou endereço IP do servidor.

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Salve e saia do arquivo.

Etapa 5: ativar o bloco de servidor Nginx

Finalmente, precisamos habilitar o arquivo de bloco do servidor. Para fazer isso, criaremos um link simbólico do arquivo de bloco do servidor para o diretório habilitado para sites.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Em seguida, reinicie o Nginx para que as alterações sejam efetuadas.

sudo systemctl restart nginx

Etapa 6: teste o site Nginx

Para testar a configuração inicie seu navegador e visite o domínio do seu site

http://example.com

Isso deve exibir o site do bloco do servidor conforme configuramos na Etapa 3.

E isso encerra tudo. Neste guia, orientamos você na instalação da pilha LEMP no Rocky Linux 8 e demos um passo adiante para criar e configurar um arquivo de bloco de servidor onde hospedamos um site personalizado.