Instalação de Software · 24 min read · Nov 24, 2025
Como Instalar a Pilha LOMP (OpenLiteSpeed, MySQL e PHP) no Ubuntu 24.04

OpenLiteSpeed é uma versão leve e de código aberto do LiteSpeed Server desenvolvida pela LiteSpeed Technologies. Ele suporta regras de reescrita do Apache, HTTP/2 e HTTP/3, e protocolos TLS v1.3 e QUIC. Ele vem com um painel de administração baseado em WebGUI, tornando-o diferente de outros servidores e mais fácil de gerenciar.
A Pilha LOMP é um acrônimo para Linux, OpenLiteSpeed, MySQL/MariaDB e PHP. Os servidores Litespeed são conhecidos por sua velocidade, especialmente com PHP, que se integra usando a Interface de Programação de Aplicações do Servidor LiteSpeed (LSAPI). O interpretador LiteSpeed PHP (LSPHP) serve páginas PHP dinâmicas via LSAPI.
Este tutorial mostrará como instalar um Servidor OpenLiteSpeed no Ubuntu 24.04.
Pré-requisitos
- Um servidor rodando Ubuntu 24.04.
- Um usuário não-root com privilégios sudo.
- Um nome de domínio totalmente qualificado (FQDN) como
example.comapontando para o servidor. - Certifique-se de que tudo está atualizado.
$ sudo apt update $ sudo apt upgrade - Alguns pacotes que seu sistema precisa.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -yAlguns desses pacotes podem já estar instalados em seu sistema.
Passo 1 - Configurar o Firewall
O primeiro passo é configurar o firewall. O Debian vem com ufw (Uncomplicated Firewall) por padrão.
Verifique se o firewall está em execução.
$ sudo ufw status
Você receberá a seguinte saída.
Status: inactive
Permita a porta SSH para que o firewall não interrompa a conexão atual ao ativá-lo.
$ sudo ufw allow OpenSSH
Permita também as portas HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Abra as portas relacionadas ao OpenLiteSpeed.
$ sudo ufw allow 7080/tcp
Ative o Firewall
$ sudo ufw enable
Comando pode interromper conexões ssh existentes. Prosseguir com a operação (y|n)? y
Firewall está ativo e habilitado na inicialização do sistema
Verifique o status do firewall novamente.
$ sudo ufw status
Você deve ver uma saída semelhante.
Status: active
Para Ação De
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
7080/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
7080/tcp (v6) ALLOW Anywhere (v6)
Passo 2 - Instalar OpenLiteSpeed
Instalaremos o OpenLiteSpeed compilando a partir do código-fonte. Baixe o arquivo de código-fonte do OpenLiteSpeed. Você pode obter o link para o arquivo de código-fonte mais recente na página oficial de downloads do OpenLiteSpeed. A versão 1.7.19 é a versão estável atual disponível.
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.19.src.tgz
Extraia o arquivo.
$ tar -zxf openlitespeed-*.tgz
Mude para o diretório extraído.
$ cd openlitespeed-1.7.19
Construa o pacote do servidor.
$ sudo ./build.sh
Você pode ter que esperar de 5 a 10 minutos para que o processo termine. Ignore quaisquer avisos que você receber durante o processo. Você receberá a seguinte saída quando terminar.
...............
[100%] Linking CXX shared library modpagespeed.so
/usr/bin/ld: warning: 140.x25519-asm-x86_64.o.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[100%] Built target modpagespeed
Start to pack files.
-e Building finished, please run ./install.sh for installation.
-e You may want to update the ols.conf to change the settings before installation.
-e Enjoy.
Uma vez que o processo esteja concluído, abra o arquivo ols.conf para edição.
$ sudo nano ols.conf
Edite o arquivo conforme mostrado abaixo.
#Se você quiser mudar os valores padrão, por favor atualize este arquivo.
#
SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
[email protected]
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#Você pode definir a senha aqui
#OPENLSWS_PASSWORD=
Não adicione sua senha aqui. Nós configuraremos a senha mais tarde usando a linha de comando. Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Agora que o OpenLiteSpeed está construído, vamos instalá-lo.
$ sudo ./install.sh
O script de instalação instala e habilita o serviço lsws para o servidor. Você receberá a seguinte saída quando terminar.
Atualizando gerenciador de cache da web, por favor, aguarde ...
Baixando o arquivo tar de código compartilhado mais recente...
Verificando md5 do arquivo tar...
Removendo diretório de código compartilhado existente...
Extraindo código compartilhado baixado...
Removendo arquivo tar de código compartilhado local...
Atualizando script lscmctl...
Feito!
-e Instalação concluída, aproveite!
-e Sua senha de webAdmin é kXjWTl5j, escrita no arquivo /usr/local/lsws/adminpasswd.
Inicie o servidor OpenLiteSpeed.
$ sudo systemctl start lsws
Verifique o status do serviço.
$ sudo systemctl status lsws
? lshttpd.service - OpenLiteSpeed HTTP Server
Loaded: loaded (/usr/lib/systemd/system/lshttpd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 12:58:44 UTC; 3s ago
Process: 52583 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS)
Main PID: 52604 (litespeed)
CGroup: /system.slice/lshttpd.service
??52604 "openlitespeed (lshttpd - main)"
??52610 "openlitespeed (lscgid)"
??52623 "openlitespeed (lshttpd - #01)"
??52624 lsphp
Jun 02 12:58:42 lompserver systemd[1]: Starting lshttpd.service - OpenLiteSpeed HTTP Server...
Jun 02 12:58:42 lompserver lswsctrl[52583]: [OK] litespeed: pid=52604.
Jun 02 12:58:44 lompserver systemd[1]: Started lshttpd.service - OpenLiteSpeed HTTP Server.
Verifique a versão do servidor instalado.
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.19 Open (BUILD built: Tue Apr 16 15:14:26 UTC 2024)
module versions:
lsquic 3.3.2
modgzip 1.1
cache 1.66
mod_security 1.4 (with libmodsecurity v3.0.12)
Criar a Senha do Administrador
Você pode usar a senha do administrador dada durante o processo de instalação. No entanto, você deve criar a sua própria redefinindo-a. Execute o script de redefinição de senha.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Você receberá a seguinte saída. Escolha seu nome de usuário e defina uma senha forte.
Por favor, especifique o nome do usuário do administrador.
Este é o nome de usuário necessário para fazer login na interface da Web de administração.
Nome de usuário [admin]: navjot
Por favor, especifique a senha do administrador.
Esta é a senha necessária para fazer login na interface da Web de administração.
Senha:
Redigite a senha:
Nome de usuário/senha do administrador atualizado com sucesso!
Agora você pode usar a nova senha de administrador.
Abra http:// para acessar o painel de administração do OpenLiteSpeed. No seu primeiro login, seu navegador avisará 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 um navegador baseado em Chromium). Você não verá o aviso novamente.
Você deve ver a página de login.

