Table of Contents
Servidor Web
Este capítulo descreve a configuração e uso do servidor de internet LightTPD. É um servidor de HTTP rápido, seguro, flexível e que consome pouca memória RAM. Habilita uma administração inteligente dos recursos da cpu e oferece suporte a FastCGI, CGI, Auth, compressão de Output, reescritura de URLs, etc. O LightTPD é um modo barato para hospedar seu próprio site em uma máquina antiga.
No SliTaz o servidor é lançado automaticamente na inicialização do sistema e é pré-configurado com PHP. A raiz dos documentos por padrão está em /var/www, contendo a página padrão index.html. Imagens são armazenadas no diretório images/. Website do LightTPD: http://www.lighttpd.net/
/var/www - Diretório raiz de documentos
A pasta /var/www é o diretório raiz de documentos - você pode ter acesso a ela pela URL http://localhost/. Se você quiser hospedar um site, você pode salvar todos seus documentos aqui. Se você quiser hospedar múltiplos sites, você precisará criar os hosts virtuais. Note que você também pode conferir o http://localhost/server-status.
~/Public - Diretório público de usuários
O SliTaz provê aos usuários do sistema um espaço público para colocar documentos, geralmente HTML. Este diretório chama-se Public e deve estar dentro da raiz de seu espaço de usuário, como por exemplo /home/tux/Public. Para criar este diretório use o comando mkdir:
$ mkdir ~/Public
Você pode ter acesso então pela URL: http://localhost/~tuxr/. Você também pode usar o nome de máquina ou o endereço IP se conectar de outro computador.
/etc/lighttpd/lighttpd.conf - arquivo de configuração do LightTPD
O arquivo de configuração principal do LightTPD (lighttpd.conf) é encontrado em /etc/lighttpd/. Este arquivo encontrado no SliTaz é auto-explicativo, leia-o para maiores informações. Você pode achar outros exemplos no website do LightTPD. No SliTaz você achará também o arquivo vhosts.conf para a configuração de qualquer host virtual (hospedar vários sites no mesmo servidor).
Inicie, pare, reinicie o servidor de internet
Por padrão o SliTaz inicia o servidor automaticamente no boot, para prevenir isto você precisa remover o lighttpd da variável RUN_DAEMONS localizado no arquivo de sistema /etc/rcS.conf. Para iniciar, parar ou reiniciar o servidor você pode usar os comandos: /etc/init.d/lighttpd [start|stop|restart]. Exemplo para reiniciar o servidor após mudar o arquivo de configuração:
# /etc/init.d/lighttpd restart
Scripts CGI usando Perl
Para configurar o servidor de LightTPD para localizar o caminho do binário do perl e usar CGI/Perl, você precisará instalar o perl e modificar o arquivo de configuração de servidor. Exemplo usando o Geany:
# tazpkg get-install perl # geany /etc/lighttpd/lighttpd.conf &
E então adicionar as seguintes linhas:
# CGI module. Você pode instalar o Perl e atribuir scripts .pl e .cgi # para o executável /usr/bin/perl $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/perl", ".pl" => "/usr/bin/perl" ) }
Scripts CGI que usam Python
Para configurar o servidor LightTPD para localizar o caminho do binário python e usar CGI/Python, você precisará instalar o python e modificar o arquivo de configuração do servidor. Exemplo usando o Geany:
# tazpkg get-install python # geany /etc/lighttpd/lighttpd.conf &
E então adicionar as seguintes linhas:
# CGI module. Você pode instalar o Python e atribuir scripts .py e .cgi # para o executável /usr/bin/python $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/python", ".py" => "/usr/bin/python" ) }
Para as mudanças fazerem efeito e para usar os seus primeiros scripts de CGI no SliTaz, apenas reinicie o servidor LightTPD:
# /etc/init.d/lighttpd restart
Autenticação - Proteção para os diretórios
LightTPD provê módulos de autenticação que podem, por exemplo, proteger um diretório. O servidor oferece vários métodos de autenticação, mas nós começaremos usando o método básico sem codificar qualquer senha. Para poder usar o módulo mod_auth você tem que instalar o pacote lighttpd-modules (tazpkg get-install lighttpd-modules). Uma vez instalado, o mod_auth deve ser adicionado à lista de módulos:
# Modules to load. # See /usr/lib/lighttpd for all available modules. # server.modules = ( "mod_access", "mod_auth", "...", )
Agora você pode configurar os módulos especificando o nível de depuração (debug) e método (plain) e o caminho para o arquivo que contém uma lista de nomes usando uma senha protegida para ter acesso aos diretórios. Você também tem que definir os diretórios que requerem autorização. Neste exemplo nós protegeremos o diretório /admin e autorizaremos o acesso para o usuário tux (user=tux):
# Authentication for protected directory. auth.debug = 2 auth.backend = "plain" auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd" auth.require = ( "/admin/" => ( "method" => "basic", "realm" => "Password protected area", "require" => "user=tux" ) )
Finalmente, nós vamos criar agora o arquivo que contém as senhas, adicionar um usuário e reiniciar o servidor para testar. A sintaxe básica para o arquivo é usuário:senha. Você pode criar o arquivo e pode adicionar um usuário com o comando echo ou pode editar com seu editor de texto favorito. Para acrescentar tux:root (usuário “tux”, senha “root”) ao arquivo de senhas /etc/lighttpd/plain.passwd:
# echo "tux:root" > /etc/lighttpd/plain.passwd
Ou:
# nano /etc/lighttpd/plain.passwd
Para testar o endereço: http://localhost/admin/, apenas reinicie o servidor:
# /etc/init.d/lighttpd restart