rev |
line source |
slaxemulator@3
|
1 ====== Servidor Web ======
|
slaxemulator@3
|
2
|
slaxemulator@3
|
3 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.
|
slaxemulator@3
|
4
|
slaxemulator@3
|
5 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/
|
slaxemulator@3
|
6
|
slaxemulator@3
|
7 ===== /var/www - Diretório raiz de documentos =====
|
slaxemulator@3
|
8
|
slaxemulator@3
|
9 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.
|
slaxemulator@3
|
10
|
slaxemulator@3
|
11 ===== ~/Public - Diretório público de usuários =====
|
slaxemulator@3
|
12
|
slaxemulator@3
|
13 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//:
|
slaxemulator@3
|
14
|
slaxemulator@3
|
15 <code>$ mkdir ~/Public</code>
|
slaxemulator@3
|
16
|
slaxemulator@3
|
17 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.
|
slaxemulator@3
|
18
|
slaxemulator@3
|
19 ===== /etc/lighttpd/lighttpd.conf - arquivo de configuração do LightTPD =====
|
slaxemulator@3
|
20
|
slaxemulator@3
|
21 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).
|
slaxemulator@3
|
22
|
slaxemulator@3
|
23 ===== Inicie, pare, reinicie o servidor de internet =====
|
slaxemulator@3
|
24
|
slaxemulator@3
|
25 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:
|
slaxemulator@3
|
26
|
slaxemulator@3
|
27 <code># /etc/init.d/lighttpd restart</code>
|
slaxemulator@3
|
28
|
slaxemulator@3
|
29 ===== Scripts CGI usando Perl =====
|
slaxemulator@3
|
30
|
slaxemulator@3
|
31 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:
|
slaxemulator@3
|
32
|
slaxemulator@3
|
33 <code># tazpkg get-install perl
|
slaxemulator@3
|
34 # geany /etc/lighttpd/lighttpd.conf &
|
slaxemulator@3
|
35 </code>
|
slaxemulator@3
|
36
|
slaxemulator@3
|
37 E então adicionar as seguintes linhas:
|
slaxemulator@3
|
38
|
slaxemulator@3
|
39 <code># CGI module. Você pode instalar o Perl e atribuir scripts .pl e .cgi
|
slaxemulator@3
|
40 # para o executável /usr/bin/perl
|
slaxemulator@3
|
41 $HTTP["url"] =~ "/cgi-bin/" {
|
slaxemulator@3
|
42 cgi.assign = (
|
slaxemulator@3
|
43 ".sh" => "/bin/sh",
|
slaxemulator@3
|
44 ".cgi" => "/usr/bin/perl,
|
slaxemulator@3
|
45 ".pl" => "/usr/bin/perl
|
slaxemulator@3
|
46 )
|
slaxemulator@3
|
47 }
|
slaxemulator@3
|
48 </code>
|
slaxemulator@3
|
49
|
slaxemulator@3
|
50 ===== Scripts CGI que usam Python =====
|
slaxemulator@3
|
51
|
slaxemulator@3
|
52 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:
|
slaxemulator@3
|
53
|
slaxemulator@3
|
54 <code># tazpkg get-install python
|
slaxemulator@3
|
55 # geany /etc/lighttpd/lighttpd.conf &
|
slaxemulator@3
|
56 </code>
|
slaxemulator@3
|
57
|
slaxemulator@3
|
58 E então adicionar as seguintes linhas:
|
slaxemulator@3
|
59
|
slaxemulator@3
|
60 <code># CGI module. Você pode instalar o Python e atribuir scripts .py e .cgi
|
slaxemulator@3
|
61 # para o executável /usr/bin/python
|
slaxemulator@3
|
62 $HTTP["url"] =~ "/cgi-bin/" {
|
slaxemulator@3
|
63 cgi.assign = (
|
slaxemulator@3
|
64 ".sh" => "/bin/sh",
|
slaxemulator@3
|
65 ".cgi" => "/usr/bin/python,
|
slaxemulator@3
|
66 ".py" => "/usr/bin/python
|
slaxemulator@3
|
67 )
|
slaxemulator@3
|
68 }
|
slaxemulator@3
|
69 </code>
|
slaxemulator@3
|
70
|
slaxemulator@3
|
71 Para as mudanças fazerem efeito e para usar os seus primeiros scripts de CGI no SliTaz, apenas reinicie o servidor LightTPD:
|
slaxemulator@3
|
72
|
slaxemulator@3
|
73 <code># /etc/init.d/lighttpd restart</code>
|
slaxemulator@3
|
74
|
slaxemulator@3
|
75 ===== Autenticação - Proteção para os diretórios =====
|
slaxemulator@3
|
76
|
slaxemulator@3
|
77 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:
|
slaxemulator@3
|
78
|
slaxemulator@3
|
79 <code># Modules to load.
|
slaxemulator@3
|
80 # See /usr/lib/lighttpd for all available modules.
|
slaxemulator@3
|
81 #
|
slaxemulator@3
|
82 server.modules = (
|
slaxemulator@3
|
83 "mod_access",
|
slaxemulator@3
|
84 "mod_auth",
|
slaxemulator@3
|
85 "...",
|
slaxemulator@3
|
86 )
|
slaxemulator@3
|
87 </code>
|
slaxemulator@3
|
88
|
slaxemulator@3
|
89 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):
|
slaxemulator@3
|
90
|
slaxemulator@3
|
91 <code># Authentication for protected directory.
|
slaxemulator@3
|
92 auth.debug = 2
|
slaxemulator@3
|
93 auth.backend = "plain"
|
slaxemulator@3
|
94 auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd"
|
slaxemulator@3
|
95 auth.require = ( "/admin/" =>
|
slaxemulator@3
|
96 (
|
slaxemulator@3
|
97 "method" => "basic",
|
slaxemulator@3
|
98 "realm" => "Password protected area",
|
slaxemulator@3
|
99 "require" => "user=tux"
|
slaxemulator@3
|
100 )
|
slaxemulator@3
|
101 )
|
slaxemulator@3
|
102 </code>
|
slaxemulator@3
|
103
|
slaxemulator@3
|
104 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//:
|
slaxemulator@3
|
105
|
slaxemulator@3
|
106 <code># echo "tux:root" > /etc/lighttpd/plain.passwd</code>
|
slaxemulator@3
|
107
|
slaxemulator@3
|
108 Ou:
|
slaxemulator@3
|
109
|
slaxemulator@3
|
110 <code># nano /etc/lighttpd/plain.passwd</code>
|
slaxemulator@3
|
111
|
slaxemulator@3
|
112 Para testar o endereço: http://localhost/admin/, apenas reinicie o servidor:
|
slaxemulator@3
|
113
|
slaxemulator@3
|
114 <code># /etc/init.d/lighttpd restart</code> |