WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:adh5:installer_local

Installer ADH5 en local

Le tutorial ci-dessous présente l'installation en local d'ADH5 sur un système GNU/Linux Debian Wheezy amd64.

Permissions et packages

C'est plus facile d'installer ADH5 si vous utilisez sudo. Sur certains systèmes comme Ubuntu ou Mac OS X, vous utilisez déjà sudo. Sur Debian,

  # apt-get install sudo
  # usermod -aG sudo myuser

Vous aurez aussi besoin d'installer les packages ci-dessous.

  # apt-get install git curl libxslt-dev libxml2-dev sqlite3 sqlite3 libsqlite3-dev libmysqlclient-dev libqt4-dev

Puis sur Debian :

  # apt-get install libmagickwand-dev

Sur Ubuntu :

  $ sudo apt-get install libmagick++-dev libmagickcore-dev 

Récupérer le code source

Le code source se trouve sur le GitLab MiNET. Il faudra a priori vous accorder les droits sur le projet afin de pouvoir travailler dessus.

Installer RVM

RVM permet de gérer son environnement ruby. Vous pouvez par exemple avoir plusieurs versions de ruby. C'est un peu l'équivalent des virtualenv python mais en mieux :D.

Je vous incite fortement à installer RVM car vous avez sûrement des programmes qui utilisent une autre version de ruby déjà installés sur votre système (même si vous ne le savez pas toujours). ADH5 a de fortes chances d'utiliser une autre version.

Pour installer RVM, les instructions à jour sont disponibles sur le site web officiel. Pour Debian, à l'heure ou j'écris cette page, voici comment installer rvm + dernière version stable de ruby.

  $ curl -L https://get.rvm.io | bash -s stable --ruby

Vous devez lancer RVM dans les terminaux qui vont utiliser ruby. Pour cela 2 solutions :

  • Configurer uniquement la session courante (à la export) source .rvm/bin/rvm pour bash ou zsh.
  • Modifier votre .bashrc ou autre pour y mettre la commande ci-dessus afin d'appliquer le changement automatiquement.

Vous pouvez vérifier que vous avez bien la dernière version stable de ruby chargée.

  $ ruby -v
  

Remarque, ADH5 n'utilise plus la dernière version mais la 2.0 Pour l'installer, utiliser les commandes suivantes :

  • rvm install ruby-2.0
  • cd /chemin/vers/votre/depot/adh5
  • rvm use ruby-2.0
  • rvm gemset create adh5
  • rvm use 2.0@adh5
  • ruby -v

Remarque: La dernière commande permet de charger automatiquement la bonne version de ruby à chaque fois que vous êtes dans le dossier /chemin/vers/votre/depot/adh5

Configurer adh5

  $ cd adh5/frontend
  $ bundle # installation des dépendences ruby appelées gem

Exécutez maintenant les migrations (installation du schéma de db) et les seeds (données initiales dans la base de données)

  $ rake db:setup

Lancer le frontend

  $ cd frontend
  $ rails server

Rails vous donnera alors l'URL à utiliser pour accéder l'interface. Note : Par défault, ADH5 bind l'IP local, si vous utilisez par exemple une VM vous avez peut-être envie de spécifier l'IP à binder, pour ce faire rails server -b monip.

C'est bien beau mais maintenant il faut se créer un compte admin (il y a déjà l'utilisateur test avec le mot de passe test, mais vous pouvez créer votre propre utilisateur) :

  $ rails console
  > u = Utilisateur.new(nom: 'Test', access: 1340, email: 'test@minet.net', login: 'test', password_hash: "test".to_sha1)
  > u.save

Vous devriez maintenant pouvoir vous connecter et avoir accès à tout avec le login test et mot de passe test. Par défaut, nous n'avons pas de données mais vous pouvez demander au président actuel la base de données de dev ou vous pouvez ajouter des adhérents si vous voulez. Attention à ne pas ajouter de switchs ou ports afin de ne pas perturber le service en production.

Lancer le portail

  $ cd portail
  $ rails server

Lancer l'API

ADH5 possède une API RESTful utilisée par les serveurs dhcp et radius pour obtenir des informations essentielles à partir d'adh5 via HTTP (et non directement à partir de la base de données).

Avant, on utilisait aussi l'API pour le serveur DNS afin de donner des entrées reverse DNS à nos adhérents, mais nous n'utilisons plus cette fonctionnalité.

  $ cd api
  $ ruby boot.rb

Que faire si cette page n'est plus à jour ?

Allez sur l'interface jenkins (derrière le vpn, vous aurez aussi besoin d'un compte sur jenkins) et regardez les paramètres des tâches pour déployer les versions de dév et de prod.

wiki/services/adh5/installer_local.txt · Dernière modification: 2019/06/19 16:26 par gabery