Insira as credenciais que você definiu anteriormente e pressione o botão Login para prosseguir.
Você receberá a seguinte tela.

Passo 3 - Instalar MySQL
Antes de prosseguir com a instalação do MySQL, precisamos atualizar o repositório do LiteSpeed. O repositório do Litespeed adicionado via o instalador não funciona corretamente.
Abra o arquivo /etc/apt/sources.list.d/lst_debian_repo.list para edição.
$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list
Altere o conteúdo do arquivo adicionando o nome da versão do Ubuntu 24.04 ( noble) à URL do repositório.
deb http://rpms.litespeedtech.com/debian/ noble main
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Instale o servidor MySQL.
$ sudo apt install mysql-server
O serviço MySQL é iniciado automaticamente e está em execução após a instalação.
Verifique o status do serviço.
$ sudo systemctl status mysql
Você receberá a seguinte saída.
? mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 13:42:12 UTC; 8min ago
Process: 57889 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 57898 (mysqld)
Status: "Servidor está operacional"
Tasks: 37 (limit: 2263)
Memory: 370.6M (peak: 386.9M)
CPU: 6.762s
CGroup: /system.slice/mysql.service
??57898 /usr/sbin/mysqld
Jun 02 13:42:11 lompserver systemd[1]: Starting mysql.service - MySQL Community Server...
Execute o script de segurança do MySQL.
$ sudo mysql_secure_installation
Você será solicitado a instalar o Validate Password Component. Pressione Y para prosseguir.
Proteger a implantação do servidor MySQL.
Conectando ao MySQL usando uma senha em branco.
O COMPONENTE DE VALIDAÇÃO DE SENHA pode ser usado para testar senhas
e melhorar a segurança. Ele verifica a força da senha
e permite que os usuários definam apenas aquelas senhas que são
garantidas o suficiente. Você gostaria de configurar o componente de VALIDAÇÃO DE SENHA?
Pressione y|Y para Sim, qualquer outra tecla para Não: y
Em seguida, você será solicitado a escolher a força da senha. Selecione 2 para Forte e prossiga.
Existem três níveis de política de validação de senha:
BAIXO Comprimento >= 8
MÉDIO Comprimento >= 8, numérico, letras maiúsculas e minúsculas, e caracteres especiais
FORTE Comprimento >= 8, numérico, letras maiúsculas e minúsculas, caracteres especiais e dicionário arquivo
Por favor, insira 0 = BAIXO, 1 = MÉDIO e 2 = FORTE: 2
A instalação do MySQL não pedirá que você defina uma senha de root porque o tipo de autenticação padrão é auth_socket, que depende da autenticação do seu sistema Linux. Você pode, no entanto, alterá-la mais tarde.
Ignorando a definição de senha para root, pois a autenticação com auth_socket é usada por padrão.
Se você gostaria de usar autenticação por senha em vez disso, isso pode ser feito com o comando "ALTER_USER".
Veja https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management para mais informações.
Em seguida, você será solicitado a responder a certas perguntas para melhorar a segurança do MySQL. Digite Y para remover usuários anônimos, proibir logins remotos de root, remover o banco de dados de teste e recarregar as tabelas de privilégios.
Por padrão, uma instalação do MySQL tem um usuário anônimo,
permitindo que qualquer pessoa faça login no MySQL sem ter que ter
uma conta de usuário criada para eles. Isso é destinado apenas para
testes, e para tornar a instalação um pouco mais suave.
Você deve removê-los antes de passar para um ambiente de produção.
Remover usuários anônimos? (Pressione y|Y para Sim, qualquer outra tecla para Não) : y
Sucesso.
Normalmente, o root deve ser permitido apenas conectar-se de
'localhost'. Isso garante que alguém não possa adivinhar a
senha de root pela rede.
Proibir login remoto de root? (Pressione y|Y para Sim, qualquer outra tecla para Não) : y
Sucesso.
Por padrão, o MySQL vem com um banco de dados chamado 'teste' que
qualquer um pode acessar. Isso também é destinado apenas para testes,
e deve ser removido antes de passar para um ambiente de produção.
Remover banco de dados de teste e acesso a ele? (Pressione y|Y para Sim, qualquer outra tecla para Não) : y
- Removendo banco de dados de teste...
Sucesso.
- Removendo privilégios no banco de dados de teste...
Sucesso.
Recarregar as tabelas de privilégios garantirá que todas as alterações
feitas até agora tenham efeito imediatamente.
Recarregar tabelas de privilégios agora? (Pressione y|Y para Sim, qualquer outra tecla para Não) : y
Sucesso.
Tudo pronto!
Você pode entrar no shell do MySQL digitando sudo mysql na linha de comando.
Passo 4 - Instalar PHP
Como construímos nosso pacote a partir do código-fonte, ele compila e constrói uma versão antiga do PHP que não é recomendada para uso. Você pode verificar isso via o seguinte comando.
$ /usr/local/lsws/fcgi-bin/lsphp -v
PHP 5.6.40 (litespeed) (built: May 10 2023 23:03:31)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Portanto, precisamos construir e instalar a versão mais recente do PHP. Mas, antes de prosseguirmos, precisamos instalar as ferramentas de construção.
$ sudo apt install build-essential autoconf libtool bison re2c pkg-config
O próximo passo é instalar os pacotes necessários para o processo de construção do PHP.
$ sudo apt install libssl-dev libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev libzip-dev libmemcached-dev libreadline-dev libgmp-dev libpng-dev libjpeg-dev libwebp-dev libxpm-dev libicu-dev libfreetype6-dev libxslt-dev libldb-dev libtidy-dev libvips-dev libsodium-dev libavif-dev libldap2-dev libxml2-dev libkrb5-dev libc-client2007e-dev libpq-dev libargon2-1 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmysqlclient-dev libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev
Em seguida, baixe o código-fonte do PHP. Vamos baixar a versão 8.3.7 do PHP, que é a versão mais recente disponível no momento da redação.
$ cd ~
$ wget https://www.php.net/distributions/php-8.3.7.tar.gz
Extraia os arquivos.
$ tar -xzf php-8.3.7.tar.gz
Mude para o diretório baixado.
$ cd php-8.3.7
Em seguida, execute o script de configuração com as seguintes opções. A opção --enable-litespeed é essencial.
$ sudo ./configure --prefix=/usr/local/lsws/lsphp83 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --with-avif --with-curl --with-ffi --with-freetype --with-gettext --with-gmp --with-imap --with-imap-ssl --with-jpeg --with-kerberos --with-libxml --with-ldap --with-mysqli --with-mysql-sock=/run/mysqld/mysqld.sock --with-openssl --with-password-argon2 --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --with-pear --with-pspell --with-readline --with-sodium --with-tidy --with-webp --with-xpm --with-xsl --with-zip --with-zlib --enable-litespeed
Você deve obter a seguinte saída uma vez que o script termine.
+--------------------------------------------------------------------+
| Licença: |
| Este software está sujeito à Licença PHP, disponível nesta |
| distribuição no arquivo LICENSE. Ao continuar este processo de |
| instalação, você está vinculado aos termos deste contrato de licença.|
| Se você não concorda com os termos desta licença, deve abortar |
| o processo de instalação neste ponto. |
+--------------------------------------------------------------------+
Obrigado por usar PHP.
Compile o código-fonte.
$ sudo make -j $(nproc)
Você receberá uma saída semelhante uma vez que termine.
Gerando phar.php
Gerando phar.phar
Pacote PEAR PHP_Archive não instalado: phar gerado exigirá que a extensão phar do PHP esteja habilitada.
directorytreeiterator.inc
phar.inc
invertedregexiterator.inc
directorygraphiterator.inc
pharcommand.inc
clicommand.inc
Construção completa.
Não se esqueça de executar 'make test'.
Uma vez que você tenha terminado, execute o seguinte comando para tentar verificar a versão.
$ ./sapi/litespeed/php -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Instale o PHP.
$ sudo make install
Você receberá a seguinte saída.
Instalando extensões compartilhadas: /usr/local/lsws/lsphp83/lib/php/extensions/no-debug-non-zts-20230831/
Instalando binário CLI do PHP: /usr/local/lsws/lsphp83/bin/
Instalando página man do PHP CLI: /usr/local/lsws/lsphp83/php/man/man1/
Instalando binário LiteSpeed do PHP: /usr/local/lsws/lsphp83/bin/
Instalando binário phpdbg: /usr/local/lsws/lsphp83/bin/
Instalando página man do phpdbg: /usr/local/lsws/lsphp83/php/man/man1/
Instalando binário CGI do PHP: /usr/local/lsws/lsphp83/bin/
Instalando página man do PHP CGI: /usr/local/lsws/lsphp83/php/man/man1/
Instalando ambiente de construção: /usr/local/lsws/lsphp83/lib/php/build/
Instalando arquivos de cabeçalho: /usr/local/lsws/lsphp83/include/php/
Instalando programas auxiliares: /usr/local/lsws/lsphp83/bin/
programa: phpize
programa: php-config
Instalando páginas man: /usr/local/lsws/lsphp83/php/man/man1/
página: phpize.1
página: php-config.1
Instalando ambiente PEAR: /usr/local/lsws/lsphp83/lib/php/
[PEAR] Archive_Tar - instalado: 1.4.14
[PEAR] Console_Getopt - instalado: 1.4.3
[PEAR] Structures_Graph- instalado: 1.1.1
[PEAR] XML_Util - instalado: 1.4.5
aviso: pacote de dependência pear/PEAR instalado versão 1.4.14 não é a versão recomendada 1.4.4
[PEAR] PEAR - instalado: 1.10.15
Escreveu arquivo de configuração do sistema PEAR em: /usr/local/lsws/lsphp83/etc/pear.conf
Você pode querer adicionar: /usr/local/lsws/lsphp83/lib/php ao seu php.ini include_path
Instalando cabeçalhos PDO: /usr/local/lsws/lsphp83/include/php/ext/pdo/
Verifique a instalação do PHP. Existem dois binários PHP disponíveis no diretório /usr/local/lsws/lsphp83/bin. Um é o normal php, que é a versão de linha de comando, e o outro é a versão Litespeed lsphp. A segunda é a que usaremos.
$ /usr/local/lsws/lsphp83/bin/lsphp -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Você pode verificar a lista de módulos PHP habilitados.
$ /usr/local/lsws/lsphp83/bin/php --modules
[Módulos PHP]
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
pspell
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Módulos Zend]
Copie o php.ini-production da pasta de instalação para a pasta /usr/local/lsws/lsphp83/lib.
$ sudo cp php.ini-production /usr/local/lsws/lsphp83/lib/php.ini
Nós configuraremos o OpenLiteSpeed para trabalhar com o PHP mais tarde.
Abra o php.ini para edição.
$ sudo nano /usr/local/lsws/lsphp83/lib/php.ini
Encontre a variável include_path e altere seu valor como mostrado abaixo.
$ ;;;;;;;;;;;;;;;;;;;;;;;;
; Caminhos e Diretórios ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = "/usr/local/lsws/lsphp83/lib/php"
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Passo 5 - Configurar MySQL
Faça login no shell do MySQL.
$ sudo mysql
Crie um banco de dados de teste. Substitua testdb pelo nome de banco de dados apropriado de sua escolha.
mysql> CREATE DATABASE testdb;
Crie um usuário de teste. Substitua testuser por um nome de usuário apropriado. Substitua Your_Password123 por uma senha forte.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
Conceda todos os privilégios no banco de dados ao usuário.
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
Atualize os privilégios do usuário.
mysql> FLUSH PRIVILEGES;
Saia do shell do MySQL.
mysql> exit
Passo 6 - Configurar OpenLiteSpeed
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.
Visite a seção Listeners à esquerda. Você verá os listeners padrão com a porta 8080.

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


