sexta-feira, 15 de agosto de 2008

Entendendo o Ruby on Rails

O Ruby on Rails, ou simplesmente Rails, é um meta-framework baseado na linguagem Ruby que facilita o desenvolvimento de páginas web dinâmicas. Não vou entrar em muitos detalhes sobre o framework ou sobre a parte do desenvolvimento, afinal, este não é o objetivo do livro, mas se você se interessou em desenvolver usando o framework, um bom lugar para começar é o http://www.rubyonrails.org/screencasts. A página contém alguns vídeos e apresentações com exemplos de desenvolvimento.

As páginas desenvolvidas usando o Rails podem rodar em diversas combinações de servidores web e bancos de dados. Vamos então à configuração necessária para rodá-las sobre o Apache e o MySQL.





O primeiro passo é instalar o interpretador Ruby, juntamente com o Rails e as bibliotecas relacionadas, incluindo o eruby, o rdoc e o libzlib-ruby:

# apt-get install ruby eruby rails libzlib-ruby rdoc irb rubygems

Em seguida instalamos a biblioteca libfcgi-ruby e o módulo fcgid que permite que o interpretador se comunique com o Apache:

# apt-get install libfcgi-ruby1.8 libapache2-mod-fcgid

Note que o “1.8″ especifica a versão do pacote. A versão 1.8 é usada no Debian Etch, mas ela muda de acordo com a distribuição usada. Use a tecla TAB depois de digitar o “libfcgi-ruby” para ver as versões disponíveis, se for o caso.

Além do módulo fcgid (ativado automaticamente ao instalar o pacote), o Rails precisa também que os módulos include, ssl, rewrite e suexec estejam ativos na configuração do Apache. No Debian Etch, eles fazem parte do pacote principal, mas não vêm habilitados por padrão, o que pode ser feito rapidamente usando o a2enmod:

# a2enmod include
# a2enmod ssl
# a2enmod rewrite
# a2enmod suexec
# /etc/init.d/apache2 force-reload

Embora seja possível desenvolver aplicações simples em Rails sem usar um banco de dados, esta seria uma instalação capada, que não agradaria a muitos desenvolvedores. Para ter o ambiente completo, precisamos integrá-lo ao servidor MySQL, o que é feito através do módulo libmysql-ruby:

# apt-get install libmysql-ruby mysql-server

Se você ainda não tiver definido a senha de root do MySQL nos passos anteriores, aproveite para fazer isso agora:

# mysqladmin -u root password senha

Aproveite para criar uma base de dados dentro do servidor MySQL, que será usada mais tarde pela aplicação em Rails. Assim como no caso do WordPress e do phpBB, é aconselhável criar um usuário e uma base de dados separada para cada aplicativo que for rodar no servidor, mesmo que dentro do mesmo virtual host:

# mysql -u root -p

mysql> CREATE DATABASE rails1;
mysql> GRANT ALL ON rails1.* TO rails IDENTIFIED BY ‘rTk0uj03′;
mysql> FLUSH PRIVILEGES;

Com isso, a instalação do Rails está concluída. Para testar, crie um novo usuário, use o su para acessar o login criado e, dentro da pasta home, crie uma pasta para armazenar os projetos do Rails:

# adduser ruby
# su ruby
$ mkdir /home/ruby/rails

Para criar um aplicativo Rails de teste, acesse (ainda logado com o usuário criado) a pasta criada e execute o comando “rails”, seguido do nome do projeto e da opção “-d mysql” (que especifica o banco de dados que será utilizado), como em:

$ cd /home/ruby/rails
$ rails teste -d mysql

No final do processo, pressione Ctrl+D ou use o comando “exit” para encerrar a seção (e voltar a usar a conta de root). Como a pasta do projeto foi criada usando o login do usuário, falta um passo importante, que é fazer com que o usuário “www-data” seja o dono da pasta com o projeto. Para que o usuário continue podendo editar os arquivos apesar disso, ajustamos as permissões, de forma que o dono seja o usuário “www-data” e o grupo proprietário seja o grupo de mesmo nome do usuário, como em:

# chown -R www-data:ruby /home/ruby/rails

