Servidor Web · 13 min read · Nov 24, 2025
Como Instalar e Configurar o Servidor OpenLiteSpeed junto com MariaDB e PHP no Ubuntu 20.04

OpenLiteSpeed é uma versão leve e de código aberto do LiteSpeed Server desenvolvida pela LiteSpeed Technologies. Ele vem com um painel de administração baseado em WebGUI, o que o torna diferente de outros servidores e mais fácil de gerenciar.
Neste tutorial, aprenderemos como instalar o Servidor OpenLiteSpeed no Ubuntu 20.04 junto com PHP 7.4 e o servidor MariaDB.
Pré-requisitos
- Servidor web baseado em Ubuntu 20.04.
- Uma conta de usuário não-root com privilégios sudo.
Atualize seu sistema.
$ sudo apt update
$ sudo apt upgrade
Passo 1 - Configurar o Firewall
Antes de começarmos o tutorial, precisamos configurar o Uncomplicated Firewall(UFW), que geralmente está habilitado por padrão. Vamos verificar o status do firewall primeiro.
Precisamos habilitar SSH, HTTP, HTTPS e as portas 7080, 8088 para o firewall.
$ sudo ufw allow OpenSSH
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow 7080/tcp
$ sudo ufw allow 8088/tcp
Verifique o status do firewall.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
7080/tcp ALLOW Anywhere
8088/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
7080/tcp (v6) ALLOW Anywhere (v6)
8088/tcp (v6) ALLOW Anywhere (v6)
Se não estiver funcionando, inicie o firewall.
$ sudo ufw enable
Passo 2 - Instalar OpenLiteSpeed
Existem várias versões do OpenLiteSpeed que você pode instalar. As versões recomendadas são da série 1.6.x ou 1.7.x no momento da redação deste tutorial.
Usaremos o Repositório oficial do OpenLiteSpeed para nosso tutorial, que mantém apenas a versão 1.6.x.
Adicione a Chave do Repositório OpenLiteSpeed.
$ wget -qO - https://rpms.litespeedtech.com/debian/lst_repo.gpg | sudo apt-key add -
Adicione o Repositório.
$ echo "deb http://rpms.litespeedtech.com/debian/ focal main" | sudo tee /etc/apt/sources.list.d/openlitespeed.list
Atualize o Repositório.
$ sudo apt update
Instale o OpenLiteSpeed
$ sudo apt install openlitespeed
Verifique o status do servidor.
$ sudo /usr/local/lsws/bin/lswsctrl status
litespeed is running with PID 21825.
Se não estiver em execução, você pode iniciar com o seguinte comando.
$ sudo /usr/local/lsws/bin/lswsctrl start
Abra http:// para acessar seu servidor web. Você deve ver a seguinte página.

Passo 3 - Instalar PHP
O servidor OpenLiteSpeed vem com PHP 7.3 que está pré-habilitado. Mas queremos usar o PHP 7.4, então vamos instalar nossa própria cópia.
Instale o PHP 7.4 junto com alguns pacotes adicionais.
$ sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl
Verifique sua instalação do PHP.
$ /usr/local/lsws/lsphp74/bin/php7.4 -v
PHP 7.4.5 (cli) (built: May 7 2020 23:08:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies
Você pode verificar os módulos PHP habilitados.
$ /usr/local/lsws/lsphp74/bin/php7.4 --modules
Nós configuraremos o PHP para trabalhar com o OpenLiteSpeed mais tarde.
Passo 4 - Instalar MariaDB
Instale o servidor MariaDB.
$ sudo apt install mariadb-server
Inicie e habilite o serviço MariaDB.
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
Proteja sua instalação do MariaDB. Este script definirá sua senha root, removerá usuários anônimos, desabilitará o login remoto do root e excluirá tabelas de teste. Escolha uma senha forte e responda às perguntas conforme descrito abaixo.
$ sudo mysql_secure_installation
[sudo] password for username:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Uma vez feito isso, você pode fazer login no shell do MySQL usando o seguinte comando.
$ sudo mysql -u root -p
Crie um banco de dados de teste e um usuário com permissão de acesso. Substitua testdb e testuser por nomes apropriados para sua configuração. Substitua password por uma senha forte.
CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
FLUSH PRIVILEGES;
Saia do shell do MySQL.
exit
Passo 5 - Configurar OpenLiteSpeed
Configurar Painel de Administração
Defina as credenciais do painel de administrador.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]:
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
Você também pode usar este comando caso esqueça seus dados de login.
Para acessar o painel de administração, abra http://.
No seu primeiro login, seu navegador dará avisos dizendo que sua conexão não é privada. Clique em Avançado e clique em “Aceitar o risco e continuar” (no caso do Firefox) ou “Prosseguir para “ (no caso de navegador baseado em Chromium). Você não verá o aviso novamente.
Você será recebido pela seguinte tela.

