Installazione di Ruby on Rails in Leopard

Con l’uscita di Leopard, Apple ufficializza il supporto a RoR, inserendolo direttamente nell’installazione base del proprio OS.
Per avere una installazione un po’ più completa, basta aggiungere MySQL, vediamo come rendere la nostra Leopard Box, una perfetta piattaforma per lo sviluppo in RoR.

N.B. Si suppone installato il pacchetto Xcode, installabile dal DVD di Leopard!

Verifica dell’installazione di Ruby e Rails

Per verificare se effettivamente ruby e rails sono installati, basta lanciare questo comando:

ruby -v; rails -v

Che nel mio caso restituisce:

ruby 1.8.6 (2007-06-07 patchlevel 36) [universal-darwin9.0]
Rails 1.2.3

… 1.2.3? … vecchiotto… la stabile è ora la 2.0.2… vabbè, rimediamo, intanto aggiorniamo il sistema gem e poi lanciamo un aggiornamento di tutte le gemme presenti già nel sistema, l’aggiornamento di rails però non installa la nuova gemma, tipica delle installazioni di rails v2, chiamata activeresources, installeremo anche quella:

sudo gem update --system
sudo gem update
sudo gem install activeresource

Hmmmm! Manca una gemma che può rendersi molto utile durante lo sviluppo di applicazioni: rmagick! Che però dipende da imagemagick, vediamo come installare entrambi.

Installazione di MacPorts

MacPorts è un grande repository di software Linux portati a Mac, è una risorsa molto potente, in quanto rende disponibile in maniera semplice (e piuttosto familiare per un utente Debian/Ubuntu, anche se concettualmente è più simile al sistema Gentoo) un vastissimo parco di programmi utili, come ad esempio nmap… quale amministratore di rete potrebbe farne a meno? ^_^
Bene, dopo il pistolotto iniziale, installiamo macports scaricando il dmg per Leopard e lanciando la solita installazione… (Ci mette un bel po’, non preoccupatevi, macports si sta compilando per il vostro sistema…).
Per rendere più semplice la navigazione e la scelta dei pacchetti, si può installare anche porticus, una specie di package manager… una GUI per l’accesso al repository di macports.
Ah! non dimenticate di dire a bash dove trovare l’eseguibile di port, pena il dover continuamente dare il percorso completo da riga di comando (I’m so lazy…), quindi aggiungete queste righe al file .bash_profile

export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info

E chiudete (Command+q) e riaprite il terminale!

Installazione di Rmagick

Semplice… usate porticus o più velocemente copiate e incollate questi comandi nel terminale:

sudo port install tiff -macosx
sudo port install ImageMagick
sudo gem install rmagick

Anche qui, port non fa altro che rendere abbastanza trasparente la compilazione del pacchetto, preoccupandosi delle fasi preliminari di configurazione della sorgente, questo però implica che l’installazione sia un po’ lunga, in quanto deve compilare anche tutte le dipendenze mancanti nel sistema per quel determinato pacchetto.

Installazione di MySQL

Alla data di questo howto è finalmente disponibile un package DMG ufficiale per Leopard (Mac OS X 10.5), io ho scelto la versione per x86_64, d’altronde questo OS è a tutti gli effetti un OS a 64bit, no? Una volta finito il download, viene montato automaticamente il dmg, presentandoci due pkg (uno è il DB vero e proprio, l’altro è l’aggiunta alle applicazioni in startup automatico) e un prefPane, installiamoli tutti.
MySQL viene installato in /usr/local/mysql, la socket è in /tmp/mysql.sock e lo startup item in /usr/local/MySQLCOM.

L’avvio automatico è affidato a launchctl, perciò, basta creare un file chiamato /Library/LaunchDaemons/com.mysql.mysqld.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>KeepAlive</key>
	<true/>
	<key>Label</key>
	<string>com.mysql.mysqld</string>
	<key>Program</key>
	<string>/usr/local/mysql/bin/mysqld_safe</string>
	<key>RunAtLoad</key>
	<true/>
</dict>
</plist>

Proviamolo lanciando questo comando: sudo launchctl load /Library/LaunchDaemons/com.mysql.mysqld.plist

Ora dovrebbe funzionare, priviamo a riavviare per vedere se parte in automatico!

Sean O’Sullivan consiglia di creare, per comodità, un alias nel file delle risorse della shell, quindi aggiungete queste righe al file .bash_profile (e poi riavviate il terminale):

alias start_mysql="sudo /usr/local/MySQLCOM/MySQLCOM start"
alias stop_mysql="sudo /usr/local/MySQLCOM/MySQLCOM stop"
alias restart_mysql="sudo /usr/local/MySQLCOM/MySQLCOM/MySQLCOM restart"

Come noterete, lanciando il comando mysql, la shell non lo trova, va aggiunto al file delle risorse della shell, in modo che sappia dove trovarlo, questo si può fare con questo comando da, aggiungere al file .bash_profile (e poi riavviate il terminale):

alias mysql="/usr/local/mysql/bin/mysql"
alias mysqladmin="/usr/local/mysql/bin/mysqladmin"

Ed ora installiamo la gemma:

sudo su -
ARCHFLAGS='-arch x86_64' gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
install_name_tool -change /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle

Annotazione personale… Hmmmmm! A chi mi dice che GNU/Linux è difficile, farò leggere questo paragrafo… O__O Da utente sia MAC che Ubuntu, posso dirvi che nella mia derivata Debian preferita, bastava aprire il gestore di pacchetti, cercare mysql server e installarlo… 3 click… 3 diavolo di click… O_O

And… That’s all folks! ^_^

Annunci

One Response to Installazione di Ruby on Rails in Leopard

  1. […] L’installazione di mysql è già stata trattata nel post Installazione di Ruby on Rails in Leopard […]

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: