(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

35. Juntando tudo

35.1 Módulos do apache para se tentar

Os módulo que uso além do SSL, PHP e frontpage são:

Module env_module          mod_env.o
Module config_log_module   mod_log_config.o
Module mime_module         mod_mime.o
Module negotiation_module  mod_negotiation.o
Module dir_module          mod_dir.o
Module cgi_module          mod_cgi.o
Module asis_module         mod_asis.o
Module imap_module         mod_imap.o
Module action_module       mod_actions.o
Module alias_module        mod_alias.o
Module rewrite_module      mod_rewrite.o
Module access_module       mod_access.o
Module auth_module         mod_auth.o
Module anon_auth_module    mod_auth_anon.o
Module digest_module       mod_digest.o
Module expires_module      mod_expires.o
Module headers_module      mod_headers.o
Module browser_module      mod_browser.o

35.2 Dando as CGIs mais segurança

Se você é um ISP (provavelmente é quando lê isso), você quer melhorar a segurança. O utilitário suexec permite fazer isso; ele irá executar cgis sob o UID do proprietário web ao invés de executar sob o UID dos servidores web. Vá para /usr/src/apache_1.2.6/support e make suexec. chmod 4711 suxec e copie-o para o local especificado em ../src/httpd.h que é /usr/local/etc/httpd/sbin/suexec por padrão. Se o caminho for um pouco crítico para você - assim é para mim - edite httpd.h e configure o caminho para um valor mais confortável.

35.3 Compilando e instalando o programa residente do servidor

Entre em /usr/src/apache_1.2.6/src e edite Configuration para configurar todos os módulos que deseja incluir no seu programa residente do Apache. Quando estiver pronto, execute ./Configure e make. Este é o último (e mais complicado) passo do processo de compilação, então cruze os seus dedos. Se der certo, cp httpsd para /usr/sbin. O programa residente é algo grande, considere isso quando estiver "assembliando" o seu servidor web. Crie o diretório /var/httpd com os subdiretórios cgi-bin, conf, htdocs, icons, virt1, virt2 e logs. Em /usr/src/apache_1.2.6/conf edite access.conf-dist, mime.types e srm.conf-dist para se adaptarem as suas necessidades e copie eles para var/httpd/conf/access.conf, srm.conf e mime.types. Copie o httpsd.pem que você criou com make certificate para /var/httpd/conf. Use o seguinte httpd.conf:

ServerType standalone
Port 80
Listen 80
Listen 443
User wwwrun
Group wwwrun
ServerAdmin webmaster@yourhost.com
ServerRoot /var/httpd
ErrorLog logs/error_log
TransferLog logs/access_log
PidFile logs/httpd.pid
ServerName www.yourhost.com
MinSpareServers 3
MaxSpareServers 20
StartServers 3

SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/ssl.log
 
<VirtualHost www.virt1.com>
SSLDisable
ServerAdmin webmaster@virt1.com
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com
ErrorLog logs/virt1-error.log
TransferLog logs/virt1-access.log
User virt1admin
Group users
</VirtualHost>

<VirtualHost www.virt1.com:443>
ServerAdmin webmaster@virt1.com
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com
ErrorLog logs/virt1-ssl-error.log
TransferLog logs/virt1-ssl-access.log
User virt1admin
Group users
SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/virt1-ssl.log
SSLVerifyClient 0
SSLFakeBasicAuth
</VirtualHost>

<VirtualHost www.virt2.com>
SSLDisable
ServerAdmin webmaster@virt2.com
DocumentRoot /var/httpd/virt2
ScriptAlias /cgi-bin/ /var/httpd/virt2/cgi-bin/
ServerName www.virt2.com
ErrorLog logs/virt2-error.log
TransferLog logs/virt2-access.log
</VirtualHost>

Dependendo dos módulos que você compilou junto, nem todos os diretórios podem estar disponíveis. Pode-se reaver uma lista de diretórios disponíveis com httpsd -h.

35.4 Adicionando suporte do frontpage para uma rede

Entre /usr/local/frontpage/version3.0/bin e carregue ./fpsrvadm. Escolha install e apache-fp. As questões que seguem devem ser respondidas da seguinte maneira:

Enter server config filename: /var/httpd/conf/httpd.conf
Enter host name for multi-hosting []: www.virt2.com
Starting install, port: www.virt2.com:80, web: ""
Enter user's name []: virt2admin
Enter user's password:
Confirm password:
Creating root web
Recalculate links for root web
Install completed.

O nome do usuário deve ser a conta (login) unix do proprietário da rede. A senha não tem de ser necessariamente parecida com a senha do sistema. Você tem de adicionar manualmente sendmailcommand:/usr/sbin/sendmail %r para /usr/local/frontpage/www.virt2.com:80.conf, senão seus usuários não serão capazes de mandar mensagens eletrônicas geradas na rede. kill -HUP seu httpsd para fazer fp reler sua configuração. Agora você pode acessar www.virt2.com com o seu frontpage (cliente).

Sob algumas circustâncias o fpsrvadm reclama que uma rede raiz ou principal deve ser instalada primeiro. Isto é um pouco fora de uso, mas você deve fazer para silenciar o fpsrvadm.

35.5 Iniciando o programa residente

Inicie o Apache com httpsd -f /var/httpd/conf/httpd.conf. Agora você pode acessar www.virt1.com tanto por http como por https, o que é muito legal. É claro que você tem de pagar por um certificado real se quiser oferecer o SSL na rede mundial de computadores, ou os usuários podem rir de você.

Copie um dos arquivos de demonstração do diretório de exemplos do php para virt1 para testar o phtml.

35.6 Algumas considerações

Não use extensões do frontpage 97. Elas não funcionam, pelo menos no Linux. Quando estiver instalando versões específicas de bibliotecas c++, elas parecem funcionar, mas seus registros logo serão preenchidos com premature end of script headers e a sua caixa de correio eletrônico será preenchida com reclamações. Não use extensões do frontpage 98 antes da versão 3.0.2.1330. Não fique confuso, números de versões não são simples . Quando estiver fazendo um telnet para porta 80, digitando "get / http/1.0" e teclando Enter duas vezes, você obterá um número de versão 3.0.4 para o frontpage.

Você pode achar o número da versão mais específico executando /usr/local/frontpage/currentversion/exes/_vti_bin/shtml.exe -version. Versões mais antigas têm um defeito desagradável que requer com que o httpd.conf seja habilitado para escrita pelo gid do servidor web. Isto deve deixá-lo com medo se você está preocupado com segurança. Versões desde 3.0.2.1330 são mais usáveis.

35.7 Erros conhecidos

Quando tocando Recalculate Links (Recalcular Links) no cliente frontpage, o servidor inicia um processo que consome 99% dos ciclos da cpu e uns 10 Mb de memória. Porém mesmo para máquinas rápidas e web de meio porte, o cliente algumas vezes recebe uma mensagem de timeout, apesar do cálculo ser finalizado corretamente. Informe aos usuários do frontpage para serem pacientes e não apertarem Recalculate Links muitas vezes. Informe-se também para equipar o servidor com no mínimo 64 Mb.

Por favor observe que na época em que eu escrevia este documento tanto o frontpage quanto o SSL funcionavam, mas não ao mesmo tempo, o que significa que você não pode nem divulgar a sua rede usando ssl nem fazer uso de webbots ( objetos Web dinâmicos, componentes automatizados (robots) que implementam recursos como mecanismos de procura, contadores de acesso à página, proteção por senha, etc. ) através de https. Pode-se divulgar a sua rede pela porta 80 e acessá-la encriptada na porta 443, porém os seus contadores e etc ficarão quebrados. Considero isto um defeito, mas ele deverá ser corrigido no SSL 0.9.0.

35.8 Comentário final

Para os que pensam que o título deste COMO FAZER está tão bom quanto o documento: Já ouviram falar Meat Loaf?

O.K. leitores, é tudo por hoje. Sintam-se a vontade para me dar um retorno, agradecimentos eternos, flores, dinheiro, carros, poços de petróleo, etc...


Página seguinte Página anterior Índice