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.
0 comentários:
Postar um comentário