-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Source : http://democracyos.eu Source : http://democracyos.eu/docs-fr/doc/2016/09/22/installation.html#installation Contacter DemocracyOS avec le mail [email protected]
Question : https://github.com/DemocracyOS/democracyos/issues/1468#issuecomment-344602204 Solution : https://github.com/DemocracyOS/onpremises
Installer Ansible 2.1.0.0 ou supérieur. La source PPA pour Debian 9 Stretch est la même que pour Ubuntu.
Dans /etc/apt/sources.list
, ajouter la ligne suivante :
deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main
==Ajouter la clé== $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Le message d'erreur suivant est affiché : Executing: /tmp/apt-key-gpghome.cEEKTiql4h/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 gpg: failed to start the dirmngr '/usr/bin/dirmngr': Aucun fichier ou dossier de ce type gpg: connecting dirmngr at '/tmp/apt-key-gpghome.cEEKTiql4h/S.dirmngr' failed: Aucun fichier ou dossier de ce type gpg: keyserver receive failed: Pas de dirmngr
Le paquet dirmngr n'est pas installé par défaut.
Installer dirmngr avec la commande apt install dirmngr
Relancer l'ajout de la clé avec la commande sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Mettre à jour les dépôts. $ sudo apt-get update
Installer Ansible $ sudo apt-get install ansible
==Cloner le repo et indiquer les roles nécessaires== ansible-galaxy install -p ./roles -r ./requirements.yml
===Consulter les tutoriels suivants pour comprendre cette commande=== => https://galaxy.ansible.com => Les rôles disponibles : https://galaxy.ansible.com/list#/roles
=> http://docs.ansible.com/ansible/latest/galaxy.html => http://docs.ansible.com/ansible/latest/playbooks.html => http://docs.ansible.com/ansible/latest/playbooks_reuse.html
=> Lire aussi : http://docs.ansible.com/ansible/latest/galaxy.html#the-website => Tutoriel complémentaire pour installer ansible : https://www.abyssproject.net/2016/08/installation-de-ansible-raspbian-debian/
Voir si la commande suivante apporte des informations complémentaires man ansible pour plus d'informations sur le paramètre -p ./roles
===Lancer le clonage=== ====Créer le fichier requirements.yml dans le dossier user==== =====Fichier requirements.yml=====
- src: yatesr.timezone
#- src: https://github.com/bennojoy/nginx
##- src: https://some.webserver.example.com/files/master.tar.gz
##- src: git+http://bitbucket.org/willthames/git-ansible-galaxy
##- src: http://bitbucket.org/willthames/hg-ansible-galaxy
Source officielle du fichier de requirements.yml : https://galaxy.ansible.com/intro#download-advanced
====Cloner pour installer ansible-galaxy==== su apt install git
su ansible-galaxy install -p ./roles -r ./requirements.yml
=====Warning===== Pour éviter le warning avec le fichier de test, installer git avant de lancer l'installation de ansible-galaxy. [WARNING]: - nginx was NOT installed successfully: error executing: git clone https://github.com/bennojoy/nginx nginx Installer git
Pour éviter le warning avec le fichier de test, commenter les lignes comme dans l'exemple. [WARNING]: - http-role was NOT installed successfully. Préciser l'adresse du fichier tar.gz contenant les rôles, ou, commenter la ligne comme dans l'exemple du fichier requirements.yml ci-dessus.
==Installer le client SSH== apt install openssh-client
===Créer votre première Droplet DigitalOcean=== Les serveurs cloud de DigitalOcean sont appelés Droplets. Chaque Droplet créé est un nouveau serveur pour votre usage personnel.
====Étape 1 - Connexion à Cloud DigitalOcean==== Pour suivre ce tutoriel, il faut un compte DigitalOcean valide. Utiliser la page d'inscription de DigitalOcean si vous n'avez pas encore de compte : https://cloud.digitalocean.com/registrations/new Une fois le mail de confirmation reçu et validé, vous devez ajouter une carte bancaire comme moyen de paiement. Le Droplet peut alors être créé depuis le lien suivant : https://cloud.digitalocean.com/droplets/new
Les valeurs par défaut les plus courantes sont présélectionnées mais vous pouvez personnaliser les options du Droplet selon vos besoins.
=====Choix pour une image===== L'image Ubuntu 16.04.3 x64 bits est sélectionnée par défaut. Pour changer de version ou d'architecture, comme Debian ou CentOS, cliquer sur la flèche vers le bas et effectuer une sélection dans la liste. Je ne conserve pas la version Ubuntu proposée par le tutoriel d'origine mais utilise la version Debian 9.3 x64 bits.
Une fois que vous avez commencé à utiliser votre Droplet, vous pouvez effectuer des sauvegardes ou prendre des instantanés. Deux onglets sont ajoutés à la page Créer un Droplet.
Les sauvegardes sont automatiques ou hebdomadaires. Les instantanés sont des sauvegardes à la demande. Les sauvegardes et les instantanés peuvent servir de base pour créer de nouveaux Droplets.
=====Choix pour la RAM et le stockage===== Je prend la première offre, la moins cher, pour tester DemocracyOS.
=====Choix pour le stockage en bloc===== Les volumes sont des ressources indépendantes qui peuvent être déplacées d'un Droplet à un autre dans le même centre de données. Tutoriel pour le stockage de bloc : https://www.digitalocean.com/community/tutorials/how-to-use-block-storage-on-digitalocean Nous n'allons pas ajouter Block Storage pour le moment.
=====Choix de la région du serveur===== Pour obtenir les meilleures performances, choisir le serveur le plus proche de vous et de vos utilisateurs. Des emplacements de serveur plus éloignés peuvent augmenter la latence du serveur sans apporter d'avantages.
Si nous avions sélectionné Stockage en bloc, certaines régions seraient grisées.
Ici je sélectionne le serveur de Frankfort.
=====Choix des options===== La mise en réseau privée active une interface réseau supplémentaire accessible uniquement par d'autres droplets dans le même centre de données. Cela peut être utile pour empêcher le trafic entre Droplets d'être acheminé hors du centre de données sur Internet. Le réseautage privé est fourni sans frais supplémentaires.
Les sauvegardes permettent des sauvegardes automatiques du Droplet. Les sauvegardes coûtent environ 20% du prix mensuel du Droplet.
IPv6 active l'accès IPv6 pour votre Droplet. IPv6 est fournie sans frais supplémentaires.
Les données utilisateur vous permettent de transmettre des données arbitraires dans la clé de données utilisateur du service de métadonnées DigitalOcean. Ce paramètre est requis pour les droplets CoreOS. Les données utilisateur sont fournies sans frais supplémentaires.
La surveillance ajoute l'agent DigitalOcean pour collecter des métriques étendues et créer des stratégies d'alerte. La surveillance est fournie sans frais supplémentaires.
Dans cet exemple, j'ajoute simplement l'option de surveillance ( Monitoring ).
=====Choix des clés SSH===== Facultatif. Voir le tutoriel de Digital Océan pour la création et la gestion d'une clé SSH : https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets ======Créer une clé SSH======
ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zencool/.ssh/id_rsa): /home/zencool/.ssh/id_rsa/DropletDigitalOcean
Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zencool/.ssh/id_rsa/DropletDigitalOcean. Your public key has been saved in /home/zencool/.ssh/id_rsa/DropletDigitalOcean.pub. The key fingerprint is: SHA256:TzTV6l6VVcGw59IpwB7WouNHqInGO4EO6XlkolNzcQA zencool@debian The key's randomart image is: +---[RSA 4096]----+ | E. .oo.+| | . ... o..| | . o* + .o| | . . .=.= +.o| | . .o S+.+ o = | | +o+o.. +oo . + | |o.Bo +.o ..o . | |oo o... . . | | .. .. | +----[SHA256]-----+
Lire et afficher la clé publique avec la commande suivante ou directement en ouvrant le fichier .pub depuis un bloc notes.
cat /home/user/.ssh/id_rsa
cat /home/zencool/.ssh/id_rsa/DropletDigitalOcean.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5TRoYeqjfqW3+Es1t72vrQkK8ir3/hU8aNrp3sWGBZ8WJPIdpORG6i5Ke7y7yXCqsdRn9qoOM5zZcdmAoMqIc4XUsxwkAOz2cd2QXqzHf6QDJRSK4bg6RoIuhLE4GvWe6YNbuLaH56gw1uUlEH8SQFn7rEgiK1B01wTIUdfDMkZughzH1F5ou7axdKJ8/XjP+zQwg0r+xi4bRwdbvoLmmMm/CKGsqvA5NP/OALvcp2aNonvRZLvjb7ryZtVCeYkjcmlLm93tLsdMY42fQ36bD/4QfHtoVqb76XBxT1lQMf39tWg4441tyDy4XzHiST06GhbrbBw0lVymp4a37ZmRuMJ2tHy5L1RvJ7Maa8F5gzQ6NFea8N0r18uStPz4+qjD7i0ZPmxFMYwgsoFCHuITdU6cmXBeYQQARwqFj741RErBIK7SUC64X4AT/ZrdH2KNo8o7Ma+Cn7CmqIsMt9PZYbxvbmcyPkTNzsqgYTFGGEfS1dDgJxo6Ayined1kBMH4PuSGjOIrxGZD+KE1f3Q8+4XZr3PBWC4BfrDj3OW/AJzGF8XuysxRorDJ8VN2lPor2uEYaqDp38Rg+ZDa0TBIaovUjSodOUV3OF5ER0SxCxy23Vzy0s8hwR60/xseIlffDkl+Mk3IgHqtzulITWX4tDqUREYWBXIz3QD2+1z1m5Q== zencool@debian
=====Finalisation et création du Droplet===== La section Finaliser et créer de la page Créer vous permet de choisir le numéro et le nom du Droplet créé.
Par défaut, un seul Droplet sera créé. Ajuster le nombre de Droplets en cliquant sur les boutons plus "+" ou moins "-".
Chaque Droplet doit avoir un nom. Ces noms sont utilisés dans le panneau de configuration DigitalOcean et en tant que nom d'hôte du serveur. Un nom par défaut est fourni en fonction des options que vous avez sélectionnées, mais, vous pouvez modifier le nom en fonction de vos besoins. Par exemple, vous pouvez utiliser un nom de domaine complet, par exemple droplet1.exemple.com.
Nous allons accepter le nom par défaut, debian-512mb-fra1-01. Il combine le nom de la distribution, la taille, le centre de données et un nombre qui le différencie des autres lorsque plusieurs Droplets sont créées à la fois.
Créer le Droplet. Une barre de progression affiche la progression de la création du Droplet.
=====Paramètres du Droplet créé===== Lorsque la configuration est terminée à 100%, l'adresse IP de votre Droplet sera affichée. Vous pouvez vous connecter.
=====Connexion au Droplet=====
Adresse ip du serveur Digital Ocean: 46.101.255.59
Si vous avez ajouté des clés SSH, vous pouvez utiliser SSH pour vous connecter au serveur et vous connecter en tant qu'utilisateur root. Sinon, le mot de passe root sera envoyé à l'adresse e-mail de votre compte.
Se connecter sur le serveur distant. ssh [email protected]
Valider avec Oui lorsque l'invite vous demande si vous souhaitez vous connecter à l'hôte.
Si vous utilisez des clés SSH, vous serez immédiatement connecté au serveur. Si vous n'utilisez pas les clés SSH, un mot de passe vous sera demandé. Entrez le mot de passe root qui vous a été envoyé lorsque vous avez créé le serveur, puis appuyez sur ENTER. Notez que le mot de passe ne sera pas visible à l'écran lorsque vous tapez pour des raisons de sécurité.
Vous devriez maintenant être connecté à votre premier Droplet DigitalOcean.
=====Conclusion===== Une fois que vous avez créé votre Droplet et que vous vous êtes connecté, vous pouvez commencer à le configurer. Clé SSH avec un Utiliser_des_commandes_shell_avec_le_terminal#Ajouter_le_droit_sudoers_pour_un_utilisateur.
Source du tutoriel pour la création d'un Droplet : https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet
===Vérifier la connexion avec la clé SSH=== Un Droplet a été créé sur DigitalOcéan pour suivre le tutoriel proposé par DemocracyOS pour son installation. La Machine Virtuelle où DemocracyOS va s'exécuter avec un accès rootdoit pouvoir se connecter au Droplet avec une clé SSH.
Les configurations précédentes ont du nous permettre d'en arriver a une connexion réussie vers le serveur SSH distant avec l'utilisateur sudoers distant toto. ssh [email protected] -i /home/user/.ssh/dossier/id_rsa
L'accès SSH depuis la machine virtuelle Debian Stretch et son utilisateur root vers le Droplet et son utilisateur sudoers est fonctionnel.
===Continuer sur la Machine Virtuelle=== --> En revenir au Github : https://github.com/DemocracyOS/onpremises ====Personnaliser la façon dont l'environnement va fonctionner==== Créer un fichier d'inventaire et un fichier de configuration avec vos variables personnalisées.
Inventory Hosts and Groups Host Variables Group Variables Groups of Groups, and Group Variables Default groups Splitting Out Host and Group Specific Data List of Behavioral Inventory Parameters Non-SSH connection types
En français : http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fdocs.ansible.com%2Fansible%2Flatest%2Fintro_inventory.html&sandbox=1
====Exemple==== Utiliser comme inventories/example et inventories/example.yml.
Les noms de fichiers doivent être les mêmes que votre environnement : inventories/staging and inventories/staging.yml.
[host]
localhost
[host:vars] ENV=example
inventory_env=example
hostDest: /usr/src
democracyos: ORGANIZATION_NAME: 'DemocracyOS Example'
==Lastly, just run with playbook.yml== Lancer alors la commande qui va exécuter toutes les tâches définies sur playbook.yml ansible-playbook playbook.yml -i inventories/
This command is going to execute all the tasks defined at playbook.yml. If you need to know how that works, here's the official docs. https://github.com/DemocracyOS/onpremises/blob/master/playbook.yml http://docs.ansible.com/ansible/latest/playbooks.html
==Gérer la machine virtuelle== Inside your VM, you can run the following commands:
docker pull democracyos/democracyos:latest && docker-compose -f /usr/src/docker-compose.yml restart -d
docker-compose -f /usr/src/docker-compose.yml logs --follow
docker-compose -f /usr/src/docker-compose.yml ps
docker exec -it src_mongo_1 mongo democracyos-staging
docker exec -it src_app_1 bash
docker-compose -f /usr/src/docker-compose.yml scale app=3
==MongoDB Backups== If you're running on staging or production environment, everyday at 23:59 a dump of the entire database will be saved to /usr/src/backups. You can check the file templates/backup.js to see what it does.
=DemocracyOS devient Democracy Earth= File:democracy-earth.png
=Bibliographie= Coté France, l'équipe de Democracy OS n'a pas encore pu tester la version OnPremises / Ansible de DemocracyOS. Leur déploiement est généralement fait manuellement sur serveur Linux ou automatiquement via des services cloud type Heroku.
Pour un support sur OnPremises, utiliser la chaîne Gitter de DemocracyOS : https://gitter.im/DemocracyOS/democracyos
Votre travail effectué sur Vision du web nous intéresse beaucoup et nous serions ravis de suivre l'évolution de cette documentation.
Alain Buchotte Democracy OS France [email protected] 06 12 55 01 71