configuration

Installer ruby on rails sur fedora 11

logo rails ruby rubygems

Ceci est un cas d’école qui reproduit une situation rencontrée en prod. Comme toujours, à lire en entier avant de modifier votre système :)

Télécharger les sources ruby à la bonne version (1.8.7 mini pour le support de Rails) :
[bash]wget ftp://ftp.ruby-lang.org//pub/ruby/ruby-1.8.7-p334.tar.gz[/bash]

Décompresser :
[bash]tar xvzf ruby-1.8.7-p334.tar.gz[/bash]

Entrer dans le dossier :
[bash]cd ruby-1.8.7-p334[/bash]

Configurer :
[bash]./configure[/bash]

Compiler :
[bash]make[/bash]

tester :
[bash]make test[/bash]

installer :
[bash]make install[/bash]

Voilà, l’interpréteur RUBY est installé sur le système. On va maintenant installer « RubyGems », le gestionnaire de packages.

RubyGems est une plateforme gestionnaire de paquets pour Ruby (comme apt pour ubuntu ou yum pour fedora/centos/redhat).

Télécharger les sources à la dernière version :
[bash]wget http://production.cf.rubygems.org/rubygems/rubygems-1.6.0.tgz[/bash]

Décompresser :
[bash]tar xvzf rubygems-1.6.0.tgz[/bash]

Entrer dans le dossier :
[bash]cd rubygems-1.6.0[/bash]

On lance l’install en Ruby :
[bash]ruby setup.rb[/bash]

Gem est installé ! On continue et on install rails grâce à gem :
[bash]gem install rails –include-dependencies[/bash]
(si il y a une erreur sur la documentation de ri, on relance, si ça persiste on ignore, vous devez avoir le message « Successfully installed rails-3.0.5 »).

Rails est maintenant installé. On va s’occuper d’installer « Passenger », qui est le module apache permettant de publier les applications utilisant Rubyonrails (et de les interpréter par la même occasion!).

Nous allons utiliser gem tout juste installé pour paramétrer « passenger » :
[bash]gem install passenger[/bash]

Puis on allons installer le module apache « passenger » :
[bash]passenger-install-apache2-module[/bash]

Si il manque des éléments il suffit de suivre les instructions (j’ai fait un ctrl+c pour interrompre et installer les manquants, puis relancé) ! L’installateur vous guide et est extrêmement bien fait! Pour ma part j’ai du installer ces quelques packages manquants (ça peut être différent selon ce qui est présent ou non sur votre système) :
[bash]yum install gcc-c++ curl-devel zlib-devel httpd-devel apr-devel apr-util-devel[/bash]

Après ça, l’installateur m’indique de copier les lignes suivantes dans ma configuration apache :
[bash] LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.4/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.4
PassengerRuby /usr/local/bin/ruby
[/bash]

J’ai donc créé un fichier rubyonrails.conf dans /etc/httpd/conf.d/ contenant ces lignes, et relancé apache.

Pour finir l’installateur me donne un exemple de configuration pour déployer une application rubyonrails :
[bash]
——————————————–
Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:

<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <– be sure to point to ‘public’!
<Directory /somewhere/public>
AllowOverride all # <– relax Apache security settings
Options -MultiViews # <– MultiViews must be turned off
</Directory>
</VirtualHost>
[/bash]

C’est clair et net, rien à dire, votre installation est terminée, vous pouvez maintenant déployer une application !
Évidemment vous l’aurez compris, j’avais déjà ici une installation de apache 2 fonctionnelle (LAMP pour être exact). Sur ce type d’installation vous pouvez vérifier la prise en charge du module « passenger » en créant une fichier php dans un site géré par votre serveur apache, contenant la commande phpinfo.
[bash]
<?php
phpinfo();
?>
[/bash]

En appelant la page php qui contient ce code, dans la rubrique « Loaded Modules » de « apache2handler » vous devriez trouver « mod_passenger ».

