Instalando Lighttpd com PHP, MySQL, Virtual hosting, WebDAV, Autenticação e Userdir



Documentos relacionados
Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Guia de instalação para ambiente de Desenvolvimento LINUX

Instalação Apache + MySQL + PHPMyAdmin CentOS

Virtual Hosting com PureFTPd e MySQL

Atividade Proposta da Disciplina: Laboratório de Rede de Computadores

FACULDADE DE TECNOLOGIA SENAC GESTÃO DA TECNOLOGIA DA INFORMAÇÃO LABORATORIO DE REDE

Instalação e Configuração do Servidor HTTPD Apache

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Instalando o Internet Information Services no Windows XP

Instalação do PHP no Linux

Brincando de Backup com rsync.

Manual de Instalação. Instalação via apt-get. SIGA-ADM versão 12.06

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

INTRODUÇÃO: 1 - Conectando na sua conta

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Linux - Servidor de Redes

Instalação e Configuração do CollabNet Subversion Edge

Manual de Utilização

ServerAdmin - Se o sistema detectar algo de anômalo, um mail será enviado a bazar@projeointegador.

MANUAL DE INSTALAÇÃO/UTILIZAÇÃO DO PEDIDO ELETRÔNICO

Lazarus pelo SVN Linux/Windows

Instalação rápida do Expresso

LINX POSTOS AUTOSYSTEM

NetEye Guia de Instalação

Omega Tecnologia Manual Omega Hosting

TUTORIAL PASSO A PASSO INSTALAÇÃO SERVIDOR DE SMS PARA MKAUTH

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Easytrade Admin Client

Manual de Instalação e Utilização Betha Compras AutoCotação

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Procedimentos para Instalação do Sisloc

Manual do Usuário. Protocolo

Manual de Instalação SIM/SINASC

Software Planejamento Tributário

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Procedimentos para Reinstalação do Sisloc

Manual de Instalação e Configuração do SQL Express

Redes de Computadores II

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Instalando servidor Apache

Sistemas Operacionais Livres. Servidor Web Apache

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Pessoal, abaixo fiz um passo-a-passo de como configurar o DVR para acessar a internet, neste caso utilizei os seguintes itens:

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

GUIA LAB I - REDES DE COMPUTADORES / ECO008 PROF. ISAÍAS LIMA INICIANDO O ROTEADOR MODO DE SETUP

Redes Ponto a Ponto. Os drivers das placas de rede devem estar instalados.

Instalar Apache+PHP+MySQL no Windows 7/Vista/XP/Server 2003/2008

Manual de Configuração do Alferes 7

LINX POSTOS AUTOSYSTEM

Introdução ao Sistema. Características

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

2 echo "PHP e outros.";

Técnico em informática ti 54 Configuração de serviços de rede no Windows 2003 server Ser ver Enterprise

Procedimentos para Instalação do SISLOC

Manual de Instalação. Instalação via apt-get

CADASTRO DE OBRAS E PROJETOS DE ENGENHARIA

1. TSA Inovação - TSA DT_Arquivo_de_Log_do_Integrador_Separado_por_Thread DT_Central_de_Ajuda_UX9...

P Procedimento para Instalação do SisGEF 7.0 na Máquina Servidor

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Portaria Express 2.0

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Guia de Instalação e Configuração do Noosfero

Usando o do-file editor Automatizando o Stata

cio Roteamento Linux

Instalação e Configuração

Web Design Aula 11: Site na Web

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Usando o Conference Manager do Microsoft Outlook


Necessidades de Gerenciamento: Software de Gerenciamento:

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Tutorial - Monitorando a Temperatura de Servidores Windows

VMware vcenter Converter TM

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Instalação do OpenERP Localização Brasileira no CentOS 6.4

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Rua Joinville, 388 Sala Bairro Centro - Itajaí SC CEP Fone/Fax: (0xx47) joao@sysmo.com.

MÉTRICAS DE REDE NO ZABBIX

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.

MANUAL PORTAL CLIENTE AVANÇO

NetEye Guia de Instalação

Pronto! Todos os instaladores correspondentes do filtro aplicado no passo 4 serão disponibilizados para download.

Procedimento para Atualização do DDFinance

Aula 14 Serviços Internet (Servidor Web Apache)

Tutorial de Configuração do Integrador do E-commerce do FutebolShop

Instalação do Wordpress. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

INSTALANDO SISTEMA PFSENSE COMO FIREWALL/PROXY

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Instruções para Transferência de Dados OPL9728

Transcrição:

