Como Instalar Openlitespeed no Ubuntu 20.04

Ubuntu 20.04 com OpenLiteSpeed e MariaDB - HelpSysAdmin

O OpenLiteSpeed é um Web Server Open Source moderno com recursos de alto desempenho e segurança de alto nível.

O servidor entende as regras de reescrita do Apache e possui recursos de aceleração de cache inteligente que permitem implementar o cache mais rápido em seu servidor.

Possui Suporte Múltiplo PHP embutido e também a LSAPI para aplicativos externos 2x mais rápidos; Além de tudo isso é possível habilitar vários processadores PHP para diferentes sites.

Principais recursos do OpenLiteSpeed

  • Compatibilidade com as regras de reescrita do Apache.
  • Painel de Administração Web.
  • Arquitetura orientada a eventos.
  • Suporte a HTTP/3 & HTTP/2.
  • Suporte a múltiplas versões PHP.
  • Módulo Multi-Thread.
  • LiteSpeed Cache.
  • WAF(mod_security 3), Anti-DDoS, e Limite de largura de banda.

Neste post vamos abordar

  • Configuração do Firewall UFW
  • Instalação do OpenLiteSpeed
  • Instalação do PHP 7.4 e extensões
  • Instalação do MariaDB 10.4
  • Correta configuração de vhost no OpenLiteSpeed para hospedar nosso primeiro domínio
  • Instalação e configuração de SSL com Let´s Encrypt em seu domínio no OpenLiteSpeed
  • Instalação do WordPress

Observação: Para melhor segurança e excelente desempenho, o SSL irá utilizar o novo TLS 1.3 e http a nova versão http/3.

Configuração do Firewall UFW

Vamos utilizar o Firewall padrão do Ubuntu 20.04. Vamos abrir as seguintes portas:
Porta: 80 tcp, 443 tcp/udp, 7080/tcp, 22/ssh

O UFW como padrão está inativo.

Por default o UFW está configurado para negar todas as conexões de entrada e permite apenas as conexões de saída, ou seja, ninguém externo conseguiria acessar seu servidor mas seus aplicativos conseguiriam acessar a rede externa.

Para evitar problemas vamos primeiro criar nossas regras, abrindo as portas que vamos utilizar.

Agora vamos habilitar o UFW. Digite y na pergunta

Feito! agora temos o UFW ativo e filtrando as portas que informamos.

Instalação do OpenLiteSpeed

Vamos instalar o OpenLiteSpeed através do Repositório

Atualize a lista de repositório e instale o OpenLiteSpeed

Após a instalação vamos modificar a senha. Existem duas formas de fazer isso.

A primeira é utilizar o painel do OpenLiteSpeed e com o usuário e senha padrã(usuario: admin senha: 123456) alterar sua senha.

A Segunda é a que eu recomendo pelo menos conhecer. Este método é muito útil se um dia perder a senha do admin. Através do shell siga os passos abaixo

Em
User name [admin]: deixe em branco apenas dê enter
a seguir informe duas vezes a senha que deseja utilizar .

Este método é muito útil se um dia perder a senha da administração.

Para Acessar a administração do OpenLiteSpeed utilize: https://ipdoseuservidor:7080

Instalação do PHP 7.4 e extensões


Como padrão, o OpenLiteSpeed instala o PHP 7.3.

Para efeitos didáticos e melhorias, vamos instalar o PHP 7.4 e configurá-lo como padrão no OpenLiteSpeed.

Instale o PHP 7.4 e extensões

Instalação do MariaDB 10.4

Instalação do repositório do MariaDB 10.4

Instalação do MariaDB 10.4

Execute o script para segurança do MariaDB

Habilitar e iniciar o MariaDB

Configuração de vhost no OpenLiteSpeed para hospedar nosso primeiro domínio

Neste passo, precisamos de um domínio que iremos apontá-lo para o IP de nosso servidor. Em nosso exemplo estamos utilizando um domínio “helpsysadmin.ml” que utiliza os serviços do cloudflare.

Em seu provedor de DNS crie uma entrada tipo A do nome do seu domínio para o IP de seu servidor OpenLiteSpeed e outra entrada CNAME www para o nome de seu domínio.

Criando Virtual Host no OpenLiteSpeed

Acesse a administração do OpenLiteSpeed https://ipdoseuservidor:7080 e a seguir Virtual Hosts, clique no ícone Add

Salve as alterações

Adicione a configuração abaixo

VariáveisValor
Virtual Host Namehelpsysadmin.ml
Virtual Host Root$SERVER_ROOT/helpsysadmin.ml/
Config File$SERVER_ROOT/conf/vhosts/$VH_NAME/helpsysadmin.ml.conf
Follow Symbolic LinkYes
Enable Scripts/ExtAppsYes
RestrainedYes
ExtApp Set UID ModeServer UID

