Servidor Web · 4 min read · Dec 23, 2025

Como instalar Lighttpd com PHP-FPM e MariaDB no CentOS 7

Lighttpd é um servidor web seguro, rápido e compatível com padrões, projetado para ambientes críticos em termos de velocidade. Este tutorial mostra como você pode instalar o Lighttpd em um servidor CentOS 7 com suporte a PHP (através do PHP-FPM) e suporte a MySQL. O PHP-FPM (FastCGI Process Manager) é uma implementação alternativa do PHP FastCGI com alguns recursos adicionais úteis para sites de qualquer tamanho, especialmente sites mais movimentados. Eu uso o PHP-FPM neste tutorial em vez do spawn-fcgi do Lighttpd.

1 Nota Preliminar

Neste tutorial, eu uso o nome do host server1.example.com com o endereço IP 192.168.1.100. Essas configurações podem diferir para você, então você deve substituí-las onde for apropriado.

2 Instalando o MariaDB como substituto do MySQL

Primeiro, instalamos o MySQL assim:

yum -y install mariadb mariadb-server

Então, criamos os links de inicialização do sistema para o MySQL (para que o MySQL inicie automaticamente sempre que o sistema for inicializado) e iniciamos o servidor MySQL:

systemctl enable mariadb.service  
systemctl start mariadb.service

Defina senhas para a conta root do MariaDB:

mysql_secure_installation
[root@server1 ~]# mysql_secure_installation  
/usr/bin/mysql_secure_installation:
NOTE: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MariaDB EM USO DE PRODUÇÃO! POR FAVOR, LEIA CADA ETAPA CUIDADOSAMENTE!
Para fazer login no MariaDB e protegê-lo, precisaremos da senha atual  
para o usuário root. Se você acabou de instalar o MariaDB, e  
não definiu a senha root ainda, a senha estará em branco,  
portanto, você deve apenas pressionar enter aqui.
Digite a senha atual para root (pressione enter para nenhum): <-- pressione enter  
OK, senha usada com sucesso, prosseguindo...
Definir senha root? [Y/n] <-- y  
Nova senha: <-- digite nova senha  
Re-digite nova senha: <-- digite nova senha  
Senha atualizada com sucesso!  
Recarregando tabelas de privilégios..  
... Sucesso!
Por padrão, uma instalação do MariaDB tem um usuário anônimo, permitindo que qualquer um  
faça login no MariaDB sem ter uma conta de usuário criada para  
elas. Isso é destinado apenas para testes, e para tornar a instalação  
um pouco mais suave. Você deve removê-los antes de passar para um  
environmento de produção.
Remover usuários anônimos? [Y/n] <-- y  
... Sucesso!
Normalmente, o root deve ser permitido apenas conectar-se de 'localhost'. Isso  
assegura que alguém não possa adivinhar a senha root pela rede.
Desabilitar login remoto do root? [Y/n] <-- y  
... Sucesso!
Por padrão, o MariaDB vem com um banco de dados chamado 'test' 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? [Y/n] <-- 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  
entrem em vigor imediatamente.
Recarregar tabelas de privilégios agora? [Y/n] <-- y  
... Sucesso!
Limpando...
Tudo pronto! Se você completou todas as etapas acima, sua instalação do MariaDB  
deve agora estar segura.
Obrigado por usar o MariaDB!

3 Instalando o Lighttpd

Como o Lighttpd e o PHP-FPM não estão disponíveis nos repositórios oficiais do CentOS, precisamos habilitar o repositório EPEL:

yum -y install epel-release

Importe a chave GPG do EPEL:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

e então execute:

yum update

Depois, podemos instalar o Lighttpd assim:

yum -y install lighttpd

Então, criamos os links de inicialização do sistema para o Lighttpd (para que o Lighttpd inicie automaticamente sempre que o sistema for inicializado) e o iniciamos:

systemctl enable lighttpd.service  
systemctl start lighttpd.service

Se o Lighttpd falhar ao iniciar com a seguinte mensagem de erro…

(network.c.203) socket failed: Address family not supported by protocol

… abra /etc/lighttpd/lighttpd.conf…

nano /etc/lighttpd/lighttpd.conf

… e mude server.use-ipv6 de enable para disable:

[...]  
##  
## Usar IPv6?  
##  
server.use-ipv6 = "disable"  
[...]  

Então tente iniciar o Lighttpd novamente - agora deve funcionar sem problemas:

systemctl start lighttpd.service

O diretório raiz do documento do Lighttpd está em /var/www/ htdocs (diretório base /var/www mais htdocs como subdiretório de acordo com o arquivo lighttpd.conf), mas instala os arquivos padrão em /var/www/ lighttpd. Isso é inconsistente, então precisamos renomear o diretório assim.

mv /var/www/lighttpd /var/www/htdocs

Agora direcione seu navegador para http://192.168.1.100, e você deve ver a seguinte página:

página inicial do lighttpd

O diretório raiz do documento padrão do Lighttpd é /var/www/htdocs/ no CentOS 7, e o arquivo de configuração é /etc/lighttpd/lighttpd.conf.

4 Instalando o PHP

Podemos fazer o PHP funcionar no Lighttpd através do PHP-FPM que instalamos assim:

yum -y install php-fpm lighttpd-fastcgi

O PHP-FPM é um processo daemon que executa um servidor FastCGI na porta 9000.

Abra /etc/php-fpm.d/www.conf…

nano /etc/php-fpm.d/www.conf

… e defina o usuário e grupo como lighttpd:

[...]  
; Usuário/grupo Unix dos processos  
; Nota: O usuário é obrigatório. Se o grupo não for definido, o grupo do usuário padrão  
;       será usado.  
; RPM: apache Escolhido para poder acessar alguns diretórios como httpd  
user = lighttpd  
; RPM: Manter um grupo permitido para escrever no diretório de log.  
group = lighttpd  
[...]  

Crie os links de inicialização do sistema para o PHP-FPM e inicie-o:

systemctl enable php-fpm.service  
systemctl start php-fpm.service
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.