| Lighttpd, FastCGI, PHP e MySQL |
|
|
|
| Escrito por Jeferson de Lima Hancio | ||||
| Qua, 23 de Julho de 2008 21:18 | ||||
Aprenda a instalar o Lighttpd, um poderoso e leve webserver, juntamente com FastCGI, PHP e MySQL com configuração de chroot no Debian. Neste artigo tomaremos como notação o símbolo # como sendo o root do sistema no debian ou “sudo” para os que mexem com o ubuntu. Vamos aos passos:
criando diretório /etc para armazenar o arquivo php.ini # mkdir /webroot/etc # mkdir -p /webroot/var/log/lighttpd # chown www-data:www-data /webroot/var/log/lighttpd criando diretório cache # mkdir -p /webroot/var/tmp/lighttpd/cache/compress/ # chown www-data:www-data /webroot/var/tmp/lighttpd/cache/compress/ criando um diretório home lighttpd para hosts virtuais # mkdir -p /webroot/home/lighttpd # chown www-data:www-data /webroot/home/lighttpd # chmod 0700 /webroot/home/lighttpd # ls -dl /webroot/home/lighttpd saída: # drwx------ 2 www-data www-data 4096 2008-07-17 22:40 /webroot/home/lighttpd/ O autor fez um script à mão para copiar bibliotecas de sistemas compartilhadas, e disponibilizou-o sob a licença GPL para download. coloque o script l2chroot no diretório /bin e ajustar sua permissão para executável. # wget http://www.cyberciti.biz/files/lighttpd/l2chroot.txt
agora você precisa copiar os arquivos executáveis e extensões necessárias (php-mysql) para o diretório /webroot # mkdir -p /webroot/usr/bin # cp /usr/bin/php5-cgi /webroot/usr/bin/ # cp /usr/bin/php5 /webroot/usr/bin/ copiar o arquivo /etc/php5/cgi/php.ini para o diretório /webroot/etc/ # cd /webroot/etc/ agora copiar outros arquivos de configuração na jaula: # cp /etc/hosts /webroot/etc/ copiar todos as bibliotecas compartilhadas do php usadas pelo /usr/bin/php5 e /usr/bin/php5-cgi usando o script l2chroot: # /bin/l2chroot /usr/bin/php5 Agora você tem todas as bibliotecas compartilhadas no diretório /webroot. Voce pode verificar isto com o comando ls. Há mais um arquivo, o qual você necessitará copiar manualmente - /lib/ld-linux.so.2: # cp /lib/ld-linux.so.2 /webroot/lib
# dpkg -L php5-mysql Saída: # /usr # /usr/lib # /usr/lib/php5 # /usr/lib/php5/20060613+lfs # /usr/lib/php5/20060613+lfs/mysql.so # /usr/lib/php5/20060613+lfs/mysqli.so # /usr/lib/php5/20060613+lfs/pdo_mysql.so # /usr/share # /usr/share/doc # /etc # /etc/php5 # /etc/php5/conf.d # /etc/php5/conf.d/mysql.ini # /etc/php5/conf.d/mysqli.ini # /etc/php5/conf.d/pdo_mysql.ini # /usr/share/doc/php5-mysql Copiar o arquivo /usr/lib/php5/20060613+lfs/mysql.so para /webroot /usr/lib/php5/20060613+lfs/mysql.so # mkdir -p /webroot/usr/lib/php5/20060613+lfs # cp /usr/lib/php5/20060613+lfs/mysql.so /webroot/usr/lib/php5/20060613+lfs # /bin/l2chroot /usr/lib/php5/20060613+lfs Repita o procedimento acima para copiar seus módulos compartilhados do php.
Tenha certeza que o módulo fastcgi esta habilitado: # lighty-enable-mod fastcgi Saída: #Available modules: auth cgi fastcgi proxy simple-vhost ssi ssl userdir #Already enabled modules: fastcgi #Enabling fastcgi: already enabled #Run /etc/init.d/lighttpd force-reload to enable changes Configure o lighttpd por editar o arquivo /etc/lighttpd/lighttpd.conf. A parte mais importante é a diretiva “server.chroot”. Abra o arquivo de configuração. # vi /etc/lighttpd/lighttpd.conf Por motivos de comparação o autor disponibilizou um arquivo lighttpd.conf que é: Ajuste a diretiva server.chroot para “/webroot”. # server.chroot = “/webroot” Inicie o lighttpd # /etc/init.d/lighttpd start Teste os ajustes da jaula:
Abra um navegador e digite http://seudominio.com/test.php e http://seudominio.com/db.php. Se você foi capaz de rodar ambos os scripts, ta pronto! Bom é isso galera esse script foi testado e aprovado! Fonte: http://www.cyberciti.biz/tips/howto-setup-lighttpd-php-mysql-chrooted-jail.html |