====== Installer les paquets pour ruby ======
Les paquets sont en testing chez SME
Il y a une [[ https://wiki.contribs.org/RubyOnRails | page sur l'installation de ruby de chez contribs.org ]].
Deux solutions :
- ajouter un dépôt temporaire ;
- ajouter les paquets un par un.
===== Avec un dépôt temporaire =====
==== Ajouter le dépôt ====
en root :
/sbin/e-smith/db yum_repositories set c4-testing repository \
Name 'CentOS-4 Testing' \
BaseURL 'http://dev.centos.org/centos/4/testing/i386/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing \
Visible yes \
status disabled
==== Installer les paquets ====
en root :
yum install ruby ruby-devel ruby-irb ruby-libs ruby-rdoc
===== Ajouter les paquets un par un =====
==== Récupérer les paquets ====
sur [[http://dev.centos.org/centos/4/testing/i386/RPMS/]]
Pour ruby 1.8.5 :
cd /tmp
wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-1.8.5-5.el4.centos.1.i386.rpm
wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-devel-1.8.5-5.el4.centos.1.i386.rpm
wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-irb-1.8.5-5.el4.centos.1.i386.rpm
wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-libs-1.8.5-5.el4.centos.1.i386.rpm
wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-rdoc-1.8.5-5.el4.centos.1.i386.rpm
==== Installer les paquets ====
en root :
cd /tmp
rpm install ruby-1.8.5-5.el4.centos.1.i386.rpm \
ruby-devel-1.8.5-5.el4.centos.1.i386.rpm \
ruby-irb-1.8.5-5.el4.centos.1.i386.rpm \
ruby-libs-1.8.5-5.el4.centos.1.i386.rpm \
ruby-rdoc-1.8.5-5.el4.centos.1.i386.rpm
====== Installer Gem ======
Gem permet est l'installateur interne de Ruby.
La version installée est 1.3.1
Pour avoir la dernière version, aller sur [[http://rubyforge.org/frs/?group_id=126 | RubyForge]]
cd /tmp
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
tar xzf rubygems-1.3.1.tgz
cd rubygems-1.3.1
ruby setub.rb
====== Installer Rails ======
gem install rails --include-dependencies
====== Installer la librairie MySql pour Rails ======
gem install mysql -- --with-mysql-dir=/var/lib/mysql --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql
Attention à bien préciser les divers répertoires où sont les fichiers ''include'', ''lib'' et ''bin''.
Si gem ne les trouve pas, on a une erreur du style :
/usr/local/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
enfin, si vous ne voyez pas mysql dans le répertoire ''include'', il faut installer mysql-devel :
yum install mysql-devel.i386
====== Tester Rails ======
Un [[http://guides.rubyonrails.org/getting_started_with_rails.html | tutoriel]] pour commencer.
Attention, pour visualiser votre page, aller sur ''http:/ /localhost:3000'' et non ''https:/ /localhost:3000''
ce qui pourrait générer une erreur ''ssl_error_rx_record_too_long''
====== SME et le service rail ======
* definir un domaine pour autoriser les connexions ex: rails.monsite.org
* avoir installer et lancer la configuration du service dans /opt/rails
* ecrire un template pour pointer sur /opt/rails
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
echo "
# rubbyonrail
ServerName cartes.du-libre.org:80
DocumentRoot /opt/osm/cartes/public
Order allow,deny
Allow from all
" > /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/79rails
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart
======SME et le module apache======
http://articles.slicehost.com/2009/4/7/centos-mod_rails-installation
http://forums.ixus.net/viewtopic.php?f=19&t=32812&start=0
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
echo "
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apa
che2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/bin/ruby
> /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule80mod_ruby