Como o usuário “ruby” faz parte do grupo “ruby”, ele continua sendo, indiretamente, o proprietário da pasta, através do grupo. Falta agora fazer com que o grupo tenha permissão para alterar o conteúdo da pasta, de forma que o usuário possa alterar os arquivos:

# chmod -R g+rw /home/ruby/rails

Note que usei o “-R” em ambos os comandos, de forma que as alterações sejam aplicadas de forma recursiva.

Com isso, o novo projeto está criado, falta apenas criar um virtual host no Apache apontando para a pasta, de forma que ele fique disponível para a web.

# a2ensite rails
# /etc/init.d/apache2 reload

Com tudo configurado, ao acessar o endereço do site você verá uma página de apresentação do Rails. A partir daí, o próximo passo seria editar o arquivo config/database.yml dentro da pasta do projeto, incluindo a base de dados, usuário e senha do MySQL e começar a desenvolver.

Instalando e configurando o WordPress

O WordPress é mais conhecido pelo serviço de hospedagem de blogs disponível através do http://wordpress.com, mas ele é na verdade um gestor de conteúdo de uso geral, que pode ser instalado em qualquer servidor com suporte a PHP e MySQL. Por ser licenciado sob a GPL, todo o código fonte está disponível e pode ser personalizado livremente.






A possibilidade de rodar o WordPress em seu próprio servidor é interessante não apenas se você está interessado em usar o sistema em seu próprio site ou em algum site que administra, mas também para empresas de hospedagem em geral, que podem oferecer a instalação e a administração do gestor de conteúdo como um serviço adicional. Você pode baixar o pacote de instalação no: http://wordpress.org/.

Copie o pacote para a pasta de arquivos do servidor web e descompacte-o usando o comando “unzip” (se ele não estiver disponível, instale o pacote “unzip” usando o gerenciador de pacotes), como em:

$ unzip latest.zip

Isso criará a pasta “wordpress” dentro da pasta onde o arquivo foi descompactado, criando a url “http://servidor/wordpress“. Se você quiser que o gestor fique disponível em outra pasta do servidor, basta renomeá-la antes de continuar, usando o comando mv, como em:

# mv wordpress blog

Se preferir que ele fique disponível através da URL raiz do site, mova todos os arquivos de dentro da pasta para o diretório raiz do site.

Assim como o phpBB, o WordPress precisa de uma base de dados e de um usuário de acesso ao servidor MySQL. Você pode adicioná-los rapidamente através do prompt do MySQL, usando os comandos que vimos anteriormente:

$ mysql -u root -p

mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL ON wordpress.* TO wordpress IDENTIFIED BY ‘2nMaqPvg’;
mysql> FLUSH PRIVILEGES;

O próximo passo é ajustar a configuração do WordPress para que ele utilize a base de dados criada. Para isso, o primeiro passo é acessar a pasta raiz e renomear o arquivo “wp-config-sample.php” para “wp-config.php”, como em:

$ cd wordpress
$ mv wp-config-sample.php wp-config.php

Abra o arquivo usando um editor de textos qualquer e ajuste as opções referentes ao banco de dados, adicionando a base de dados, o usuário e a senha criados:

// ** MySQL settings ** //
define(’DB_NAME’, ‘wordpress‘); // The name of the database
define(’DB_USER’, ‘wordpress‘); // Your MySQL username
define(’DB_PASSWORD’, ‘2nMaqPvg‘); // …and password
define(’DB_HOST’, ‘localhost‘); // 99% chance you won’t need to change this value
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);

A opção “DB_HOST” indica o endereço do servidor MySQL usado. Salvo casos em que você está usando servidores separados para a função de servidor web e banco de dados, usamos o “localhost” ou o “127.0.0.1″ que orientam o sistema a contatar um servidor MySQL rodando na mesma máquina.

