Servidor Web · 7 min read · Dec 18, 2025
Instalando Lighttpd com PHP5 (PHP-FPM) e MySQL no Debian 8 (Jessie)
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 Debian 8 (Jessie) com suporte a PHP5 (através do PHP-FPM) e suporte a MySQL. 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 apropriado. Use um servidor Debian minimal como base para esta instalação, isso pode ser uma imagem mínima do seu datacenter ou você instala um do zero usando nosso tutorial de servidor Debian minimal.
2 Instalando MySQL / MariaDB
O Debian 8 vem com 2 bancos de dados compatíveis com MySQL, o tradicional banco de dados MySQL e o MariaDB, um fork do MySQL mantido pelo inventor original do MySQL, Monty Widenius. O MariaDB está liderando em termos de velocidade de banco de dados e atividade de desenvolvimento no momento, então eu vou escolhê-lo para o meu servidor.
Abaixo, descreverei a instalação do MariaDB (Capítulo 2.1) e do MySQL (Capítulo 2.2) para que você possa escolher o banco de dados que preferir. Apenas certifique-se de seguir o capítulo 2.1 ou 2.2, mas não ambos.
2.1 Instalar MariaDB
Para instalar o MariaDB, execute este comando.
apt-get install mariadb-server mariadb-clientVocê será solicitado a fornecer uma senha para o usuário root do MariaDB - essa senha é válida para o usuário root@localhost, bem como para [email protected], então não precisamos especificar uma senha root do MariaDB manualmente mais tarde:
Nova senha para o usuário "root" do MariaDB: <-- sua-senha-root-sql
Repita a senha para o usuário "root" do MariaDB: <-- sua-senha-root-sql2.2 Instalar MySQL
Instalamos o MySQL 5 assim:
apt-get install mysql-server mysql-clientVocê será solicitado a fornecer uma senha para o usuário root do MySQL - essa senha é válida para o usuário root@localhost, bem como para [email protected], então não precisamos especificar uma senha root do MySQL manualmente mais tarde:
Nova senha para o usuário “root” do MySQL: <– sua-senha-root-sql Repita a senha para o usuário “root” do MySQL: <– sua-senha-root-sql
3 Instalando Lighttpd
O Lighttpd está disponível como um pacote Debian, portanto, podemos instalá-lo assim:
apt-get install lighttpdAgora direcione seu navegador para http://192.168.1.100/, e você deve ver a página de placeholder do Lighttpd:

