Instalando Ruby on Rails


Instalando Ruby on Rails em diversos sistemas operacionais

Ubuntu

Nota, tenha certeza que seu sistema está atualizado.

Dependêcias

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties

Vamos compilar o Ruby :)

wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar -xzvf ruby-2.1.2.tar.gz
cd ruby-2.1.2/
./configure
make
sudo make install
ruby -v

Agora vamos adicionar uns recursos que o rails precisa (outras dependências)

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Dependências para o Mysql (opcional)

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Dependências para PostgreeSQL (opcional)

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.3 li

sudo -u postgres createuser ragazzid -s
sudo -u postgres psql
postgres=# \password ragazzid

Rails

Agora, vamos instalar o rails

gem install rails

“Dá onde veio o gem? Junto com a compilação do Ruby”

Testando

Para testar, crie uma aplicação, faça o seguinte:

mkdir /www/
cd /www/
rails new site
cd site
rails server

O rails vai subir o serviço na porta 3000 normalmente, ai você já vê ele funcionando :)

Integrando o Rails com Apache

Dependências:

sudo apt-get install apache2-threaded-dev libapr1-dev libaprutil1-dev

Capaz de pedir alguma lib do curl, mas ai é dar enter que o próprio wizard fala o que tem que fazer pra instalar

Tenha o Apache Server Instalado, Tenha o Mysql Server se for usar, Instale o Passenger

gem install passenger
gem install mysql

Vá até a pasta do passenger:

cd /usr/local/lib/ruby/gems/2.1.0/gems/passenger-4.0.48/

Compile o plugin de integração apache x passenger - deve demorar um pouco (seu apache deve estar rodando)

sudo ./bin/passenger-install-apache2-module

Prooontinho! AI é só seguir o que o script pediu:

   LoadModule passenger_module /usr/local/lib/ruby/gems/2.1.0/gems/passenger-4.0.48/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/local/lib/ruby/gems/2.1.0/gems/passenger-4.0.48
     PassengerDefaultRuby /usr/local/bin/ruby
   </IfModule>

After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!

Press ENTER to continue.


RackEnv development
   <VirtualHost *:80>
      ServerName www.yourhost.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /somewhere/public    
      <Directory /somewhere/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
         # Uncomment this if you're on Apache >= 2.4:
         #Require all granted
      </Directory>
   </VirtualHost>

Eu faço diferente, eu crio 2 arquivos dentro de /etc/apache/mods-available/

* passenger.load -> LoadModule passenger_module /usr/local/lib/ruby/gems/2.1.0/gems/passenger-4.0.48/buildout/apache2/mod_passenger.so
* passenger.conf -> com o conteúdo do ""

Ai é só

sudo a2enmod passenger

Quando criar o seu site, tem que colocar o virtual host como tá ali, mas é só :)

CentOs / RedHat

MacOS

Windows