• My Del.icio.us

Lighttpd & Apache

Lighttpd & Apache

Bom , demorou mas consegui arranjar um tempo para um novo post. Espero que eu consiga arranjar mais algum tempo para postar aqui as coisas que venho testando e estudando.

A proposta deste post é possibilitar que o leitor consiga utilizar o Lighttpd para fornecer conteúdo estático aos seus usuários. Além também de tentar ensinar como utilizar PHP com FastCGI. Tenho certeza que esta post está incompleto, mas o que tenho escrito aqui já servirá de um ponto de partida. Em breve atualizarei o post com as referências 🙂 … Lembrando, este post baseia-se em distros Redhat-Like!

Instalando o lighttpd

Para instalar o lighttpd é necessário ativar o repositório adicional EPEL, com o seguinte comando:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

Feito isso execute:

yum install lighttpd lighttpd-fastcgi php

Após a instalação o diretório ”’/etc/lighttpd”’ este diretório conterá todos os arquivos de configuração deste servidor Web.

Ativando os módulos necessários

Assim como o Web Server Apache o Lighttpd vem com uma série de módulos que aumentam o número de funcionalidades, para ativar/desativar
módulos no lighttpd encontre a diretiva ”’server.modules”’ e faça as devidas alterações.Por padrão ative os seguintes módulos:

mod_access
mod_alias
mod_accesslog
mod_compress
mod_expire
mod_fastcgi

Configurando o módulo do fastcgi

Para configurar o módulo do fastcgi no Lighttpd adicione as seguintes entradas ao arquivo de configuração ”’/etc/lighttpd/lighttpd.conf”’ :

fastcgi.server = ( “.php” => ((
“bin-path” => “/usr/bin/php-cgi”,
“socket” => “/tmp/php.socket”
)))

Alterando a porta do Lighttp

Uma alteração importante à ser feita é alterar a porta em que o Lighttpd irá escutar as conexões, para isso, abra o arquivo de configuração do serviço “/etc/lighttpd/lighttpd.conf” , e procure pela diretiva “server.port” , altere o valor desta diretiva para “81” .

Alterações necessárias do Lighttpd

dir-listing.activate = “disable” # Desativa a listagem de diretórios. O padrão é “enable”

Caso o módulo “mod_compress” esteja ativado será necessário configurar as diretivas abaixo:

compress.cache-dir = “/var/cache/lighttpd/compress/”
compress.filetype = (“text/plain”, “text/html”, “application/x-javascript”, “text/css”)

Não devemos esquecer que o diretório de cache do Lighttpd não é criado por padrão, sendo assim é necessário criá-lo:

mkdir /var/cache/lighttpd/compress/
chown lighttpd.lighttpd /var/cache/lighttpd/compress/
chmod 0750 /var/cache/lighttpd/compress/

Feito isso reinicie o serviço:

service lighttpd restart

Configurando o Apache para acessar o Lighttpd

Para que o Apache possa acessar os dados do cliente no Lighttpd devemos ativar no Apache uma configuração de Proxy Reverso
para um diretório em específico, para que essa configuração funcione é necessário ativar os módulos:

proxy
proxy_http

Ativando esses módulos na configuração do Apache

<VirtualHost static-01.domain.com.br>
ServerName static-01.domain.com.br
ServerAlias static-01.domain.com.br

ProxyPass / http://static-01.domain.com.br:81/
ProxyPassReverse / http://static-01.domain.com.br:81
ProxyPreserveHost on
</VirtualHost>

O conf acima fará com que todas as requisições recebidas pelo Apache com destino ao host “static-01.domain.com.br” , sejam redirecionadas para o Lighttpd que está ouvindo na porta 81 .

Acho que com isso o sistema deverá funcionar….

Abraço à todos que lêem essa jabiraca deste blog !

Lighttpd & ApacheObservações Lighttpd:

– Não suporta .htaccess
– Mono thread

Instalando o lighttpd

Para instalar o lighttpd é necessário ativar o repositório adicional EPEL, com o seguinte comando:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

Feito isso execute:

yum install lighttpd lighttpd-fastcgi php

Após a instalação o diretório ”’/etc/lighttpd”’ este diretório conterá todos os arquivos de configuração deste servidor Web.

Ativando os módulos necessários

Assim como o Web Server Apache o Lighttpd vem com uma série de módulos que aumentam o número de funcionalidades, para ativar/desativar
módulos no lighttpd encontre a diretiva ”’server.modules”’ e faça as devidas alterações.Por padrão ative os seguintes módulos:

mod_access
mod_alias
mod_accesslog
mod_compress
mod_expire
mod_fastcgi

Configurando o módulo do fastcgi

Para configurar o módulo do fastcgi no Lighttpd adicione as seguintes entradas ao arquivo de configuração ”’/etc/lighttpd/lighttpd.conf”’ :

fastcgi.server = ( “.php” => ((
“bin-path” => “/usr/bin/php-cgi”,
“socket” => “/tmp/php.socket”
)))

Alterações necessárias do Lighttpd

dir-listing.activate = “disable” # Desativa a listagem de diretórios. O padrão é “enable”

Caso o módulo “mod_compress” esteja ativado será necessário configurar as diretivas abaixo:

compress.cache-dir = “/var/cache/lighttpd/compress/”
compress.filetype = (“text/plain”, “text/html”, “application/x-javascript”, “text/css”)

Não devemos esquecer que o diretório de cache do Lighttpd não é criado por padrão, sendo assim é necessário criá-lo:

mkdir /var/cache/lighttpd/compress/
chown lighttpd.lighttpd /var/cache/lighttpd/compress/
chmod 0750 /var/cache/lighttpd/compress/

Feito isso reinicie o serviço:

service lighttpd restart

Configurando o Apache para acessar o Lighttpd

Para que o Apache possa acessar os dados do cliente no Lighttpd devemos ativar no Apache uma configuração de Proxy Reverso
para um diretório em específico, para que essa configuração funcione é necessário ativar os módulos:

proxy
proxy_http

Ativando esses módulos na configuração do Apache

<VirtualHost static-01.domain.com.br>
ServerName static-01.domain.com.br
ServerAlias static-01.domain.com.br

ProxyPass / http://static-01.domain.com.br:81/
ProxyPassReverse / http://static-01.domain.com.br:81
ProxyPreserveHost on
</VirtualHost>

Instalando o Apache com PHP5

yum install httpd
yum install php-common php-gd php-mcrypt php-pear php-pecl-memcache php-mhash php-mysql php-xml

Alterando a porta da conexão do Apache

vim /etc/httpd/conf/httpd.conf

Procure pela linha que começa com “Listen” e altere a porta para “8080”

Desative as configurações de módulos desnecessários:

cd /etc/httpd/conf.d
mv manual.conf manual.conf.DISABLED
mv perl.conf perl.conf.DISABLED
mv proxy_ajp.conf proxy_ajp.conf.DISABLED
mv python.conf python.conf.DISABLED
mv squid.conf squid.conf.DISABLED
mv webalizer.conf webalizer.conf.DISABLED
mv welcome.conf welcome.conf.DISABLED
mv ssl.conf ssl.conf.DISABLED

Deixe um comentário