O diretório raiz do documento padrão do Lighttpd é /var/www no Debian, e o arquivo de configuração é /etc/lighttpd/lighttpd.conf.
Configurações adicionais são armazenadas em arquivos no diretório /etc/lighttpd/conf-available - essas configurações podem ser habilitadas com o comando lighttpd-enable-mod que cria um symlink do diretório /etc/lighttpd/conf-enabled para o arquivo de configuração apropriado em /etc/lighttpd/conf-available. Você pode desabilitar configurações com o comando lighttpd-disable-mod.
4 Instalando PHP5
Podemos fazer o PHP5 funcionar no Lighttpd através do PHP-FPM que instalamos assim:
apt-get install php5-fpm php5O PHP-FPM é um processo daemon (com o script de inicialização /etc/init.d/php5-fpm) que executa um servidor FastCGI no socket /var/run/php5-fpm.sock.
5 Configurando Lighttpd e PHP5
Para habilitar o PHP5 no Lighttpd, devemos modificar /etc/php5/fpm/php.ini e descomentar a linha cgi.fix_pathinfo=1:
nano /etc/php5/fpm/php.ini[...]
; cgi.fix_pathinfo fornece suporte *real* para PATH_INFO/PATH_TRANSLATED para CGI. O comportamento anterior do PHP era definir PATH_TRANSLATED como SCRIPT_FILENAME, e não entender o que é PATH_INFO. Para mais informações sobre PATH_INFO, veja as especificações cgi. Definir isso como 1 fará com que o PHP CGI corrija seus caminhos para se conformar à especificação. Um valor de zero faz com que o PHP se comporte como antes. O padrão é 1. Você deve corrigir seus scripts para usar SCRIPT_FILENAME em vez de PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]E reinicie o serviço php5-fpm para aplicar a alteração de configuração:
systemctl restart php5-fpm.serviceO arquivo de configuração do Lighttpd para PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf é adequado para uso com spawn-fcgi, no entanto, queremos usar o PHP-FPM, portanto, criamos um backup do arquivo (chamado 15-fastcgi-php-spawnfcgi.conf) e modificamos 15-fastcgi-php.conf da seguinte forma:
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Iniciar um servidor FastCGI para php (precisa do pacote php5-cgi)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php5-fpm.sock",
"broken-scriptfilename" => "enable"
))
)Para habilitar a configuração fastcgi, execute os seguintes comandos:
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-phpIsso cria os symlinks /etc/lighttpd/conf-enabled/10-fastcgi.conf que aponta para /etc/lighttpd/conf-available/10-fastcgi.conf e /etc/lighttpd/conf-enabled/15-fastcgi-php.conf que aponta para /etc/lighttpd/conf-available/15-fastcgi-php.conf:
ls -l /etc/lighttpd/conf-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.confEntão recarregamos o Lighttpd:
systemctl force-reload lighttpd.service6 Testando PHP5 / Obtendo Detalhes Sobre Sua Instalação do PHP5
O diretório raiz do documento do site padrão é /var/www. Agora vamos criar um pequeno arquivo PHP (info.php) nesse diretório e chamá-lo em um navegador. O arquivo exibirá muitos detalhes úteis sobre nossa instalação do PHP, como a versão do PHP instalada.
nano /var/www/html/info.phpAgora chamamos esse arquivo em um navegador (por exemplo, http://192.168.1.100/info.php):

Como você vê, o PHP5 está funcionando, e está funcionando através do FPM/FastCGI, como mostrado na linha Server API. Se você rolar mais para baixo, verá todos os módulos que já estão habilitados no PHP5. O MySQL não está listado lá, o que significa que ainda não temos suporte a MySQL no PHP5.
7 Obtendo Suporte a MySQL no PHP5
Para obter suporte a MySQL no PHP, podemos instalar o pacote php5-mysqlnd. Esse é um novo driver de banco de dados que é compatível com MySQL e MariaDB. É uma boa ideia instalar alguns outros módulos do PHP5 também, pois você pode precisar deles para suas aplicações. Você pode procurar módulos PHP5 disponíveis assim:
apt-cache search php5Escolha os que você precisa e instale-os assim:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xslO Xcache é um cache de opcode PHP gratuito e aberto para armazenar em cache e otimizar o código intermediário do PHP. É semelhante a outros caches de opcode PHP, como eAccelerator e APC. É altamente recomendável ter um desses instalados para acelerar sua página PHP.
O Xcache pode ser instalado da seguinte forma:
apt-get install php5-xcacheAgora recarregue o PHP-FPM:
systemctl restart php5-fpm.serviceAgora recarregue http://192.168.1.100/info.php em seu navegador e role para baixo até a seção de módulos novamente. Você deve agora encontrar muitos novos módulos lá, incluindo o módulo MySQL:

8 phpMyAdmin
O phpMyAdmin é uma interface web através da qual você pode gerenciar seus bancos de dados MySQL. É uma boa ideia instalá-lo:
apt-get install phpmyadminVocê verá as seguintes perguntas:
Servidor web para reconfigurar automaticamente: <– lighttpd

Configurar banco de dados para phpmyadmin com dbconfig-common? <-- Sim
Senha do usuário administrativo do banco de dados: <-- sua-senha-root-sql
Senha da aplicação MySQL para phpmyadmin: <-- Pressione Depois, você pode acessar o phpMyAdmin em http://192.168.1.100/phpmyadmin/:

9 Fazendo o PHP-FPM Usar Uma Conexão TCP
Por padrão, o PHP-FPM está escutando no socket /var/run/php5-fpm.sock. Também é possível fazer o PHP-FPM usar uma conexão TCP. Para fazer isso, abra /etc/php5/fpm/pool.d/www.conf…
nano /etc/php5/fpm/pool.d/www.conf… e faça a linha listen ficar assim:
[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]Isso fará com que o PHP-FPM escute na porta 9000 no IP 127.0.0.1 (localhost). Certifique-se de usar uma porta que não esteja em uso em seu sistema.
Então recarregue o PHP-FPM:
systemctl restart php5-fpm.serviceEm seguida, abra o arquivo de configuração PHP do Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf e substitua a linha do socket pelas linhas do host e da porta:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Iniciar um servidor FastCGI para php (precisa do pacote php5-cgi)
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)Finalmente, recarregue o Lighttpd:
systemctl force-reload lighttpd.service10 Links
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.