Como Configurar um LOMP Stack no Servidor Ubuntu

Lomp Stack Featured

Como desenvolvedor web, você pode se encontrar em uma situação onde precisa configurar um servidor com Linux, OpenLiteSpeed, MariaDB (ou MySQL) e PHP (LOMP). Isso pode ser uma tarefa assustadora. Aqui mostramos os passos para instalar um stack LOMP no seu servidor Linux.

Índice

  • Por que usar LOMP em vez de outros stacks (LAMP, LEMP)?
  • Pré-requisitos
  • Instalando OpenLiteSpeed
  • Instalando MariaDB
  • Instalando PHP
  • Acessando e Configurando OpenLiteSpeed
  • Perguntas Frequentes

Por que usar LOMP em vez de outros stacks (LAMP, LEMP)?

LOMP é uma escolha popular para desenvolvimento web porque é de código aberto e tem uma ampla gama de suporte. Além disso, todos os componentes do stack LOMP são compatíveis entre si, tornando fácil a configuração e manutenção.

Além disso, o OpenLiteSpeed é um servidor web de alto desempenho quando comparado a outros servidores web, como Apache e Nginx. O OpenLiteSpeed é capaz de lidar com mais solicitações simultâneas e utilizar menos recursos, tornando-se uma ótima escolha para sites de alto tráfego.

Pré-requisitos

Antes de começar este guia, há algumas coisas que você precisará ter em mente.

  • Servidor Linux. Este tutorial usa Ubuntu 22.04, a versão mais recente no momento da escrita.

  • Conta de usuário não-root com privilégios sudo configurada no seu servidor.

  • Nome de domínio que aponte para o seu servidor.

Instalando OpenLiteSpeed

No stack LOMP, o OpenLiteSpeed é usado como o servidor web. Um servidor web é um software que responde a solicitações por arquivos que compõem seu site. Quando alguém digita seu nome de domínio, o navegador deles envia uma solicitação ao seu servidor web pedindo os arquivos que compõem seu site. O servidor web então responde enviando esses arquivos de volta ao navegador.

Antes de instalarmos o OpenLiteSpeed no Ubuntu, primeiro atualize o índice de pacotes do seu servidor:

sudo apt update

Recupere o repositório OLS com o comando wget.

sudo wget -O - https://repo.litespeed.sh | cat

A flag -O diz ao wget para escrever a saída do script no seu terminal em vez de criar um arquivo. O caractere | (conhecido como pipe) pega a saída do primeiro comando e a passa como entrada para o segundo comando, que é cat. Isso permite que você revise o script antes de executá-lo.

Lomp Stack Ubuntu Review Repository

Se a saída parecer boa, você pode executar o script com o seguinte comando:

sudo wget -O - https://repo.litespeed.sh | sudo bash

A parte sudo bash do comando diz ao seu sistema para executar o script com privilégios de root. Isso é necessário porque o script precisa ser capaz de modificar os repositórios do seu sistema.

Lomp Stack Ubuntu Add Repository

Uma vez que o repositório foi adicionado, atualize o índice de pacotes novamente para refletir as mudanças:

sudo apt update

Finalmente, instale o OpenLiteSpeed com o seguinte comando apt.

sudo apt install openlitespeed -y

O OpenLiteSpeed será instalado no seu servidor.

Lomp Stack Install Openlitespeed

Inicie e habilite o serviço OpenLiteSpeed para que ele inicie automaticamente quando seu servidor for inicializado:

sudo systemctl start openlitespeed  
sudo systemctl enable openlitespeed

Você pode verificar o status do serviço OpenLiteSpeed para ter certeza de que está funcionando corretamente:

sudo systemctl status openlitespeed

A saída será parecida com a abaixo.

Lomp Stack Status Openlitespeed Service

Instalando MariaDB

MariaDB é um fork do popular servidor de banco de dados MySQL. Ele é usado no lugar do MySQL no stack LOMP porque é compatível com o outro software do stack, mas desenvolvido sob uma licença de código aberto. O MariaDB é gratuito para usar e distribuir.

Execute o comando apt abaixo para instalar o MariaDB:

sudo apt install mariadb-server -y

Assim como com o OpenLiteSpeed, inicie e habilite o serviço MariaDB para que ele inicie automaticamente quando seu servidor for inicializado.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Você pode verificar o status do serviço MariaDB para ter certeza de que está funcionando corretamente.

sudo systemctl status mariadb

A saída será parecida com a abaixo.

Lomp Stack Status Mariadb Service

Protegendo sua Instalação do MariaDB

Por padrão, uma nova instalação do MariaDB vem com algumas configurações perigosas que podem deixar seu servidor de banco de dados vulnerável a ataques. Para proteger sua instalação, execute o script mariadb-secure-installation incluído com o MariaDB.

