WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:adh5:installer_local

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:adh5:installer_local [2015/04/07 02:26]
Thithib
wiki:services:adh5:installer_local [2020/06/27 18:16] (Version actuelle)
Ligne 1: Ligne 1:
 +====== 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 [[https://rvm.io/rvm/install|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
 +    
 +<WRAP center round important 90%>
 +
 +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
 +</WRAP>
 +
 +
 +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'[[http://ci.minet.net:8080/|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.