Servidor Web · 6 min read · Dec 23, 2025

Instalando Lighttpd Com Suporte a PHP5 (PHP-FPM) E MySQL No Ubuntu 14.04LTS

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 Ubuntu 14.04 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, uso o nome do host server1.example.com com o endereço IP 192.168.0.100. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.

Estou executando todos os passos deste tutorial com privilégios de root, então certifique-se de que você está logado como root:

sudo su

2 Instalando MySQL 5

Primeiro, instalamos o MySQL 5 assim:

apt-get install mysql-server mysql-client

Você 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 de root do MySQL manualmente mais tarde:

Nova senha para o usuário “root” do MySQL: <– suaSenhaRootSQL Repita a senha para o usuário “root” do MySQL: <– suaSenhaRootSQL

3 Instalando Lighttpd

Lighttpd está disponível como um pacote do Ubuntu, portanto, podemos instalá-lo assim, como o apache2 está instalado por padrão no ubuntu14.04, então primeiro desinstalaremos o apache2 e depois instalaremos o lighttpd.

service apache2 stop  
update-rc.d -f apache2 remove  
apt-get remove apache2
apt-get install lighttpd

Agora direcione seu navegador para http://192.168.0.100/index.lighttpd.html, e você deve ver a página de placeholder do Lighttpd:

O diretório raiz do documento padrão do Lighttpd é /var/www no Ubuntu, 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 php5

PHP-FPM é um processo daemon (com o script init 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:

vi /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 [...] |

O 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.conf.bak) e modificamos 15-fastcgi-php.conf da seguinte forma:

cd /etc/lighttpd/conf-available/  
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.bak  
vi 15-fastcgi-php.conf

| # /usr/share/doc/lighttpd-doc/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-php

Isso 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-enabled
root@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled  
total 0  
lrwxrwxrwx 1 root root 33 May  7 05:33 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 May  7 05:33 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf  
root@server1:/etc/lighttpd/conf-available#

Então recarregamos o Lighttpd:

service lighttpd force-reload

Nota: Se você receber erros de localidade, pode remover o erro usando

apt-get install language-pack-en-base  
dpkg-reconfigure locales

6 Testando PHP5 / Obtendo Detalhes Sobre Sua Instalação do PHP5

O diretório raiz do site padrão é /var/www. Agora criaremos um pequeno arquivo PHP (info.php) nesse diretório e o chamaremos em um navegador. O arquivo exibirá muitos detalhes úteis sobre nossa instalação do PHP, como a versão do PHP instalada.

vi /var/www/info.php

| |

Agora chamamos esse arquivo em um navegador (por exemplo, http://192.168.0.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-mysql. É uma boa ideia instalar alguns outros módulos do PHP5, pois você pode precisar deles para suas aplicações. Você pode procurar módulos PHP5 disponíveis assim:

apt-cache search php5

Escolha os que você precisa e instale-os assim:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

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.

Xcache pode ser instalado da seguinte forma:

apt-get install php5-xcache

Agora recarregue o PHP-FPM:

service php5-fpm reload

Agora recarregue http://192.168.0.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

phpMyAdmin é uma interface web através da qual você pode gerenciar seus bancos de dados MySQL. É uma boa ideia instalá-lo:

apt-get install phpmyadmin

Você verá as seguintes perguntas:

Servidor web para reconfigurar automaticamente: <– lighttpd
Configurar banco de dados para phpmyadmin com dbconfig-common? <– Não

Depois, você pode acessar o phpMyAdmin em http://192.168.0.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…

vi /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:

service php5-fpm reload

Em seguida, abra o arquivo de configuração do PHP do Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf e substitua a linha do socket pelas linhas de host e porta:

vi /etc/lighttpd/conf-available/15-fastcgi-php.conf

| # /usr/share/doc/lighttpd-doc/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:

service lighttpd force-reload

10 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.