====== 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