Clique em Salvar e reinicie o servidor clicando no botão de Reinício Gracioso.
Abra a URL http:// em seu navegador e você deve obter a seguinte página.

Passo 7 - Configurar PHP
Neste passo, precisamos associar nossa cópia do PHP 8.3 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. Faremos algumas edições nele.

Clique no botão Editar para editar o aplicativo PHP.
Em seguida, ajuste a configuração conforme mostrado abaixo. Deixe todos os outros campos em branco.
Nome: lsphp
Endereço: uds://tmp/lshttpd/lsphp.sock
Máx Conexões: 35
Ambiente: PHP_LSAPI_MAX_REQUESTS=500
PHP_LSAPI_CHILDREN=35
LSAPI_AVOID_FORK=200M
Tempo Limite de Solicitação Inicial (segundos): 60
Tempo Limite de Retentativa : 0
Conexão Persistente: Sim
Buffer de Resposta: não
Iniciar pelo Servidor: Sim (Através do Daemon CGI)
Comando: lsphp83/bin/lsphp
Back Log: 100
Instâncias: 1
Prioridade: 0
Limite de Memória Suave (bytes): 2047M
Limite de Memória Dura (bytes): 2047M
Limite Suave de Processos: 1400
Limite Duro de Processos: 1500
Clique em Salvar quando terminar.