sudo mariadb-secure-installation

Este script altera algumas das opções padrão menos seguras e define uma senha para o usuário root do MariaDB.

Você será questionado com uma série de perguntas. Para cada uma, responda “Y” (para sim) ou “N” (para não).

Primeiro, você será solicitado a inserir a senha root. Como você acabou de instalar o MariaDB, você ainda não terá definido uma senha para o usuário root, então deixe em branco e pressione Enter.

Lomp Stack Status Secure Mariadb

Em seguida, você será perguntado se deseja o método de autenticação “unix_socket” para o usuário root. Isso significa que você pode fazer login no MariaDB automaticamente quando estiver logado como o usuário root do sistema. Digite Y e pressione Enter.

Se você deseja mudar a senha do usuário root será a próxima pergunta. Digite Y e pressione Enter. Você será solicitado a inserir e confirmar uma nova senha para o usuário root. É uma boa prática usar uma senha forte que seja difícil de adivinhar.

Depois disso, você será perguntado se deseja remover usuários anônimos do seu banco de dados. Um usuário anônimo é aquele que não recebeu um nome de usuário ou senha. Digite Y e pressione Enter. Por padrão, o MariaDB permite que qualquer um se conecte ao servidor de banco de dados sem um nome de usuário ou senha. Isso não é seguro, então vamos remover esses usuários anônimos.

Em seguida, você será perguntado se deseja desabilitar o login remoto do root. Desabilitar o login remoto do root é uma boa medida de segurança, pois significa que um atacante precisaria de acesso físico ao seu servidor para fazer login como usuário root. Digite Y e pressione Enter.

Finalmente, você será perguntado se deseja remover os bancos de dados de teste e o acesso a eles. Estes são usados para fins de teste e não são mais necessários. Digite Y e pressione Enter.

Você será solicitado a recarregar as tabelas de privilégios para que suas mudanças tenham efeito. Digite Y e pressione Enter. Sua instalação do MariaDB agora está segura.

Lomp Stack Secure Mariadb Reload Privilege Tables

Instalando PHP

PHP é uma linguagem de script do lado do servidor usada para processar conteúdo dinâmico, como dados de formulários ou imagens. Se você estiver usando WordPress, precisará instalar o PHP.

Execute o comando abaixo para pesquisar pacotes PHP disponíveis.

sudo apt-cache search lsphp

Você verá uma lista de pacotes com nomes que começam com PHP. Estes são os pacotes PHP7.4, PHP8.0 e PHP8.1. Para este guia, instalaremos o PHP8.1, a versão mais recente do PHP. Este pacote inclui os últimos recursos e atualizações de segurança.

Para instalar o PHP8.1, execute o comando abaixo:

sudo apt install lsphp81 lsphp81-{common,mysql} -y

A parte {common,mysql} diz ao apt para instalar os módulos common e mysql para o PHP8.1. O módulo common fornece um conjunto de funções básicas que são necessárias pela maioria das aplicações PHP. O módulo mysql fornece funções que permitem que o PHP interaja com o MariaDB.

Lomp Stack Installing Php

Sua aplicação PHP pode ser compatível com uma versão diferente do PHP, então certifique-se de verificar a documentação da sua aplicação antes de escolher uma versão do PHP.

Se você quiser instalar outras versões do PHP, substitua lsphp81 pela versão desejada. Por exemplo, para instalar o PHP7.4, você usaria o nome do pacote lsphp74, como mostrado abaixo:

sudo apt install lsphp74 lsphp74-{common,mysql}

Acessando e Configurando OpenLiteSpeed

Configurando o Firewall

O Ubuntu vem com um firewall padrão chamado UFW. Você precisará permitir o tráfego nas portas 7080 e 8088 para acessar o Console de Administração Web e seu site.

Permita o tráfego nessas portas executando o seguinte comando:

sudo ufw allow 7080/tcp && sudo ufw allow 8088/tcp

Verifique o status do seu firewall executando o comando abaixo:

ufw status

Você verá uma saída semelhante à abaixo. Como você pode ver, a saída mostra que o tráfego nas portas 7080 e 8088 é permitido.

Lomp Stack Check Firewall

Acessando OpenLiteSpeed

Agora que temos tudo configurado, estamos prontos para acessar o OpenLiteSpeed.

Para fazer isso, abra seu navegador web e vá para http://seu_dominio:8088. Substitua “seu_dominio” pelo seu nome de domínio.

Você verá uma página semelhante à abaixo: a página de boas-vindas do OpenLiteSpeed.

Lomp Stack Accessing Openlitespeed