Instalando Lighttpd com PHP, MySQL, Virtual hosting, WebDAV, Autenticação e Userdir Autoria de Daniel Bristot de Oliveira 20/06/2006 Última Atualização 25/08/2006 FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD O lighttpd à um servidor web leve, rã pido, seguro e flexã vel que tem seu desenvolvimento voltado para ambientes de alta performance. Uma de suas qualidades à o baixo consumo de memã³ria; alã m disso, benchmarks mostram que ele possui um rendimento superior a vã rios outros servidores. Por qu㪠utilizã -lo? - Ele à compatã vel com sistemas Unix como os BSD, Linux, SGI IRIX, alã m de sistemas Windows com o CygWin. - Consome poucos recursos. - à timo desempenho frente a outros servidores. - Interface de configuraã à o limpa e clara, facilitando administraã à o. - Suporte a PHP e MySQL. - à livre, seguro e estã vel. Caracterà sticas Algumas caracterã sticas: - Virtual Host - Listagem virtual de diretã³rios - Re-escrita de URL, redirecionamento HTTP - Suporte a arquivos grandes - Compressà o de arquivos de saã da com chace transparente (reduã à o gzip, bzip2 - Autenticaà à o (basic, digest - backends: plain, htpasswd, htdigest, ldap - Downloads rã pidos e seguros - Server Side Includes - Identificaà à o de usuã rios - FastCGI, CGI, SSI PHP-Support: - Desempenho igual ou superior ao apache + mod_php4 - Suporte a mãºltiplos processos do PHP via interface FastCGI e CGI - suporte a "Code Caches" como Turckmm, APC e eaccelarator - FastCGI com Balanceamento de carga (Um servidor web distribuindo cagar para vã rios servidores PHP Instalando O lighttpd pode ser instalado via ports: a localizaã à o do lighttpd no ports à /usr/ports/www/lighttpd. Entre o no diretã³rio e execute o comando make install # cd /usr/ports/www/lighttpd # make install Após isto irã aparecer a seguinte tela no terminal. Nela à possã vel escolher algumas opã ões de compilaã à o para o lighttpd. Neste caso desabilitarei todas as opã ões. OBS: O MySQL deste menu nã o se refere a ligaã à o do MySQL com o PHP. Após isto a instalaã à o deverã terminar sem mais perguntas. Configuraà à o do Sistema Operacional O arquivo de inicializaã à o do lighttpd fica em /usr/local/etc/rc.d/lighttpd.sh; para ativar a inicializaã à o do lighttpd como sistema operacional basta adicionar lighttpd_enable="yes" ao /etc/rc.conf. Provavelmente na primeira inicializaã à o irã o acontecer alguns erros, jã que na instalaã à o o diretã³rio base onde ficarã o as pã ginas e os arquivos de log nã o foram criados. Para eliminar esses problemas, crie os seguintes diretã³rios e arquivos: # mkdir /usr/local/www/data/ # touch /var/log/lighttpd.access.log # touch /var/log/lighttpd.error.log # chown www /var/log/lighttpd.access.log # chown www /var/log/lighttpd.error.log

Agora o lighttpd irã iniciar normalmente. Para testar crie um arquivo como o nome index.html em /usr/local/www/data/ e acesse via browser a sua mã quina; se a pã gina aparecer, obviamente, tudo ocorreu bem. Configuraà à o Bà sica do Lighttpd O arquivo de configuraã à o do lighttpd fica em /usr/local/etc/lighttpd.conf, e somente o usuã rio root pode editã -lo. O arquivo de configuraã à o no inã cio parece ser um pouco complicado, porã m com o tempo ele se torna simples e fã cil de trabalhar. As linhas que iniciam com o caractere "#" sã o conseideradas comentã rios. As atribuiã ões de valores a diretivas sã o feitas da seguinte forma: Para uma diretiva mono valorada: diretiva = "valor" Ex: server.document-root = "/usr/local/www/data/" Para diretivas multi valoradas: diretiva = ("valor 1", "valor 2" OBS: sã o aceitas quebras de linha entre valores, como no exemplo abaixo. Ex: index-file.names = ( "index.php", "index.html", "index.htm", "default.htm" Vamos observar algumas das diretivas mais importantes do lighttpd.conf: Diretiva server.modules: Esta diretiva define os mã³dulos que estã o ativos durante a execuã à o do lighttpd. Esta diretiva contã m uma sã rie de linhas comentadas; para habilitar algum mã³dulo basta descomentar a linha referente ao mesmo. Lembre-se de habilitar apenas os mã³dulos que voc㪠irã utilizar. Diretiva server.document-root. Define o caminho para o diretã³rio inicial, que por padrã o à /usr/local/www/data/. Altere-o como quiser. Uma boa dica à /var/www/hostname, onde HOSTNAME à o nome do seu domã nio. Diretiva server.errorlog Define o arquivo de log de erros. Diretiva accesslog.filename Define o arquivo de log de acesso. Diretiva index-file.names Define o nome dos arquivos de index que o servidor deve procurar. A ordem em que eles estã o dispostos influencia na escolha. Diretiva server.username Define o UID que o servidor irã executar. Diretiva server.groupname Define o GID que o servidor irã executar. Integrando com o PHP e MySQL A integraã à o do PHP e MySQL à feita atravã s do FastCGI, apenas uma coisa que deve-se ter em mente, à que o MySQL nã o estã ligado ao servidor Web mas sim ao PHP. Primeiramente iremos instalar o PHP, Partimos do presuposto que voc㪠jã tem o MySQL instalado, caso nã o tenha, siga o exemplo de instalaã à o do MySQL a partir do meu tutorial do Postfix. Instalando o PHP

O PHP serã instalado via ports, para isto entre no diretã³rio /usr/ports/lang/phpx, onde X à a versã o do php, atualmente 4 ou 5, e execute o seguinte comando. # make config Aparecerà a seguinte tela. Habilite as mesmas opã ões e instale o PHP com o seguinte comando.# make install O PHP estã instalado. agora vamos integrar com o MySQL Um mã³dulo do php irã fazer a ligaã à o entre o MySQL e o PHP, ele estã disponã vel no ports. Para instalar execute os seguintes comandos. # cd /usr/ports/databases/phpx-mysql # (onde X à a versã o do PHP # make install Configurando o lighttpd com o PHP Na diretiva server.modules, descomente a linha referente ao "mod_fastcgi". e adicione as linhas abaixo em algum lugar no arquivo de configuraã à o. fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/local/bin/php", "min-procs" => 3, "max-procs" => 5, "idle-timeout" => 20, "max-load-per-proc" => 10, Onde: socket à onde ficarã os sockets de comunicaã à o entre o lighttpd e o PHP. bin-path à onde estã localizado o executã vel do PHP. min-procs Número mã nimo de processos do PHP que ficarã o esperando trabalho. max-procs Número mã ximo de processos do PHP que ficarã o esperando trabalho. idle-timeout Tempo que um processo do PHP ficarã vivo sem trabalho, apã³s este tempo ele morre max-load-per-proc mã dia de carga mã xima em um processo antes de um novo processo ser lanã ado. As opã ões referentes ao nãºmero de processos tem uma grande influãªncia no desempenho do servidor, faã a testes e ache os melhores valores par a seu sistema. Se sob muita carga seu servidor acusar erro "500 internal server error" aumente o nãºmero de processos do PHP. Para testar se tudo estã certo, crie um arquivo chamo info.php, no document-root de se servidor, com o seguinte conteãºdo <?php phpinfo(;?> Caso abrir a pã gina de informaã ões do PHP tudo deu certo. Configurando Userdir Habilite o mã³dulo mod_userdir descomentando a sua linha na diretiva server.modules, e insira as seguintes linhas no arquivo de configuraã à o. userdir.path = "public_html" userdir.basepath = "/home/" O caminho do diretã³rio do usuã rio à formado por: "userdir.basepath"/"usuã rio"/"userdir.path". Para o usuã rio daniel, o caminho de seu diretã³rio seria /home/danie/public_html. Virtual Host Virtual host à um meio de um servidor web ser capaz de servir pã ginas para diversos domã nios.

O lighttpd ofereã e trãªs modulos para habilitar esta caracterã stica. mod_evhost, mod_mysql_vhost e mod_simple_vhost. Neste artigo trataremos a utilizaã à o do modulo mod_simple_vhost. Este à o mã todo mais simples para a criaã à o de hosts virtuais, ele exige a configuraã à o de apenas trãªs diretivas. simple-vhost.server-root Caminho para o diretã³rio raiz de cada host virtual. simple-vhost.default-host O host virtual padrã o simple-vhost.document-root Diretório que contã m a pã gina inicial sobre o diretã³rio do host virtual O caminho para o diretã³rio raiz do servidor virtual à formado por: simple-vhost.server-root + Hostname + document-root Exemplo: simple-vhost.server-root = "/var/www/" simple-vhost.default-host = "www.examplo.org" simple-vhost.document-root = "pages" O caminho para o index do host vitual dominio.net seria: /var/www/dominio.net/pages/ Para a ativaã à o de um domã nio virtual, basta o diretã³rio formado pelas diretivas existir. Caso o caminho do dominio solicitado nã o exister, o endereã o definido em simple-vhost.default-host serã exibido, neste caso www.examplo.org. Uso de condicionais Em alguns casos o caminho pode nã o ser o obtido apartir das configuraã ões do mã³dulo simple-vhost. Esta situaã à o pode ser resolvilda com a utilizaã à o de condicionais, como no caso abaixo, quando solicitado o dominio dbristot.info o conteãºdo do deiretã³rio /var/www/userdir/daniel serã exibido. $HTTP["host"] == "dbristot.info" { server.document-root = "/var/www/userdir/daniel" } Isto à útil para fazer alias de hosts virtuais. Como por exemplo, para que dominio.net e www.dominio.net obtenham o mesmo caminho. $HTTP["host"] == "www.dominio.net" { server.document-root = "/var/www/dominio.net/pages/" }WebDAV O webdav à um mã todo para troca de arquivos via protocolo HTTP1.1 Para habilitar o mã³dulo do WebDAV basta adicionar mod_webdav na lista de mã³bulos. Existem duas diretã vas de configuraã à o para o WebDAV. webdav.activate Habilita ou desabilita o WebDAV para um diretã³rio. Padrà o: disable (desabilitado webdav.is-readonly Acesso somente leitura Padrà o: writable (gravã vel Exemplo: Para habilitar o WebDAV como somete-leitura para os diretã³rios que tenham o nome 'dav'. $HTTP["url"] =~ "^/dav($ /" { webdav.activate = "enable" webdav.is-readonly = "enable" }Autenticaà à o O mã³dulo mod_auth à responsã vel pela autenticaã à o no Lighttpd. O lighttpd suporta os dois mã todos de autenticaã à o definidos na RFC 2617:

basic O mã rodo basic transfere o nome de usuã rio e senha em texto puro pela rede, apenas os codifica em base64. digest O mã todo digest envia apenas uma valor md5; assim tornando-o mais seguro que o basic. Dependendo do mã todo o lighttpd oferece diferentes meios para armazenamento de senhas. Para o mã todo basic: plain Armazena as senhas em formato texto puro htpasswd Armazena as senhas em formato md5, porã m nescessita do htpasswd, disponivel no Apache htdigest Armazena as senhas em formato md5, nescessita apenas de um script. ldap Utiliza base de dados Ldap Para o mã todoor digest: plain htdigest Aquà utilizaremos o mã todo digest com htdigest para armazenamento de senhas. Gerando base de dados de usuã rio Serà necessã rio o script abaixo para a criaã à o do arquivo de senha. #!/bin/sh user=$1 realm=$2 pass=$3 hash=`echo -n "$user:$realm:$pass" md5 cut -b -32` echo "$user:$realm:$hash" Salve o script com o nome htdigest.sh. Para utiliza-lo entre com os parametros Usuà rio Descrià à o Senha e desvie a saã da para o arquivo de senha, como abaixo: #./htdigest.sh usuario Local senha >> /usr/local/etc/htdigest Verificando... # cat /usr/local/etc/htdigest daniel:download:3a99e549592d6163659b6b0e5d0a8b0f usuario:local:6b063763659086818e455206bcc95e7e Configurando o lighttpd para autenticaã à o Descomente a linha referente ao mã³dulo "mod_auth". Diretà vas de configuraã à o: auth.debug Define o mode debug. 0 para desativo, 1 para log de usuã rio, e 2 para debug. default=0 auth.backend Define o mã todo de altenticaã à o. auth.backend.<mã TODO DE ALTENTICAà ÃO>.userfile Define o caminho para o arquivo de senhas. Altere o <Mà TODO DE ALTENTICAà ÃO> pelo mã todo utilizado, por exemplo htdigest. Para a autenticaã à o ter efeito precisamos de auth.require = ( <lado esquedo da url> => ( "method" => "digest"/"basic", "realm" => <realm>, "require" => "usuã rio=<username> valid-user" Por exemplo: auth.debug = 0 auth.backend = "htdigest" auth.backend.htdigest.userfile = "/usr/local/etc/htdigest" auth.require = ( "/dav" => ( "method" => "digest", "realm" => "Pasta da Web", "require" => "valid-user",

Atenà à o com o abrir e feixar de chaves, as veses isto causa erros estranhos. "http://dbristot.info/wiki/index.php?title=lighttpd" Retirado de