Uma curiosidade é que o arquivo “wp-config.php” fica com permissão de leitura para todos. Entretanto, se você tentar acessá-lo diretamente pelo navegador (http://meu-site/wordpress/wp-config.php), ou tentar baixá-lo a partir de outra máquina usando o wget (ou outro gerenciador de downloads), vai perceber que o sistema entrega sempre um arquivo vazio, em vez de exibir as senhas. Isso acontece porque, devido à extensão “.php”, o servidor web sempre processa o arquivo usando o interpretador PHP, sem exibí-lo diretamente. Uma função PHP dentro do arquivo se encarrega então de mostrar a página em branco em vez de exibir as informações de configuração.

Continuando, depois de configurar o arquivo, basta concluir a instalação acessando via navegador o script “wp-admin/install.php” dentro da pasta de instalação do Wordpress, como em “http://meudominio/wordpress/wp-admin/install.php” ou “http://meudominio/wp-admin/install.php“.

O instalador pergunta apenas o título do blog e seu e-mail de contato. Ao clicar no “Install WordPress” a instalação é concluída de forma automática, mas isso é apenas o começo :)

Maquina Virtual Introdução

Quase tudo pode ser simulado via software. É possível até mesmo simular um computador completo. Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que permitem rodar jogos de Atari, Mega-Drive, Super-Nes, Playstation e outros. Assim como é possível emular um videogame, é possível simular um PC completo e rodar outros sistemas operacionais, dentro de uma janela. Isso permite que você rode o Windows dentro do Linux ou vice-versa. Esse PC "de mentira" é chamado de máquina virtual.


Quase tudo pode ser simulado via software. É possível até mesmo simular um computador de arquitetura diferente, para que os softwares escritos pare ele rodem da mesma forma que rodam dentro do seu sistema nativo.

Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que permitem rodar jogos de Atari, Nintendo 8 bits, Mega-Drive, Super-Nes, Playstation e outros.

Assim como é possível emular um videogame para rodar os jogos escritos para ele, é possível simular um PC completo e rodar outros sistemas operacionais, dentro de uma janela. Isso permite que você rode o Windows dentro do Linux ou vice-versa. Esse PC "de mentira" é chamado de máquina virtual.

O sistema principal neste caso passa a ser chamado de host (hospedeiro) e o outro sistema operacional que está rodando dentro da máquina virtual é chamado de "guest" (convidado). Ele acha que tem um PC completo para si, enquanto na verdade está rodando dentro de uma "matrix", na máquina virtual.

Naturalmente, este trabalho de simular um PC completo e ainda por cima com um bom desempenho não é simples, veja o caso dos emuladores de videogame de uma forma geral, que sempre precisam de um PC muito mais poderoso do que o sistema original. É preciso um Pentium 200 para emular um Super Nes (que usa um processador de 3.5 MHz e 128 KB de RAM) com qualidade.

Existem atualmente três softwares que se destacam nesta categoria, o VMware, Qemu e o Xen, que trabalham de forma ligeiramente diferente, mas com grandes diferenças práticas.

O VMware usa um conceito de virtualização. Ele tenta sempre que possível converter os comandos usados pelo sistema dentro da máquina virtual em comandos que o sistema host entenda e execute diretamente. Por exemplo, se o Windows dentro da máquina virtual tenta tocar alguma coisa na placa de som, o VMware simplesmente pega os dados e toca na placa de som "real" do micro, como se fosse outro programa qualquer. O mesmo se aplica a todo tipo de instruções básicas, que são executadas diretamente pelo processador principal. O VMware interpreta e converte instruções o mínimo possível.

O Qemu por sua vez é um emulador. Ele tenta processar todas as instruções, o que acaba demorando mais tempo e fazendo com que a performance seja menor. Em geral o VMware (nas versões recentes) consegue fazer com que o sistema guest rode com 60 a 90% do desempenho que teria se estivesse rodando diretamente, enquanto o Qemu obtém de 5 a 10%. O Qemu possui um módulo adicional, o Kqemu, que faz com que ele passe a funcionar de forma mais similar ao VMware, virtualizando as instruções básicas do processador, ao invés de emular tudo. O Kqemu melhora consideravelmente o desempenho do Qemu, mas ainda assim o deixa bem atrás do VMware em questão de desempenho.

O Qemu é um projeto open-source, enquanto o VMware é comercial, disponível em duas versões. O VMware Workstation é a versão completa, um software relativamente caro (199 dólares), mas que pode ser usado por 30 dias.