Mudar a porta HTTP de volta para 80
Vamos mudar a porta HTTP padrão para 80. Faça login no seu painel de administração em http:// com as credenciais que você acabou de criar.
Você será recebido pela seguinte tela.

Visite a seção Listeners à esquerda. Você verá os listeners padrão com a porta 8080.

Clique no botão Visualizar para ver a configuração de detalhes. Na próxima página, sob Listener Default > General Page, clique no ícone Editar e mude a porta de 8080 para 80.


Clique em Salvar e depois reinicie o servidor clicando no botão Reiniciar Gracioso.
Passo 6 - Configurar PHP
Neste passo, precisamos associar nossa cópia do PHP 7.4 com o servidor.
Clique na seção Configuração do Servidor à esquerda e depois na aba Aplicativo Externo. Você verá um aplicativo LiteSpeed existente para PHP 7.3. Vamos criar nosso próprio aplicativo LiteSpeed para PHP 7.4. Você pode facilmente alternar entre eles mais tarde, se desejar.

Clique no botão Adicionar para criar um novo aplicativo. Para o tipo, selecione LiteSpeed SAPI App e clique em Avançar.

Em seguida, adicione a configuração abaixo. Deixe todos os outros campos em branco.
Name: lsphp74
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
PHP_LSAPI_CHILDREN=35
LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp74/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500
Clique em Salvar quando terminar.

Agora que criamos nosso próprio aplicativo baseado em PHP 7.4, precisamos informar ao servidor para começar a usá-lo.
Vá para a aba Manipulador de Script e edite o manipulador lsphp. Altere o nome do Manipulador para lsphp74 no menu suspenso.

Clique em Salvar e depois reinicie o servidor clicando no botão Reiniciar Gracioso.
Para testar se seu PHP foi trocado corretamente, visite http:// em seu navegador.

Passo 7 - Configurar Host Virtual
Primeiro, precisamos criar diretórios para nosso host virtual.
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
O diretório html conterá os arquivos públicos e o diretório logs conterá os logs do servidor.
Em seguida, abra o console de administração e acesse a seção Hosts Virtuais à esquerda e clique no botão Adicionar.

Preencha os valores conforme especificado
Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID

Clique no botão Salvar quando terminar. Você receberá o seguinte erro porque o arquivo de configuração não existe até agora. Clique no link para criar o arquivo de configuração.

Clique no botão Salvar novamente para terminar de criar o Host Virtual.
Uma vez que o host virtual é criado, vá para Hosts Virtuais -> Escolher Host Virtual(example.com) -> Geral e modifique a configuração conforme dado.
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable Compression: Yes

Clique no botão Salvar quando terminar. Em seguida, precisamos configurar os arquivos de índice. Clique no botão editar contra Arquivos de índice abaixo da Seção Geral. Defina as seguintes opções.
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Clique em Salvar quando terminar. Em seguida, precisamos escolher os arquivos de Log. Vá para a seção Log e clique em Editar contra Log do Host Virtual e preencha os seguintes valores.
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M