No topo da página clique em save. Você verá uma mensagem informando que o arquivo .conf não existe. Abaixo haverá a opção para criar o arquivo .conf onde deverá clicar “CLICK TO CREATE” a seguir irá conseguir salvar esta parte.

Salve as alterações

Quando clicamos em “CLICK TO CREATE” Openlitespeed cria um arquivo de configuração de host virtual que nos permite salvar as configurações

As configurações finais deverão estarão similar a imagem

Uma vez que nosso virtual host foi criado, vá novamente em Virtual Hosts –> clique no Virtual Host (helpsysadmin.ml) –> selecione a aba General e modifique as configurações como mostrado abaixo.

VariáveisValor
Document Root $VH_ROOT/html/
Domain Namehelpsysadmin.ml
Enable CompressionYes

Salve as alterações

Salve as alterações

Novamente vá em Virtual Hosts > clique em seu Virtual Host (helpsysadmin.ml) –> General e edite Index Files

VariáveisValor
Use Server Index Files No
Index Filesindex.html, index.php
Auto IndexNo
Auto Index URI
Salve as alterações

Novamente vá em Virtual Hosts > clique em seu Virtual Host (helpsysadmin.ml) –> Log e edite Virtual Host Log

VariáveisValor
Use Server’s LogYes
File Name$VH_ROOT/logs/error.log
Log LevelERROR
Rolling Size (bytes)10M
Salve as alterações

Novamente vá em Virtual Hosts > clique em seu Virtual Host (helpsysadmin.ml) –> Log e edite Access Log

VariáveisValor
Log ControlOwn Log File
Piped Logger
Log Format
Log Headers
Rolling Size (bytes)10M
Keep Days30
Bytes log
Compress ArchiveYes
Salve as alterações

Após criarmos um Virtual Host para nosso domínio, precisamos mapeá-lo para que possamos acessa-lo ao final.

Para fazer isso, vá em Listeners, vamos criar dois registro, um será responsável em configurar nosso domínio na porta 80 , o outro na porta segura 443.

Localize o menu “Listener List” e a direita clique no sinal de “+” para adicionarmos nosso primeiro Listerner.
Preencha os campos conforme a tabela

VariávelValor
Listener NamePorta80
IP AddressANY
Port 80
Binding
SecureNo
Notes
Salve as alterações

Agora adicione um novo Listener para a porta 443 conforme abaixo

VariávelValor
Listener NamePorta443
IP AddressANY
Port443
Binding
SecureYes
Notes
Salve as alteraçõe

Neste ponto temos os Listerners para a porta 80 e 443. Clique no nome de um dos Listernes que você criou, a seguir em “Virtual Host Mappings” clique no sinal “+“.

Na próxima tela em Virtual Host * selecione o nome do seu domínio e abaixo em Domains digite novamente o nome do seu domínio sem www ou http

Salve as alterações

Execute os mesmos passos com o Listener Porta443 que você criou anteriormente.

Criando pastas para logs e site

Acesse o SSH do seu servidor e digite(substitua o domínio informado pelo que configurou no OpenLiteSpeed)

Antes de prosseguirmos vamos reiniciar o OpenLiteSpeed e instalar um certificado SSL Let´s Encrypt para o domínio.

É importante que seu domínio esteja apontando para o IP do seu servidor como informamos no princípio deste post

Acesse o painel e reinicie o OLS

Acesse o SSH do seu servidor e instale o certbot

Execute o certbot e responda as perguntas conforme abaixo adaptando para seu domínio

Se tudo deu certo, você verá uma mensagem informando que Certificado e a Key foram criados, guarde estas informações. Vamos utilizá-las a seguir

Volte ao painel do OpenLiteSpeed em Virtual Hosts >> helpsysadmin.ml e selecione a aba SSL.

Edite SSL Private Key & Certificate

Private Key File é o segundo resultado quando solicitou o certificado

Certificate File é o primeiro resultado quando solicitou o certificado

Salve as alterações

Após salvar as alterações continue na aba SSL, vamos fazer algumas alterações e melhorias

Edite SSL Protocol

VariávelValor
Protocol VersionTLS v1.2 TLS v1.3
Ciphers
Enable ECDH Exchange
Enable DH Key Exchange
DH Parameter
Salve as alterações e continue na aba SSL

Edite Security

VariávelValor
SSL Renegotiation ProtectionHTTP/2SSL Renegotiation ProtectionYes
Enable Session CacheYes
Enable Session TicketsYes
Enable SPDY/HTTP2/HTTP3HTTP/3
Enable QUICYes

Como este é o primeiro domínio com certificado SSL precisaremos repetir estes passos em Listeners, a seguir, clique em Porta443 e acesse a aba SSL.
Preencha os campos exatamente como fez em Virtual Hosts anteriormente. Ao final salve e dê um restart no OpenLiteSpeed pelo painel.

Nota: Nos próximos domínios que hospedar, será necessário informar as configurações de SSL apenas no Virtual Host referente ao domínio.