Agora que criamos nosso próprio aplicativo PHP 8.3, devemos informar ao servidor para começar a usá-lo. Como editamos o listener padrão, ele já está configurado. Reinicie o servidor clicando no botão de Reinício Gracioso.
Para testar se seu PHP foi trocado corretamente, visite http:// em seu navegador.

Reiniciar o PHP
No OpenLiteSpeed, se você editar o php.ini ou instalar um novo módulo PHP, reiniciar o servidor não mostrará as alterações. Você precisará reiniciar o processo PHP para isso. Primeiro, você precisará localizar os IDs de processo para o processo lsphp.
$ ps aux | grep lsphp
nobody 120093 0.0 0.8 123772 32920 ? S 06:35 0:00 lsphp
nobody 120111 0.0 0.4 123772 18980 ? Ss 06:38 0:00 lsphp
navjot 120139 0.0 0.0 6544 2304 pts/0 S+ 06:44 0:00 grep --color=auto lsphp
Mate manualmente os processos lsphp.
$ sudo kill -9 120093
$ sudo kill -9 120111
Reinicie o Servidor.
$ sudo systemctl restart lsws
Passo 8 - Criar VirtualHost
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, acesse a seção Hosts Virtuais à esquerda e clique no botão Adicionar.

Preencha os valores conforme especificado
Nome do Host Virtual: example.com
Raiz do Host Virtual: $SERVER_ROOT/example.com/
Arquivo de Configuração: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Seguir Link Simbólico: Sim
Habilitar Scripts/ExtApps: Sim
Restringido: Sim
Modo UID do Aplicativo Externo: UID do Servidor

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.
Raiz do Documento: $VH_ROOT/html/
Nome do Domínio: example.com
Habilitar Compressão GZIP: Sim
Habilitar Compressão Brotli: Sim