O VMware Player por sua vez é a versão gratuita, com bem menos funções, que pode ser usada para rodar máquinas virtuais criadas através do VMware Workstation, praticamente sem limitações, mas sem criar novas máquinas virtuais (VMs). A dica é que você pode obter a versão trial do VMware Workstation e usá-la para criar as máquinas virtuais e passar a usar o VMware Player depois que o trial expirar. Você pode baixar ambas no http://www.vmware.com. Baixe o pacote genérico, que pode ser instalado em várias distribuições.

No Kurumin (a partir do 5.1) você encontra o VMware Player e um script para criar e alterar as configurações das VMs, provendo uma solução completa.

Estas máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem que você rode outros sistemas operacionais dentro de uma janela, tendo acesso a todos os softwares que precisa. Muita gente utiliza este recurso para manter uma cópia do Windows à mão para quando precisam de algum programa específico. Muitos micros (e quase todos os notebooks) vêm com uma licença do Windows de qualquer forma e esta é uma boa maneira de aproveitá-la sem sair do Linux.

Conforme o Qemu e VMware forem evoluindo e os micros forem ficando cada vez mais rápidos, a perda de desempenho por rodar o Windows dentro da máquina virtual será cada vez menos significativo, permitindo que você tenha uma forma confortável de continuar rodando seus aplicativos antigos mesmo depois de migrar definitivamente para o Linux.





Outra grande utilidade é que você pode testar outras distribuições e ter um sistema "sparing", onde você pode testar de tudo sem medo de danificar sua instalação principal. Todos os arquivos da máquina virtual são salvos num "disco virtual", que nada mais é do que um arquivo comum, dentro da pasta com a VM, formatado de uma forma especial. Este arquivo é usado de tal forma que o sistema dentro da VM realmente acha que está usando um HD real, particionando, formatando e tudo mais.

Tudo começa com a criação da máquina virtual, que consiste basicamente no arquivo com o disco virtual e um arquivo de configuração, salvos dentro da pasta escolhida. No VMware, o tamanho do disco virtual é apenas um limite. O arquivo começa vazio, ocupando apenas alguns kbytes e vai inchando conforme são instalados programas dentro da máquina virtual, ocupando sempre um espaço equivalente ao espaço ocupado pelo sistema instalado.

A instalação do sistema dentro da máquina virtual é feita de forma normal. Você vai particionar e formatar o "HD" e tudo mais, só que tudo vai sendo feito dentro do disco virtual, sem que o Windows dentro da máquina virtual tenha acesso direto aos demais arquivos no HD. Se ele pega um vírus, apenas o que está dentro do disco virtual é afetado. Na pior das hipóteses você pode deletar o arquivo e começar de novo. Para todos os efeitos, a VM funciona como um PC real; você pode até mesmo instalar Windows e Linux em dual boot, ou experimentar a instalação de várias distribuições Linux no mesmo HD.

O VMware e o Qemu são os mais usados nos desktops, mas existe uma terceira opção, muito popular nos servidores, o Xen.

O Xen utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de forma transparente os recursos do hardware, permitindo que o sistema guest rode com uma redução de performance muito pequena (menos de 5%, na maioria dos casos). O maior problema é que para rodar dentro do Xen é necessário que o sistema guest seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso do VMware e do Qemu.

Isto não é um grande problema no caso das distribuições Linux, mas é no caso do Windows e outros sistemas de código fechado.

O Xen é muito mais complicado de configurar que o VMware. No caso dos servidores (onde temos um público da área técnica) isto não chega a ser um grande problema, mas nos desktops ele é ainda pouco usado. Mesmo assim, é possível que o Xen evolua em termos de facilidade de uso e, graças ao bom desempenho, comece a disputar diretamente com o VMware. A página do Xen é a http://www.xensource.com/.

quarta-feira, 13 de agosto de 2008

Barra de inicialização rápida com icones grandes… Como resolver?

Algumas pessoas sem querer deixam os icones da barra de inicialização rápida grandes e não conseguem resolver.

Então o Elemento_CM, usuário do Fórum Winajuda, colocou como resolver esse problema:

1º.: Desbloqueie a barra de tarefas (Se já estiver desbloqueada pule esse passo!);
2º.: Clique na Barra de inicialização rápida com o botão direito do mouse, mas aonde não tenha icones (Se puder aumente o espaço da barra para isso);
3º.: Vá em “Exibir” > “Ícones pequenos”;
4º.: Bloqueie novamente a barra. (Opcional).