Role para baixo e clique no link “Testar PHP” para testar se o PHP está funcionando corretamente com o OpenLiteSpeed.

Lomp Stack Test Php

Você verá uma página semelhante à abaixo. Esta página mostra que o PHP está funcionando corretamente com o OpenLiteSpeed. Embora a versão do PHP apareça como PHP7.4, mudaremos essa versão para PHP8.1 na próxima seção.

Lomp Stack Test Php2

Clique no link sob o script “Hello World CGI” para testar se o recurso CGI do OpenLiteSpeed está funcionando corretamente.

CGI é um mecanismo para executar programas em um servidor web em resposta a solicitações de navegadores web. O OpenLiteSpeed pode executar scripts CGI escritos em qualquer linguagem, mas o uso mais comum para CGI é executar scripts Perl ou PHP.

Esse recurso é muito útil se você deseja usar uma linguagem de programação que não é suportada pelo OpenLiteSpeed.

Lomp Stack Test Cgi

Você verá uma página Hello World semelhante à abaixo, o que significa que o recurso CGI está funcionando corretamente.

Em seguida, execute o comando abaixo para definir uma senha para o Console de Administração Web.

sudo /usr/local/lsws/admin/misc/admpass.sh

Forneça um nome de usuário e senha para o Console de Administração Web quando solicitado e pressione ENTER.

Lomp Stack Set User Password

Navegue até http://seu_dominio:7080 para abrir o Console de Administração Web: a interface gráfica do usuário (GUI) para gerenciar seu servidor OpenLiteSpeed.

Ela permite que você realize todas as tarefas que pode realizar usando a linha de comando de uma maneira muito mais fácil. Você pode configurar seu servidor diretamente no navegador web sem precisar editar arquivos de configuração, como servidores web tradicionais.

Substitua seu_dominio pelo seu nome de domínio real para ver uma página como a abaixo.

Insira o Nome de Usuário e a Senha que você criou na etapa anterior e clique em “Login” para fazer login no Console de Administração Web.

Lomp Stack Log In Web Ui

Você verá uma página semelhante à abaixo. Esta página é a página principal do Console de Administração Web. Ela mostra uma visão geral do seu servidor.

Lomp Stack Main Web Ui

Configurando o OpenLiteSpeed para Usar PHP8.1

Por padrão, o OpenLiteSpeed é configurado para trabalhar com PHP7.4. Se você estiver usando uma versão diferente do PHP, precisará informar ao OpenLiteSpeed qual versão do PHP usar.

Na página principal do Console de Administração Web, clique na aba “Configuração do Servidor”, depois clique em “Aplicativo Externo”. Você verá uma lista de todos os aplicativos externos que estão atualmente configurados.

Ao lado de “LiteSpeed SAPI App”, clique no ícone “Editar” sob Ação, como mostrado.

Lomp Stack External App 1

Você verá uma página semelhante à abaixo. No campo “Comando”, insira lsphp81/bin/lsphp, o caminho para o binário lsphp. Esta configuração diz ao OpenLiteSpeed para usar PHP8.1 em vez do PHP7.4 padrão.

Lomp Stack Set Php81

Mantenha outras configurações como padrão e clique no ícone Salvar para salvar suas alterações.

Clique no ícone de seta curva para realizar uma reinicialização graciosa. Suas alterações não terão efeito até que você reinicie o OpenLiteSpeed de forma graciosa.

Finalmente, navegue até http://seu_dominio:8088/phpinfo.php. Você verá uma página como a abaixo, que mostra que o OpenLiteSpeed está usando PHP8.1.

Parabéns! Você instalou e configurou com sucesso o stack LOMP no seu servidor Ubuntu.

Perguntas Frequentes

Posso usar OpenLiteSpeed junto com outros servidores web?

Não. O OpenLiteSpeed é projetado para ser usado como um servidor web autônomo. Ele não é projetado para funcionar ao lado de outros servidores web. O OpenLiteSpeed usa as mesmas portas que outros servidores web (80 para HTTP e 443 para HTTPS). Isso significa que apenas um servidor web pode estar em execução no seu servidor a qualquer momento.

Posso proteger meu servidor web OpenLiteSpeed com um certificado SSL gratuito como o Let’s Encrypt?

Sim, você pode. O OpenLiteSpeed tem suporte embutido para o Let’s Encrypt e outras autoridades certificadoras compatíveis com ACMEv2. Você pode usar o Console de Administração Web para instalar um certificado SSL gratuito com apenas alguns cliques. Consulte a documentação oficial do OpenLiteSpeed para mais informações.

Crédito da imagem: Unsplash. Todas as capturas de tela por Nicholas Xuan Nguyen.