Clique no botão Salvar quando terminar. Em seguida, precisamos configurar os arquivos de índice. Clique no botão de edição contra Arquivos de Índice abaixo da Seção Geral. Defina as seguintes opções.
Usar Arquivos de Índice do Servidor: Não
Arquivos de Índice: index.php, index.html, index.htm
Auto Índice: Não

Clique em Salvar quando terminar. Em seguida, precisamos escolher os arquivos de Log. Vá para a seção Log, clique em Editar contra Log do Host Virtual, e preencha os seguintes valores. Deixe outras configurações inalteradas.
Usar Log do Servidor: Sim
Nome do Arquivo: $VH_ROOT/logs/error.log
Nível de Log: ERRO
Tamanho de Rolagem (bytes): 10M
Manter Dias: 30
Compressão de Arquivo: Não Definido

Você pode escolher o Nível de Log como DEBUG se estiver em uma máquina de desenvolvimento.
Clique em Salvar e então clique no sinal de mais na seção Log de Acesso para adicionar uma nova entrada. Preencha os seguintes valores.
Controle de Log: Próprio Arquivo de Log
Nome do Arquivo: $VH_ROOT/logs/access.log
Logger Piped: Não Definido
Formato de Log: Não Definido
Cabeçalhos de Log: Não Definido
Tamanho de Rolagem (bytes): 10M
Manter Dias: 30
Compressão de Arquivo: Não Definido
Bytes log: Não Definido

