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

8) 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.

«Tornar enrere