Sources :
http://www.ruby-lang.org/fr/
http://rubyonrails.org/download
http://rubygems.org/
http://yken.org/2008/10/18/ruby-rails-and-httpd-on-fedora-8/
http://www.modrails.com/

Loading

Tags: , , , , , , ,

vim – editeur texte puissant en console sous linux ubuntu fedora debian etc.

Capture vim en editant du htmlPour ceux qui administrent des serveurs en SSH, vim est un éditeur connu, tout comme nano ou emacs.

Dans ce post je vous présente l’utilisation basique de vim, un éditeur très puissant.

Mais présentement, nous allons voir l’essentiel, ouvrir un fichier, rechercher un texte, modifier un caractère, insérer du texte etc.

Vim n’est pas toujours installé par défaut sur toutes les distributions. Vous devrez éventuellement l’installer.
Sous ubuntu en console (ou terminal):
[bash]sudo apt-get install vim[/bash]
Sous Fedora en root en console (ou terminal):
[bash]yum install vim[/bash]

Une fois installé, vous voilà prêt à éditer tout type de fichier, ou a en créer.
Voici une liste des commandes de base :
vim = lancer vim
vim nom_de_fichier = ouvrir le fichier nom_de_fichier avec vim
vim nom_de_fichier +134 = ouvrir le fichier nom_de_fichier avec vim à la ligne 134

Une fois lancé, vous pouvez de base vous déplacer dans le fichier avec les flèches du clavier, ou encore avec les touches « page up » et « page down ».

Pour éditer le texte vous devez passer en mode « édition », en tapant simplement sur la touche « i » (pour insertion). A partir de là, tout ce que vous tapez sera inséré.
Pour quitter le mode insertion, appuyez une fois sur « echap ».

Vous pouvez maintenant quitter en sauvant la modification en tapant sur la touche « echap », puis « : », puis « wq » et « entrée ».
La pression sur la touche « échap » vous place en mode « action » et vous permet de passer une commande. les actions sont :
i = mode insertion (ne nécessite pas de valider par « entrée »)
w = sauvegarder, ecrire le fichier
q = quitter
q! = quitter en abandonnant les modifications
w! = sauvegarder même si le fichier est verrouillé.
x = supprimer le caractère sous le curseur
dd = supprimer la ligne sous le curseur
G (shift + g) = aller a la fin du fichier
/chaine = rechercher dans le fichier la chaine « chaine »
n = chercher l’occurrence suivante de la chaine recherchée (ne nécessite pas de valider par « entrée »).

Voilà pour les commandes de base. Le plus souvent voila les commandes que je tape :
[code]vim mon_fichier.txt (entrée)
/machaine (entrée)
i (mode insertion)
Je tape ce que je veux ajouter
echap
:
wq (entrée)[/code]

Vim comporte des options plus évoluées qu’il serait difficile de décrire en intégralité, par exemple, on peut rechercher et remplacer une chaine automatiquement avec la commande suivante :
[code]:%s/foo/bar/g[/code]
Recherche toutes les occurrences de « foo » et la remplace par « bar ».

[code]:%s/foo/bar/gc[/code]
La même chose avec demande de confirmation avant chaque remplacement.

Plus d’informations ici : http://vim.wikia.com/wiki/Search_and_replace

C’est tout pour ce petit tour très basique sur l’utilisation de vim, mais sachez que vim peut fonctionner en client/serveur, supporte les expressions régulières (ou rationnelles) dans les commandes, supporte la coloration syntaxique de la plupart des langages connus etc.

Pour avoir une formation sous forme de tutoriel, il vous suffit de taper dans votre console :
[bash]vimtutor[/bash]

Avec un peu d’habitude, vim deviendra votre compagnon indispensable, et vous permettra de gérer la plupart de vos interventions sur des fichiers éditable en quelques secondes (fichiers de configuration, html, php, et tout autre script).

Loading

Tags: , , , , , , , , ,

vendredi, novembre 26th, 2010 Bash, GNU - Linux, Reseau, Technologie Aucun commentaire