Clique em Salvar quando terminar. Em seguida, precisamos configurar o Controle de Acesso na seção Segurança. Defina os seguintes valores.
Lista Permitida: *
Lista Negada: Não definida

Clique em Salvar quando terminar. Em seguida, precisamos definir a Definição do Manipulador de Script. Clique no sinal de mais (+) para adicionar uma nova definição. Defina os seguintes valores.
Sufixos: php
Tipo de Manipulador: LiteSpeed SAPI
Nome do Manipulador: [Nível do Servidor]: lsphp

Clique em Salvar quando terminar. Em seguida, precisamos definir o Controle de Reescrita na seção Reescrever. Defina os seguintes valores.
Habilitar Reescrita: Sim
Carregar Automaticamente do .htaccess: Sim
Nível de Log: Não Definido

Clique em Salvar quando terminar. E por último, precisamos definir os Listeners. Vá para a seção Listeners e clique no botão View 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.
Host Virtual: example.com
Domínios: example.com
Clique em Salvar quando terminar. Agora, clique no botão Reinício Gracioso para aplicar todas as alterações acima e reiniciar o servidor.
Passo 9 - Instalar SSL
Configurar SSL no OpenLiteSpeed requer que configuremos dois certificados. Um certificado autoassinado para o servidor geral e um certificado específico do site Let’s Encrypt.
O painel de administração já vem com um certificado autoassinado pré-instalado que está disponível no diretório /usr/local/lsws/admin/conf.
Vamos criar primeiro o Certificado Autoassinado para o servidor geral.
$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Você receberá uma saída semelhante.
-----
Você está prestes a ser solicitado a inserir informações que serão incorporadas
no seu pedido de certificado.
O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.
Existem vários campos, mas você pode deixar alguns em branco
Para alguns campos haverá um valor padrão,
Se você digitar '.', o campo ficará em branco.
-----
Nome do País (código de 2 letras) [AU]:
Nome do Estado ou Província (nome completo) [Some-State]:
Nome da Localidade (ex: cidade) []:
Nome da Organização (ex: empresa) [Internet Widgits Pty Ltd]:
Nome da Unidade Organizacional (ex: seção) []:
Nome Comum (ex: FQDN do servidor ou SEU nome) []:example.com
Endereço de E-mail []:[email protected]
Você pode pressionar enter em todos os campos e deixá-los vazios. Preencha seu domínio para o Nome Comum e seu endereço de e-mail.
Crie o diretório para os certificados autoassinados.
$ sudo mkdir /usr/local/lsws/certs
Copie o certificado para o diretório /usr/local/lsws/certs.
$ sudo mv *.pem /usr/local/lsws/certs
Precisamos instalar o Certbot para gerar certificados SSL gratuitos oferecidos pelo Let’s Encrypt.
Você pode instalar o Certbot usando o repositório do Debian ou pegar a versão mais recente usando a ferramenta Snapd. Usaremos a versão Snapd. O Ubuntu 24.04 já vem com o Snapd pré-instalado.
Execute os seguintes comandos para garantir que sua versão do Snapd esteja atualizada.
$ sudo snap install core
$ sudo snap refresh core
Emita o seguinte comando para instalar o Certbot.
$ sudo snap install --classic certbot
Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifique a instalação.
$ certbot --version
certbot 2.10.0
Execute o seguinte comando para gerar um Certificado SSL.
Obtenha o certificado SSL. O diretório webroot é definido para o diretório HTML público configurado anteriormente.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Verifique o serviço agendado de renovação do Certbot.
$ sudo systemctl list-timers
Você encontrará snap.certbot.renew.service como um dos serviços agendados para ser executado.
PRÓXIMO ESQUERDA ÚLTIMA PASSOU UNIDADE ATIVA
Mon 2024-06-03 07:20:00 UTC 5min Mon 2024-06-03 07:10:02 UTC 4min 11s atrás sysstat-collect.timer sysstat-collect.service
Mon 2024-06-03 08:29:00 UTC 1h 14min - - snap.certbot.renew.timer snap.certbot.renew.service
Mon 2024-06-03 08:50:32 UTC 1h 36min Mon 2024-06-03 07:04:04 UTC 10min atrás fwupd-refresh.timer fwupd-refresh.service
Para verificar se a renovação do SSL está funcionando bem, faça um teste seco do processo.
$ sudo certbot renew --dry-run
Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.
Agora abra o console de administração, vá para Listeners >> Adicionar Novo Listener, e adicione os seguintes valores.
Nome do Listener: SSL
Endereço IP: QUALQUER IPv4
Porta: 443
Seguro: Sim

Clique em Salvar quando terminar. Em seguida, vá para a seção Mapeamentos de Host Virtual sob o Listener SSL clicando em SSL, clicando no botão Adicionar e preenchendo os seguintes valores.
Host Virtual: example.com
Domínios: example.com
Clique em Salvar quando terminar. Em seguida, vá para Listeners >> Listener SSL >> Aba SSL >> Chave Privada SSL & Certificado (botão Editar) e preencha os seguintes valores para o certificado autoassinado que criamos antes.
Arquivo da Chave Privada: $SERVER_ROOT/certs/key.pem
Arquivo do Certificado: $SERVER_ROOT/certs/cert.pem
Certificado Encadeado: Sim

Clique em Salvar quando terminar. Em seguida, vá para Listeners >> Listener SSL >> Aba SSL >> Protocolo SSL (botão Editar) e preencha os seguintes valores para o protocolo SSL e detalhes do cifrador.
Versão do Protocolo: TLS v1.2 TLS v1.3
Cifras: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
Habilitar Troca de Chaves ECDH: Sim
Habilitar Troca de Chaves DH: Sim
Parâmetro DH: /etc/ssl/certs/dhparam.pem

Clique em Salvar quando terminar. Em seguida, vá para Virtual Hosts >> example.com >> Aba SSL >> Chave Privada SSL & Certificado (botão Editar) e preencha os seguintes valores com o Certificado Let’s Encrypt.
Arquivo da Chave Privada: /etc/letsencrypt/live/example.com/privkey.pem
Arquivo do Certificado: /etc/letsencrypt/live/example.com/fullchain.pem
Certificado Encadeado: Sim

