Solunas en la Hardy pas a pas
Solunas és un programari lliure que ens permet gestionar les reserves d’habitacions per a hotels i similars.
Un company de la universitat em va demanar que li ajudara a fer anar el programari en Ubuntu, i encara que mai no havia tocat res de Ruby on Rails, ací us explique pas a pas com fer-lo anar en la nostra distribució preferida. Apunteu:
1) Instal·lem el Sistema Gestor de Base de dades MySQL
$ sudo aptitude install mysql-server
2) Creem un usuari a la base de dades per al programa
$ mysql -u root -p
mysql> create user ‘usuari’@'localhost’ identified by ’solunas’;
mysql> quit;
$ mysql -u solunas_user -p
mysql>show databases;
+——————–+
| Database |
+——————–+
| information_schema |
+——————–+
1 row in set (0.00 sec)
3) Creem la base de dades solunas
$ mysql -u root -p
mysql> grant all on *.* to ‘usuari’@'localhost’;
mysql> quit;
$ mysql -u usuari -p
mysql> create database solunas;
4) Ens baixem el programa
$ wget http://downloads.sourceforge.net/solunas/solunas2.0.1.zip?big_mirror=0
5) Desempaquetem el programa
$ unzip solunas2.0.1.zip
$ cd solunas
6) Importem l’esquema de la base de dades solunas a mysql
$ mysql –user=usuari –pass=solunas –host=localhost solunas < db/solunas.sql
$ mysql -u usuari -p
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| solunas |
+——————–+
mysql> use solunas;
mysql> show tables;
+————————+
| Tables_in_solunas |
+————————+
| addons |
| addons_contracts |
| contracts |
| customers |
| documents |
| documents_rooms |
| globalize_countries |
| globalize_languages |
| globalize_translations |
| notes |
| prices |
| properties |
| rooms |
| users |
+————————+
7) Instal·lem Ruby
$ sudo aptitude install ruby
Instal·lem les gemmes de ruby
$ sudo aptitude install rubygems
9) Instal·lem la gemma rails adequada per al programa
$ sudo gem update
$ sudo gem install rails –version 1.1.6 –include-dependencies
10) Instal·lem les llibreries ruby1.8-dev per poder instal·lar la gemma de mysql
$ sudo aptitude install ruby1.8-dev
11) Instal·lem una llibreria libmysqlclient15-dev per a poder instal·lar la gemma de mysql
$ sudo aptitude install libmysqlclient15-dev
12) Instal·lem la gemma de mysql
$ sudo gem install mysql
Select which gem to install for your platform (i486-linux)
1. mysql 2.7.3 (mswin32)
2. mysql 2.7.1 (mswin32)
3. mysql 2.7 (ruby)
4. mysql 2.6 (ruby)
5. Skip this gem
6. Cancel installation
> 3
Si dóna error en instal·lar la gemma cal executar altra vegada
$ sudo gem update
acceptant totes les dependències i tornar a provar d’instal·lar la gemma de mysql.
13) Modifiquem l’arxiu config/database.yml
Cal posar les dades de l’usuari i la seua contrasenya. En aquest cas, cal canviar
development:
adapter: mysql
database: solunas
username:
password:
host: localhost
per el següent:
development:
adapter: mysql
database: solunas
username: usuari
password: solunas
host: localhost
14) Creem un enllaç tou al sock de mysql
$ sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
15) Modifiquem l’arxiu app/controllers/admin_controller.rb
Allà on posa:
# Add a new user to the database.
def add_user
if request.get?
@user = User.new
else
@user = User.new(params[:user])
@user.admin = params[:user][:admin]
@user.datestring = “%d.%m.%Y”
@user.header = “</head><body>”
@user.currency = “%0.2f Eur”
@user.confirmed = “1″
@user.language = “en-US”
@user.calendar_symbols = ["A","D","F","B"]
@user.calendar_colors = ["green","green","green","#c0c0c0"]
@user.homepage = params[:user][:homepage]
@user.email = params[:user][:email]
if @user.save
redirect_to_index(”User #{@user.name} created”)
end
end
end
cal afegir una línia deixant-ho així:
# Add a new user to the database.
def add_user
if request.get?
@user = User.new
else
@user = User.new(params[:user])
@user.admin = params[:user][:admin]
@user.datestring = “%d.%m.%Y”
@user.header = “</head><body>”
@user.currency = “%0.2f Eur”
@user.confirmed = “1″
@user.language = “en-US”
@user.calendar_symbols = ["A","D","F","B"]
@user.calendar_colors = ["green","green","green","#c0c0c0"]
@user.homepage = params[:user][:homepage]
@user.email = params[:user][:email]
@user.footer=”"
if @user.save
redirect_to_index(”User #{@user.name} created”)
end
end
end
16) Modifiquem l’arxiu app/views/user/_form.rthml
On posa:
<%= text_field_tag(”calendar_symbols[#{y}]“, @calendar_symbols["#{y}"]) %></p>
cal modificar i posar
<%= text_field_tag(”calendar_symbols[#{y}]“, @calendar_symbols[y]) %></p>
I on posa:
<%= text_field_tag(”calendar_colors[#{y}]“, @calendar_colors["#{y}"]) %></p>
cal posar el següent:
<%= text_field_tag(”calendar_colors[#{y}]“, @calendar_colors[y]) %></p>
17) Executem el servidor WEBrick
$ ruby script/server
=> Booting WEBrick…
*******************************************************************
* config.breakpoint_server has been deprecated and has no effect. *
*******************************************************************
=> Rails 2.1.0 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with –help for options
[2008-06-09 13:10:06] INFO WEBrick 1.3.1
[2008-06-09 13:10:06] INFO ruby 1.8.6 (2007-09-24) [i486-linux]
[2008-06-09 13:10:06] INFO WEBrick::HTTPServer#start: pid=10289 port=3000
18) Executem l’aplicació
Una vegada el servidor WEBrick està executant-se, cal obrir un navegador i posar la següent adreça:
http://localhost:3000/login
I ja tindràs solunas executant-se:
19) I ens identifiquem
Cal posar com a usuari: marc
i com a contrasenya: isemann
Una vegada dins, introduïm un nou usuari i ja podem treballar amb ell.