Tire a publicidade do Live Messenger

Vá no Iniciar e clique no Executar e digite: “C:\WINDOWS\system32\drivers\etc\hosts” e aperte OK, selecione em Abrir com > Bloco de notas e embaixo aperte ABRIR.

Abra o bloco de notas e arraste o arquivo HOSTS para dentro dele, e na ultima liha aperte enter e adicione estas duas linhas:

127.0.0.1 rad.msn.com
127.0.0.1 rad.live.com

E salve (Arquivo, salvar)

Reinicie o sistema , inicie o Live Messenger e pronto, adeus publicidade do Messenger!

Comandos para Windows

Abaixo estão listados os principais arquivos executáveis presentes no Windows e suas respectivas funções:

Para executar esses comandos, clique em Iniciar > Executar, digite o nome do arquivo e clique em OK.

Accwiz.exe - Acessa o Assistente de Acessibilidade
Calc.exe - Executa o programa Calculadora
Charmap.exe - Executa o Mapa de Caracteres
ChkDsk.exe - Executa o Scandisk em ambiente simulado DOS
CleanMgr.exe - Executa a Limpeza de Disco
CliconFg.exe - Executa o utilidade Rede para clientes do SQL Server
CMD.exe - Executa o Prompt de Comando do DOS
Control.exe - Acessa o Painel de Controle
DxDiag.exe - Ferramenta de Diagnóstico do Direct X
EudCedit.exe - Executa Editor de caracteres especiais
Explorer.exe - Acessa o Windows Explorer
Magnify.exe - Executa a Lente de aumento do Windows XP
Mspaint.exe - Executa o Paint Brush
MsHearts.exe - Executa o Jogo de Copas
Mstsc.exe - Abre a janela para conexão de área de trabalho Remota
MSconfig.exe - Utilitário de configuração do Sistema
Notepad.exe - Acessa o Bloco de Notas
NetSetup.exe - Executa o Assistente para configuração de rede doméstica
Ntbackup.exe - Assistente para Backup e restauração
Osk.exe - Executa o teclado Virtual
PergMon.exe - Gerenciador de Desempenho do Windows XP
Regedit.exe - Acessa o ambiente de exploração do registro do Windows
Rstrui.exe - Executa o Assistente para restauração do Sistema
Sol.exe - Executa o Jogo Paciência
Spider.exe - Executa o Jogo Spider
Telnet.exe - Acessa o ambiente DOS possibilitando a comunicação Remota
TaskMgr.exe - Gerenciador de Tarefas do Windows
Winchat.exe - Bate Papo do Windows
Write.exe - Wordpad do Windows

Ferramentas Administrativas
gpedit.msc - Diretivas de Grupos
perfmon.msc - Serviço de componentes
compmgmt.msc - Gerenciamento do Computador
services.msc - Serviços
secpol.msc - Diretiva de Segunça Local
comexp.msc - Serviços de Componentes
odbcad32.exe - Fontes de Dados (ODBC)
eventvwr.msc - Visualizar Evento

Power point no Gmail!"

Power point no Gmail?

Sim! Isso é possível! O único problema é que só foi disponibilizado para os americanos, isso é, o Gmail tem que ser inglês.

Para você conseguir usar esse recurso do Power Point no Gmail então será nescessário você deixar o Gmail em inglês. Para isso faça o seguinte:

1. Clique em CONFIGURAÇÕES (Se nescessário de um CTRL+F);
2. Irá carregar a página das configurações, e ali na primeira opção está escrito IDIOMA (Se nescessário de um CTRL+F);
3. Mude o IDIOMA para ENGLISH (US);

Após isso o seu Gmail ficará em inglês (Esse é o único problema). Após isso procure um e-mail onde tenha um anexo com uma apresentação de Power Point e vá até o final da página (Geralmente o anexo está lá). Lá no final da página não clique em DOWNLOAD! Clique em VIEW AS SLIDESHOW.


Pronto. Uma janela se abrirá e aparecerá o slideshow.

ele ainda não emite som, sendo que esse recurso deve ser novo.