A finalidade deste tutorial, é ter um ambiente preparado para desenvolvimento web com Ruby on Rails.
Ao final da instalação, teremos um ambiente com a seguinte configuração: Ruby 1.9.2 + Rails 3.2.1 + RubyGems 1.8.17 + SQLite3/MySQL/PostgreSQL.
Primeiro passo
$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev curl libssl-dev apache2-utils
Instalação dos pré-requisitos para o funcionamento correto do Ruby após instalado.
Segundo passo
$ cd ~
$ wget ftp://ftp.ruby-lang.org//pub/ruby/ruby-1.9-stable.tar.gz
$ tar xpzvf ruby-1.9-stable.tar.gz
$ cd ruby-1.9.X-pYYY
$ sudo ./configure
$ sudo make
$ sudo make install
Instalação do Ruby 1.9.X diretamente do código fonte que será instalado em /usr/local/bin/ruby.
Terceiro passo
$ cd ~
$ wget http://rubyforge.org/frs/download.php/75856/rubygems-1.8.17.tgz
$ tar xpzvf rubygems-1.8.17.tgz
$ cd rubygems-1.8.17
$ sudo ruby setup.rb
Instalação do RubyGems que já ficará configurado de acordo com o Ruby instalado anteriomente.
Quarto passo
$ sudo gem install rails
Instalação da versão estável atual do Rails, a 3.2.1.
Quinto passo
Neste passo, darei três opções para escolha de qual BD utilizar.
SQLite3 (default na instalação do Rails)
$ sudo apt-get install sqlite3 libsqlite3-dev
$ sudo gem install sqlite3-ruby
Instalação do SQLite3, as libs necessária para compilação e funcionamento da gem e sua respectiva gem.
MySQL
$ sudo apt-get install mysql-server-5.1 mysql-client-5.1 libmysqlclient-dev
$ sudo gem install mysql
Instalação do servidor e cliente do MySQL 5.1, as libs necessária para compilação e funcionamento da gem e sua respectiva gem.
OBS: Rails assume que o arquivo socket MySQL será encontrado em /tmp/mysqld.sock. No Ubuntu, este não é o caso. Certifique-se de mudar database.yml para refletir o local real do arquivo de socket:
socket: '/var/run/mysqld/mysqld.sock'
PostgreSQL
$ sudo apt-get install postgresql-8.4 postgresql-server-dev-8.4
$ sudo gem install pg
Instalação do PostgreSQL 8.4, as libs necessária para compilação e funcionamento da gem e sua respectiva gem.
Para quem tiver interesse em algo mais detalhado do PostgreSQL 8.4 + pgAdmin III, clique aqui.
Sexto passo (e último)
Enfim, agora é hora de criar o projeto e meter a mão na massa.
SQLite3 (default)
$ rails new app_rails
MySQL
$ rails new app_rails -d mysql
PostgreSQL
$ rails new app_rails -d postgresql
DICA: Jamais misture uma app instalada via gerenciador de pacotes com algum plugin/feature que é instalado via source. A probabilidade de acontecer alguma merda é alta, a não ser que você esteja sabendo bem onde esteja pisando; o que não foi meu caso.
DICA: Caso você encontre o erro “/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect’: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)” compilando suas aplicações, basta proceder da seguinte forma:
$ cd ~
$ wget http://nodejs.org/dist/latest/node-v0.6.xx.tar.gz
$ tar xpzvf node-v0.6.xx.tar.gz
$ cd node-v0.6.xx
$ sudo ./configure
$ sudo make
$ sudo make install
OBS: Substitua xx pela release mais recente do node.
Fonte: Tutorial originalmente postado pelo Vitor Avelino em seu blog.
Thanks! That last part is exactly what I needed. Works great now.
Thanks Eric!! Sorry for no english version, im out of time to translate.
Ótimo tutorial!
Estava tendo justamente problemas com o Javascript.
Só uma atualização: node-v0.6.11.tar.gz não está mais disponível no site, utilizei o node-v0.6.12.tar.gz e funcionou perfeitamente.
Obrigado Débora, vou atualizar.
Para resolver o problema de javascript, isso funcionou perfeitamente pra mim http://stackoverflow.com/questions/6282307/execjs-and-could-not-find-a-javascript-runtime
🙂
Legal cara. Esse post http://blog.glaucocustodio.com/2012/08/23/instalando-e-configurando-ambiente-ruby-on-rails-no-linux/ tbm me ajudou!
Adicionado aos comentários para ajudar o pessoal. Valeu André.
Eu gosto de usar no Ubuntu – ferramenta gratuita Valentina Estúdio http://www.valentina-db.com/en/valentina-studio-overview
Não conhecia essa ferramenta… Tá anotado aqui, vou testar depois..