Você pode escolher o Nível de Log como DEBUG se estiver em uma máquina de produção/desenvolvimento.
Clique em Salvar e depois clique no sinal de mais na seção Log de Acesso para adicionar uma nova entrada. Preencha os seguintes valores.
Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Yes

Clique em Salvar quando terminar. Em seguida, precisamos configurar Controle de Acesso na seção Segurança. Defina os seguintes valores.
Allowed List: *
Denied List: Not set

Clique em Salvar quando terminar. Em seguida, precisamos definir a Definição do Manipulador de Script. Defina os seguintes valores.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp74

Em seguida, precisamos definir Controle de Reescrita na seção Reescrever. Defina os seguintes valores.

E por último, precisamos definir os Listenrs. Vá para a seção Listeners e clique no botão Visualizar contra Listener Padrão. Em seguida, clique no botão Adicionar contra Mapeamentos de Host Virtual para adicionar um novo mapeamento e defina os seguintes valores.
Clique em Salvar quando terminar. Agora, clique no botão Reiniciar Gracioso para aplicar todas as alterações acima e reiniciar o servidor.
Passo 8 - Configurar SSL
Configurar SSL no OpenLiteSpeed requer que configuremos dois certificados. Um certificado autoassinado para o servidor geral e um servidor específico do site Let’s Encrypt.
Vamos criar primeiro o Certificado Autoassinado.
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Generating a RSA private key
..++++
......................++++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Você pode pressionar enter em todos os campos e deixá-los vazios.
Os certificados agora estão armazenados no diretório /home/user. Precisaremos dessas informações mais tarde.
Para usar o Let’s Encrypt, precisamos instalar a ferramenta Certbot.
$ sudo apt install certbot
Obtenha o certificado SSL.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ -d example.com
Siga o prompt interativo.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree
in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
-------------------------------------------------------------------------------
(Y)es/(N)o: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Using the webroot path /usr/local/lsws/example.com/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example/fullchain.pem. Your key file has
been saved at:
/etc/letsencrypt/live/linode.nspeaks.com/privkey.pem Your cert will
expire on 2020-09-04. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run "certbot
renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Agora abra o console de administração e vá para Listeners >> Adicionar Novo Listener e adicione os seguintes valores.
Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes

Clique em Salvar quando terminar. Em seguida, vá para a seção Mapeamentos de Host Virtual sob o Listener SSL clicando em SSL, clique no botão Adicionar e preencha os seguintes valores.
Virtual Host: example.com
Domains: example.com
Clique em Salvar quando terminar.
Em seguida, vá para Listeners >> SSL Listener >> SSL Tab >> SSL Private Key & Certificate (botão Editar) e preencha os seguintes valores para o certificado autoassinado que criamos antes.
Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes

Em seguida, vá para Hosts Virtuais >> example.com >> SSL Tab >> SSL Private Key & Certificate (botão Editar) e preencha os seguintes valores com o Certificado Let’s Encrypt.
Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes

Clique em Salvar quando terminar.
Reinicie o servidor clicando no botão Reiniciar Gracioso.
Passo 9 - Testar o Site
Crie um arquivo de teste em seu diretório html.
$ sudo nano /usr/local/lsws/example.com/html/index.php
Cole o seguinte código no editor Nano.
Teste de Instalação do Servidor OpenLiteSpeed
Olá,';
// Defina variáveis PHP para a conexão MySQL.
$servername = "localhost";
$username = "testuser";
$password = "password";
// Crie uma conexão MySQL.
$conn = mysqli_connect($servername, $username, $password);
// Relate se a conexão falhar ou for bem-sucedida.
if (!$conn) {
exit('Sua conexão falhou.
' . mysqli_connect_error());
}
echo '
Você se conectou com sucesso.
';
?>
Visite seu site em https://example.com em um navegador e você deve ver a seguinte página.

Isso é tudo para este tutorial. Se você tiver alguma dúvida, deixe-as nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.