Clique em Salvar quando terminar. Em seguida, vá para Virtual Hosts >> example.com >> Aba SSL >> OCSP Stapling (botão Editar) e preencha os seguintes valores para habilitar OCSP Stapling.
Habilitar OCSP Stapling: Sim
Idade Máxima da Resposta OCSP (Segundos): 300
Respondedor OCSP: http://r3.o.lencr.org

Clique em Salvar quando terminar. Em seguida, vá para Virtual Hosts >> example.com >> Aba SSL >> Segurança (botão Editar) e preencha os seguintes valores para habilitar o protocolo HTTP3/QUIC.
ALPN: Habilitar HTTP/2 e HTTP/3
Habilitar HTTP3/QUIC: Sim
Não precisamos habilitar outras opções porque elas estão ativadas por padrão.

Clique em Salvar quando terminar.
Reinicie o servidor clicando no botão de Reinício Gracioso.
Passo 10 - Testar o Site
Crie um arquivo de Teste no 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 = "Your_Password123";
// 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.
';
?>
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado. Abra a URL https://example.com em um navegador e você deve ver a seguinte página.

O site de teste está totalmente funcional. Você pode começar a usar o servidor para servir sites e aplicações PHP dinâmicas.
Conclusão
Isso conclui nosso tutorial sobre como instalar a Pilha LOMP (OpenLiteSpeed, MySQL e PHP) em um servidor Ubuntu 24.04. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.