Neste ponto se acessarmos nosso domínio com https veremos uma página 404 pois não enviamos nenhum arquivo a nossa conta.

Nós poderíamos a partir deste ponto abordar como instalar o WordPress, pois como informei no princípio, o OpenLiteSpeed instala como padrão o php 7.3 com algumas extensões.

Já instalamos o php 7.4 com extensões importantes para o WordPress, agora vamos configurá-lo no OpenLiteSpeed.

Acesse o painel do OpenLiteSpeed >> Server Configuration ,
selecione External App e em External Applications clique no simbolo de “+” a seguir em Type Selecione LiteSpeed SAPI App

A seguir clique no ícone Próximo

Preencha os campos conforme a tabela abaixo:

VariávelValor
Name *lsphp74
Address *uds://tmp/lshttpd/lsphp74.sock
Notes
Max Connections *10
EnvironmentPHP_LSAPI_CHILDREN=10
LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs) *60
Retry Timeout (secs) *0
Persistent ConnectionYes
Connection Keep-Alive Timeout
Response Buffering *No
Start By Server *Yes (Through CGI Daemon)
Commandlsphp74/bin/lsphp
Back Log100
Instances1
Run As User
Run As Group
umask
Run On Start Up
Max Idle Time
Priority0
Memory Soft Limit (bytes)2047M
Memory Hard Limit (bytes)2047M
Process Soft Limit1400
Process Hard Limit1400

Salve as alterações e clique na aba “Script Handler” . Nesta aba atualmente está configurado para roda o php 7.3. Vamos fazer modificações para que nossas aplicações utilizem a partir de agora o php 7.4 que acabamos de configurar.

Na coluna Actions, localize e clique no ícone “Edit”

Em “Handler Name *” modifique para lsphp74 e a seguir clique em “Save” e restart o OpenLiteSpeed para que as configurações sejam ativadas.

O próximo passo é o WordPress. Antes de sairmos do OpenLiteSpeed , vamos ativar o suporte a .htacess que será muito importante no WordPress.

Em Server Configuration > General
Localize e edite Rewrite Control
Altere Auto Load from .htaccess para Yes e salve a alteração.

Agora, no menu Virtual Host, selecione o registro referente a seu domínio.
Localize a aba “Rewrite” e edite “Rewrite Control

VariávelValor
Enable RewriteYes
Auto Load from .htaccessYes
Log Level

Salve as alterações, reinicie o OpenLiteSpeed.

Instalando o WordPress e o Plugin Litespeed LS CACHE

Acesse o ssh como root no seu servidor e a seguir o diretório onde ficarão os arquivos do seu site. Salve os arquivos do wordpress

Criando banco de dados e usuário para o WordPress com MariaDB

Acesse o MariaDB com o usuário root e senha que você definiu quando instalou o MariaDB acima

Crie o banco de dados

A seguir vamos criar um usuário (wordpress_user) com todas as permissões neste banco de dados e definir a senha. Sugiro utilizar um nome de usuário e senha seguro. Guarde estas informações, iremos utiliza-las mais a frente.

Temos um banco de dados e um usuário com acesso total a este banco para utilizarmos no WordPress. Agora precisamos executar o comando a seguir para recarregar as tabelas e para que a instância atual do MariaDB saiba sobre as alterações que você fez:

Agora, vamos sair do MariaDB.

Volte ao diretório onde estão os arquivos do WordPress, crie o arquivo .htaccess, altere o usuário e grupo dos arquivos para nobody e nogroup. Como padrão o OpenLiteSpeed executa como “user(nobody) : group(nogroup)”, para que não tenhamos problemas de permissões estas alterações são necessárias

Acesse em seu navegador web o domínio que configurou.
Exemplo: https://helpsysadmin.ml

Você verá uma página explicando o que virá a seguir na configuração do WordPress. Clique em “Vamos lá
Na página a seguir preencha o nome do banco de dados que criou, usuário e senha. Clique em próximo.

Será exibido uma mensagem informando que não foi possível criar o arquivo wp-config.php e no quadro abaixo o conteúdo que deverá ter este arquivo. Copie o conteúdo, volte para o local de seus arquivos, crie o wp-config.php e cole o conteúdo anterior.. Salve as alterações e volte a configuração do seu domínio em seu browser

Nesta parte você deverá informar o nome do usuário admin, senha e e-mail, clique em prosseguir!

Pronto seu WordPress está instalado.

Agora gostaria de abordar de forma breve um plug-in poderoso para usuários Openlitespeed e Litespeed. Ele é um excelente plugin com recursos básicos e avançados. Sugiro passar um tempo descobrindo o que funciona ou não para seu site. Localize o plug-in LiteSpeed Cache.

Este foi um longo post, mas achei necessário ser assim para abordar estes assuntos com qualidade e não apenas mais um na Web. Espero que tenham gostado e deixe comentários abaixo.