Configurando subdomínios em localhost com Apache2

Tags: — May 26, 2008 @ 3:30 pm

Para quem desenvolve aplicações web em computadores compartilhados fica difícil trabalhar com um DocumentRoot que pode ser acessado por todos. A Solução mais prática é criar um DocumentRoot na $HOME de cada usuário, e usar o módulo userDir, mas isto gera alguns problemas quando trabalhando com mod_rewrite, exigindo a definição de uma regra RewriteBase no .htaccess.

Para acertar isto, podemos criar um subdomínio na própria máquina local, como http://exemplo.localhost.

Mesmo para quem é o único usuário de seu computador de desenvolvimento, é uma boa idéia separar DocumentRoots por usuário, uma vez que isso previne definir permissão de escrita ao DocumentRoot padrão do Apache, ou acesso a uma conta de super usuário (root).

Antes de tudo habilite e configure o módulo userdir no apache. No Debian basta criar um link simbólico para o módulo e o arquivo de configuração de /etc/apache2/mods-available/ para /etc/apache2/mods-enabled/:

# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/userdir.conf userdir.conf
# ln -s ../mods-available/userdir.load userdir.load

Então crie um VirtualHost com a configuração a seguir, substituindo usuario pelo seu nome de usuário no sistema, e as pastas public_html e cgi-bin caso necessário:

<virtualhost>
    ServerName usuario
    ServerAlias www.usuario.localhost usuario.localhost
    DocumentRoot /home/usuario/public_html
    ServerAdmin webmaster@usuario.localhost
    UseCanonicalName Off
    ScriptAlias /cgi-bin/ /home/usuario/public_html/cgi-bin/
</virtualhost>

No Debian as configurações de VirtualHost ficam no diretório /etc/apache2/sites-available, assim basta criar um arquivo.conf neste local com a configuração acima e criar um link simbólico para ele em /etc/apache2/sites-enabled, adicionando a este as linhas acima.

# cd /etc/apache2/sites-enabled
# ln -s ../sites-available/usuario.conf usuario.conf

Agora seu subdomínio está configurado no servidor web Apache, mas ainda falta dizer para seu computador que este domínio pertence ao servidor local. Para isso adicione a seguinte linha ao arquivo /etc/hosts:

127.0.0.1    usuario.localhost    usuario

Depois disso apenas reinicie o apache (/etc/init.d/apache2 restart ou /etc/init.d/httpd restart) e você poderá acessar seu DocumentRoot digitando http://usuario.localhost em qualquer navegador web, sem se preocupar com regras adicionais no .htaccess.

ReactOS – Uma alternativa Livre ao MS Windows

Tags: , — May 10, 2008 @ 1:11 pm

Não faz muito tempo que eu esteva me perguntando se não existia já algum sistema operacional livre, baseado no, e totalmente compatível, com a família MS Windows. Imaginei que seria bem possível, já que podemos encontrar por aí algumas implementações livres do MS DOS, como o FreeDOS, mas após algumas buscas sem sucessos por Free Windows e similares, acabei perdendo as esperanças.

Por acaso encontrei ontem o site do ReactOS, um novo (ainda em fase Alpha) sistema operacional de código aberto, com um Kernel próprio, e visando compatibilidade total com aplicativos e drivers par MS Windows.

O ReactOS® é um sistema operativo Livre que visa atingir um elevado grau de compatibilidade com o Microsoft Windows® XP. O ReactOS tem como objetivo fornecer compatibilidade completa tanto com as aplicações como com os controladores desenvolvidos para os sistemas operativos da linha NT® da Microsoft®, por intermédio de uma arquitectura e uma interface pública de programação similares.

Ainda não sei de detalhes sobre o kernel do sistema, mas certamente este não é baseado em um kernel Linux ou FreeBSD, e também, por razões óbvias, não é decendente do kernel do Windows NT.

Diferente da API Wine, que visa compatibilidade com programas Windows no Linux e outros sistemas baseados em Unix, o ReactOS visa ser uma aternativa completa ao Windows, incluindo suporte a drivers e a interface já conhecida deste (ugh! aquela coisa feia… eparamos que eles não façam um tema Luna como padrão). Atualmente o sistema já suporta umapequena séria de aplicativos, e inclusive alguns jogos baseados em OpenGL (DirectX está a caminho).

Para quem estiver curioso para experimentar a novidade, a página de downloads do projeto disponibiliza não apenas uma imagem de instalação, como também um LiveCD e imagens para Qemu e VMware, assim qualquer um pode experimentá-lo sem precisar fazer uma nova partição.

Experamos que o projeto cresça para tornar-se uma alternativa completa ao Windows. :)

RPG online com Javascript

Tags: , , — May 6, 2008 @ 11:53 am

Proto RPGRecentemente, Enéas Gesing postou sobre o ProtoRPG (link aqui), um RPG feito com o framework Javascript Prototype, e que pode ser jogado via browser.

O conceito é bem interessante, e lembra bastante antigos jogos de Nintendinho ou Game Boy Color visualmente. As ações (abrir portas, atacar, falar com NPCs) são feitas através de hotkeys, ou seja, basta segurar uma tecla do teclado + a direção onde executar a ação (exemplo: A+Direita = Atacar inimigo a direita), o que aumenta a velocidade do jogo. O único ponto fraco que achei são as conversas com NPCs, que abrem uma janela de conversa que impede a ação.

TriglavApesar de interessante, o jogo não chega a ser inovador. Um outro RPG online chamado Triglav, produzido pela empresa SmokyMonkey, existe desde 2002 e, posso dizer, tem ótimos gráficos e animações, além de uma jogabilidade a lá Diablo, onde controla-se o personagem com o movimento do mouse.

Apesar da boa qualidade, por ser tão antigo, o jogo foi feito com técnicas JS ultrapassadas e, por isso, só funciona no MS Internet Explorer (Ugh!). A esta altura de produção deve ser extremamente difícil tornar o jogo multiplataforma, mas se você tiverum Internet Explorer 6 rodando no Wine já é suficiente.

O interessante desses jogos é que, como têm apenas Javascript como requerimento, podem ser jogados de qualquer lugar, e mesmo com poucos recursos, pois o jogo não fica tão pesado e tem suas imagens carregadas apenas quando necessário. Se um multiplayer for feito deste modo certamente fará sucesso.

Mudança de Servidor

Tags: , — @ 11:09 am

Com os recentes problemas que vinha tendo com o serviço de hospedagem, como era visível pela quantidade de vezes que este blog ficava fora do ar, eu e meu sócio decidimos mudar de servidor.

Após uma (nem tão) longa pesquisa decidimos que o GeekStorage, satisfaria todas as nossas necessidades. Oferecendo hospedagens básicas bem baratas, planos resellers, e VPS (Virtual Private Server, ou Servidor Privado Virtual). Como precisávamos de um servidor personalizado, com serviços como Subversion e extensões diversas para o PHP e Apache, optamos logo de cara por um VPS com acesso root.

Por enquanto apenas nossos blogs foram migrados, enquanto ainda temos alguns ajustes a fazer no servidor. Mas até agora posso dizer que estou muito satisfeito com a velocidade e performance do servidor.

Como adição eles oferecem um programa de afiliados que concede ótimos bônus aos seus clientes caso recomendem o serviço a outros interessados, e também tem um ótimo suporte online (desde que inglês não seja um problema para você).

Quem se interessar no serviço, clique neste link para tornar-se nosso afiliado, já ajudando a manter este blog e nossos futuros projetos.