3101 views
Installer le kit Lokavaluto en moins de 2 heures = Le kit Lokavaluto, issue de la suite opensource JustOdooIt développée par la SCIC [Mycéliandre](https://myceliandre.fr/) avec la participation de la [SCOP Elabore](https://elabore.coop), a été pensé pour être facilement diffusable et installable sur les serveurs des MLCC. Ce tutoriel a pour but de vous faire installer le kit Lokavaluto en moins de 2h, avec : * 1 serveur web hébergeant plusieurs logiciels * 1 serveur mail :::warning **AVERTISSEMENT :** L'association Lokavaluto refute toute responsabilité en cas de pertes de données ou pertes de services sur les serveurs des MLCC suite à l'exécution de ce tutoriel. Ce tutoriel est réalisé en co-construction avec les MLCC parties-prenantes de Lokavaluto, et est amené à s'enrichir avec le temps. ::: :::info **NOTE :** les deux heures annoncées ne prennent pas en compte le potentiel **temps d'attente pour la commande de serveur OVH ou des noms de domaine**, ni le **temps de questions-réponses** potentielles avec l'équipe Lokavaluto. ::: ++**Contexte :**++ * vous êtes une MLCC appelée "**Ma Monnaie**" * vous avez besoin d'outils de gestion de votre structure * gestion des adhérents * gestion de la communication externe * gestion de la comptabilité * discussions instantannées * stockage et partage de document * boites email, listes de diffusion et newsletters * vous n'avez pas beaucoup de budget --- ++**Sommaire :**++ [TOC] --- ## Prise des abonnements OVH Le kit Lokavaluto a d'abord été construit pour fonctionner parfaitement sur des VPS sous Debian 9, 10 ou 11. Cela ne signifie pas qu'il ne peut pas fonctionner sur d'autres types de machines, mais pour une installation rapide, nous conseillons de prendre la configuration d'origine du projet. => [Procédure d'ouverture d'un VPS OVH](https://docs.lokavaluto.fr/ofxKNg8ST4SSryBOrs-qYA?view) ### Dimensionnement du VPS ++**Pour votre serveur Web :**++ * pour une installation d'un petit Odoo seul, l'offre **Value** est suffisante * pour une installation d'un Odoo, un Rocket Chat, un Nextcloud un gogocarto, l'offre **Essential** est l'offre minimum. :::warning **ATTENTION** : l'utilisation de Nextcloud peut pousser à augmenter la taille du VPS assez rapidement. ::: ++**Pour votre serveur Mail :**++ L'offre **Essential** est l'offre minimum. A augmenter en fonction du traffic de mail que vous prévoyez. ### Paramètrage initial de vos serveurs Voici les choix d'installation à prendre : * Choix du système d'exploitation : **Distribution uniquement** * Sélectionnez **Debian**, puis **Version 11** * Choisissez le nombre et l'emplacement de votre serveur (local c'est mieux :wink:) ### Options de l'abonnement ++**Snapshot :**++ vous permet à un instant T de faire une sauvegarde du contenu de votre serveur, dans l'optique de la rétablir plus tard s'il y a des disfonctionnement. Utile si vous n'avez pas l'option **Sauvegarde automatisée**. ++**Stockage supplémentaire :**++ permet de rajouter de la mémoire sur votre VPS. ++**Sauvegarde automatisée :**++ sauvegarde automatique régulière (au moins quotidienne) du contenu de votre serveur. Très pratique en cas d'avarie. Lokavaluto propose des solutions de sauvegardes automatiques aussi, à comparer. :::info *REMARQUE : ces 3 options peuvent être souscrites plus tard.* ::: ### Fin de procédure * Choisissez votre durée de contrat * Renseignez votre identité en créant un compte OVH ou en vous connectant à un compte existant * Payez ### La suite ? Vous allez recevoir plusieurs emails : * la confirmation de la commande * la facture * la confirmation de disponibilité de votre serveur (un par serveur commandé). :::danger **ATTENTION :** ce dernier mail est hautement confidentiel ! Il comporte les **accès root** à votre serveur. Il est à conserver précieusement, et à ne communiquer qu'à des personnes de confiance. Tout détenteur de ces informations devient **super-administrateur** de votre serveur, et **peut faire ce qu'il souhaite.** ::: --- ## Déclaration de vos noms de domaine Une fois vos serveurs commandés, il faut que vous déclariez les noms de domaines que vous souhaitez utiliser pour chacun de vos outils. Voici quelques hébergeurs de noms de domaine que nous connaissons : * [Infomaniak](https://www.infomaniak.com/fr/domaines) * [OVH](https://www.ovh.com/fr/domaines/) * [Gandi](https://www.gandi.net/fr/domain) Pour notre exemple, nous réservons le nom de domaine **mamonnaie.org**. Voici les sous-domaine que nous pouvons vous conseiller de configurer : * pour Odoo : **gestion.mamonnaie.org** ou **mamonnaie.org** si vous voulez héberger votre site web principal sur Odoo * pour Rocketchat : **chat.mamonnaie.org** * pour Nextcloud : **drive.mamonnaie.org** * pour OnlyOffice : **onlyoffice.mamonnaie.org** * pour le serveur mail : **mail.mamonnaie.org** * etc.. laisser libre cours à votre imagination pour les autres outils que vous souhaitez installer. Voici un exemple de configuration Zone DNS à enregistrer pour votre nom de domaine : ``` @ 3600 IN A 1.2.3.4 //IPv4 de votre serveur Web @ 3600 IN MX 10 mail.mamonnaie.org. @ 3600 IN TXT "v=spf1 a mx ~all" _autodiscover._tcp 3600 IN SRV 0 1 443 mail.mamonnaie.org. _caldavs._tcp 3600 IN SRV 0 1 443 mail.mamonnaie.org. _caldavs._tcp 3600 IN TXT "path=/SOGo/dav/" _carddavs._tcp 3600 IN SRV 0 1 443 mail.mamonnaie.org. _carddavs._tcp 3600 IN TXT "path=/SOGo/dav/" _dmarc 3600 IN TXT "v=DMARC1; p=reject; rua=mailto:reject@mamonnaie.org" _imap._tcp 3600 IN SRV 0 1 143 mail.mamonnaie.org. _imaps._tcp 3600 IN SRV 0 1 993 mail.mamonnaie.org. _pop3._tcp 3600 IN SRV 0 1 110 mail.mamonnaie.org. _pop3s._tcp 3600 IN SRV 0 1 995 mail.mamonnaie.org. _sieve._tcp 3600 IN SRV 0 1 4190 mail.mamonnaie.org. _smtps._tcp 3600 IN SRV 0 1 465 mail.mamonnaie.org. _submission._tcp 3600 IN SRV 0 1 587 mail.mamonnaie.org. autoconfig 3600 IN CNAME mail.mamonnaie.org. autodiscover 3600 IN CNAME mail.mamonnaie.org. chat 3600 IN CNAME mamonnaie.org. dkim._domainkey 3600 IN TXT "v=DKIM1; k=rsa; t=s; s=email; p=..." // à rajouter plus tard drive 3600 IN CNAME mamonnaie.org. mail 3600 IN A 10.11.12.13 //IPv4 de votre serveur Mail onlyoffice 3600 IN CNAME mamonnaie.org. www 3600 IN A 1.2.3.4 //IPv4 de votre serveur Web www 3600 IN AAAA 1234:56a7:891:0111::12bc1 //IPv6 de votre serveur Web ``` :::warning **VIGILANCE :** Chaque ligne de cette configuration a un sens, nous vous conseillons de ne pas la copier/coller sans en comprendre un minimum ou demander conseil. ::: Après un peu d'attente (en général moins de 2h), vous pouvez vérifier que vos domaines et sous-domaines sont bien enregistrés et diffusés : * en effectuant la commande suivante depuis un terminal, **vous devez retrouver votre adresse IPv4 dans la réponse**. Si c'est le cas, vous pouvez passer à l'étape suivante. ``` ping mamonnaie.org ``` * avec le site https://dnschecker.org qui indique la propagation de la configuration DNS --- ## Installation des logiciels ### Installation de la suite JustOdooIt Pour la suite du tutoriel d'installation du serveur Web, nous considérons que vous avez correctement paramétré vos noms de domaines. :::info Ne vous inquiétez pas : votre serveur est actuellement vide. Si jamais il y a un soucis à l'installation, ou que vous avez bidouillé sans trop comprendre et cassé des processus, on peut faire un **reset** du serveur depuis OVH, donc vous ne risquez rien :wink:. ::: **1-** Connectez-vous en SSH à votre serveur Web : ``` ssh debian@mamonnaie.org ``` Le mot de passe demandé est le mot de passe reçu dans le dernier email d'OVH (celui ultra-confidentiel). **2-** Passez en mode *Super User* ``` sudo -i ``` **3-** Télécharger les scripts d'installation des logiciels : ``` wget https://justodooit.myceliandre.fr/r/deploy -qO - | bash ``` **4-** Une fois l'installation terminée, allez modifier le fichier d'installation des logiciels : ``` cd /opt/apps/myc-deploy vim compose.yml ``` Là le fichier ```compose.yml``` va s'ouvrir. C'est dans ce fichier que vous allez indiquer les logiciels que vous souhaitez installer sur votre serveur. En voici un exemple commenté : ```script # Pour installer Odoo odoo: charm: odoo-tecnativa docker-compose: command: #- "--dev=xml,qweb,werkzeug,reload" - "--log-level=debug" - "--limit-time-cpu=500" - "--limit-time-real=500" - "--limit-memory-soft=25273917440" - "--limit-memory-hard=25273917440" # Nous utilisons la version 12 de Odoo pour l'instant chez Lokavaluto image: docker.0k.io/mirror/odoo:rc_12.0-MYC-INIT-3.7 options: workers: 4 relations: web-proxy: frontend: domain: mamonnaie.org server-aliases: - www.mamonnaie.org - gestion.mamonnaie.org # Si on veut qu'une 2eme adresse mène à Odoo frontend: charm: apache relations: cert-provider: letsencrypt letsencrypt: options: email: webmaster@mamonnaie.org # Indiquer une de vos adresses mail logrotate: # Pour installer Rocket chat rocketchat: relations: web-proxy: frontend: domain: chat.mamonnaie.org # Pour installer Nextcloud nextcloud: options: admin: # Identifiants du compte admin de Nextcloud, vous pourrez changer le mot de passe ensuite depuis le logiciel. # Ne pas mettre de caractères spéciaux ! user: admin password: PASSTOCHANGE relations: web-proxy: frontend: domain: drive.mamonnaie.org # Pour installer Only Office onlyoffice: relations: web-proxy: frontend: domain: docs.mamonnaie.org # Pour installer Gogocarto gogocarto: options: admin-password: admin relations: publish-dir: frontend: domain: carte.mamonnaie.org ``` :::warning **POINT D'ATTENTION** : soyez vigilant avec les indentations entre les lignes : * ne **pas** utiliser les tabulations * **seulement 2 espaces** de différences entre des paramètres parents et enfants * les paramètres de même niveau doivent bien être **indentés de la même manière** ::: :::danger **POINT SECURITE** Si vous installez un Nextcloud, n'oubliez pas de **changer le mot de passe admin depuis l'interfacee graphique.** Sinon votre mot de passe reste lisible en clair pour n'importe quel utilisateur connecté à votre serveur. ::: **5-** Une fois le fichier `compose.yml` écrit comme vous le souhaitez, lancez la commande d'installation des logiciels : ``` compose --debug up ``` :::danger **ERROR** Si vous avez un message d'erreur : * relisez bien votre fichier compose.yml : une simple erreur d'indentation fait échouer l'installation * si malgré vos intenses vérifications, cela ne fonctionne toujours pas, **pas de panique**, il n'y a rien de grave, et allez demander de l'aide à l'équipe Lokavaluto :wink:. ::: :::success **SUCCESS** Si l'affichage fini avec uniquement des lignes "OK" et "Done", l'installation est un succès. Attendez 2 minutes le temps que les logiciels et bases de données se lancent, puis rendez-vous sur vos outils via vos URLs. Amusez-vous bien :smile: ! ::: :::info **Remarque :** voici les identifiants pour la première connexion à Odoo : * login : *admin* * mot de passe : *admin* ::: ### Installation du serveur mail Le serveur mail de l'équipe Lokavaluto est un serveur Mailcow, avec le client mail SoGo : * Mailcow : https://github.com/mailcow/mailcow-dockerized/ * Sogo : https://sogo.nu/ Pour la suite du tutoriel d'installation du serveur mail, nous considérons que vous avec correctement paramétré vos noms de domaines. Pour aller plus dans les détails, c'est par [ici](https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/). :::info Ne vous inquiétez pas : votre serveur est actuellement vide. Si jamais il y a un soucis à l'installation, ou que vous avez bidouillé sans trop comprendre et cassé des processus, on peut faire un **reset** du serveur depuis OVH, donc vous ne risquez rien :wink:. ::: **1-** Connectez-vous en SSH à votre serveur Web : ``` ssh debian@mail.mamonnaie.org ``` Le mot de passe demandé est le mot de passe reçu dans le dernier email d'OVH (celui ultra-confidentiel). **2-** Passez en mode *Super User* : ``` sudo -i ``` **3-** Installez Git et Curl : ``` apt install git && apt install curl ``` **4-** Installez Docker : ``` curl -sSL https://get.docker.com/ | CHANNEL=stable sh ``` et activez le service Docker : ``` systemctl enable docker.service && systemctl start docker.service ``` **5-** Installez Docker compose : ``` LATEST=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/docker/compose/releases/latest) && LATEST=${LATEST##*/} && curl -L https://github.com/docker/compose/releases/download/$LATEST/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose ``` et faites une petite modification sur les droits d'accès au répertoire ```/usr/local/bin/docker-compose``` : ``` chmod +x /usr/local/bin/docker-compose ``` **6-** Clonez le répertoire de code de Mailcow (entrez ces lignes au fur et à mesure, avec ENTRÉE entre chacune d'elle) : ``` su cd /opt git clone https://github.com/mailcow/mailcow-dockerized cd mailcow-dockerized ``` **7-** Générez le fichier de configuration de Mailcow : ``` ./generate_config.sh ``` Durant le déroulé du script, on vous posera 2 questions : * quel est le nom de domaine du serveur : entrez ***mail.mamonnaie.org*** puis ENTRÉE * quelle est votre créneau horaire : entrez ***Europe/Paris*** puis ENTRÉE **8-** Mettez à jour l'image et lancez l'installation : ``` docker-compose pull && docker-compose up -d ``` :::danger **ERROR** Si vous avez un message d'erreur : **pas de panique**, il n'y a rien de grave, retentez une nouvelle fois la procédure, au cas où vous auriez loupé une étape, et si cela ne fonctionne toujours pas, allez demander de l'aide à l'équipe Lokavaluto :wink:. ::: :::success **SUCCESS** Si l'affichage fini avec uniquement des lignes "OK" et "Done", l'installation est un succès. Attendez 2 minutes le temps que les logiciels et bases de données se lancent, puis rendez-vous sur vos outils via vos URLs. Amusez-vous bien :smile: ! ::: --- ## Et maintenant ? Félicitations !! Vous avez installé vos serveurs et vos logiciels ! Cependant vos logiciels sont toujours des coquilles vide. Il va s'agir maintenant de les configurer, puis d'y donner accès à vos collaborateurs. Mais ceci fera l'objet d'autres tutoriels... :wink: * E-learning Odoo Entreprise (très proche de la version Community proposée par Lokavaluto) : https://www.odoo.com/fr_FR/slides * Documentation officielle Nextcloud : https://docs.nextcloud.com/ * Documentation officielle Rocketchat : https://docs.rocket.chat/ * Documentation officielle Mailcow : https://mailcow.github.io/mailcow-dockerized-docs/ * Tutoriels Lokavaluto : https://lokavaluto.fr/documentation --- ## Supportez-nous ! :::warning Ce qui suit est important, et participe à la qualité des outils qui vous ont été proposé dans ce tutoriel. Merci de lire jusqu'au bout. ::: Ce tutoriel est mise à disposition gratuitement aux utilisateurs de la suite JustOdooIt. Cependant la maintenance, la documentation et l'évolution des scripts d'installation de cette suite [JustOdooIt](https://justodooit.myceliandre.fr/) est très chronophage. Aujourd'hui elles sont réalisées principalement par la SCIC [Mycéliandre](https://myceliandre.fr/) et la SCOP [Elabore](https://elabore.coop/). Pour participer à cet effort, primordial pour assurer la stabilité et pérennité des outils proposés, **n'hésitez pas à soutenir Mycéliandre et/ou Elabore par un don !** :::info Pour soutenir la maintenance et le développement du script, vous pouvez aider [Mycéliandre](https://myceliandre.fr/) et/ou [Elabore](https://elabore.coop/) à être à l'équilibre en donnant à hauteur de **590,00 €** par installation. Ce montant est indicatif, à vous de juger la valeur de tout ce travail en pleine conscience :wink:. ::: Pour faire un don, vous pouvez contacter au choix : * chez [Mycéliandre](https://myceliandre.fr/) : * [Nicolas Jeudy](mailto:nicolas.jeudy@myceliandre.fr), * [Christine Dornier](mailto:christine.dornier@myceliandre.fr), * [Jean-Christophe Léonard](mailto:jean-christophe.leonard@myceliandre.fr), * [Justin Audino](mailto:justin.audino@myceliandre.fr) * chez [Elabore](https://elabore.coop/) : * [Mathieu Sarrasin](mailto:mathieu.sarrasin@elabore.coop), * [Stéphan Sainléger](mailto:stephan.sainleger@elabore.coop) --- **Merci pour votre attention, et bonne continuation !!**