Installer Webistrano avec nginx et PostgreSQL sous Gentoo

Webistrano est une application Web développée en Ruby On Rails permettant le déploiement automatisé de vos applications, qu’elles soient Web ou non. Ainsi, via le front-end Web, vous n’aurez qu’à appuyer sur un bouton pour que Webistrano récupère vos sources depuis un dépôt (svn, git, …) et depuis un répertoire et le déploie sur votre ferme de serveurs, en lançant par exemple les différents tests que vous aurez effectués. Si une erreur apparaît, Webistrano annule tous les changements et laisse l’application fonctionnelle comme elle l’était.

Pour installer Webistrano, vous avez besoin de Ruby On Rails, d’un serveur Web et d’une base de données. Je vais utiliser nginx comme serveur Web et PostgreSQL comme base de données. Je ne vais pas vous expliquer comment installer nginx et PostgreSQL, il y a déjà de très bons articles qui vous l’expliquent.

Installation du Ruby On Rails

Pour installer Ruby On Rails sur Gentoo, rien de plus simple, installer rudy puis le gem rails :

Configuration de la base de données

Nous allons créer une nouvelle base de données pour Webistrano, ainsi qu’un nouvel utilisateur:

Téléchargement et configuration du Webistrano

On va télécharger le tarball de la dernière version de Webistrano depuis le dépôt GitHub et décompressez le à l’endroit que vous souhaitez. Ici, le chemin de Webistrano sera /home/www/webistrano/.

Ensuite, nous allons configurer Webistrano en éditant les fichiers de configuration mais avant il faut les créer à partir des modèles fournis:

Éditez donc le fichier /home/www/webistrano/config/webistrano_config.rb comme vous le souhaitez, notamment en ce qui concerne les adresses mail d’émission et de réception, ainsi que les paramètres SMTP.

Ensuite, éditez les paramètres de connexion à la base de données dans le fichier /home/www/webistrano/config/database.yml. Voici mon fichier de configuration pour utiliser PostgreSQL:

Complétez la base de données de PostgreSQL nécessaire à Webistrano grâce à l’outil rake:

Il est possible que vous ayez à mettre à jour rake:

Personnellement, j’ai eu une erreur avec rake me disant qu’il fallait installer le gem activerecord-postgresql-adapter. Même en installant le gem pg, postgres ou postgres-pr, rien ne changeait. En ajoutant gem "pg" dans le fichier Gemfile et en lançant bundle install, ça a marché!

Configuration de nginx

Pour faire fonctionner l’application Ruby On Rails avec nginx, nous allons utiliser le gem thin. Pour cela, il vous suffit de l’installer, comme vous pourrez le lire dans cet article.

Créez un fichier /etc/thin/webistrano.yml, dans lequel vous mettez ceci:

Créez la configuration de votre domaine pour nginx, afin d’utiliser les 4 sockets unix de thin. Voici un fichier de configuration pour le nom de domaine webistrano.example.com avec la configuration de thin ci-dessus.

Il suffit maintenant de redemarrer thin et nginx pour prendre en compte toutes ces modifications:

Vous pouvez maintenant accéder à Webistrano à l’adresse choisie (dans l’exemple, webistrano.example.com) avec les identifiants par défaut qui sont admin et admin.

facebooktwittergoogle_plusredditpinterestlinkedinmail

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">