nethserver_201_cahier_02_odoo_12
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
nethserver_201_cahier_02_odoo_12 [2019-10-02 23:37] – michelandre | nethserver_201_cahier_02_odoo_12 [2025-01-12 19:30] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | \\ | ||
+ | [[cours_nethserver_101|{{ Images_Cahier-201-02-000.png? | ||
+ | \\ | ||
+ | ====== Description générale ====== | ||
+ | ===== Introduction ===== | ||
+ | |||
+ | Ce document décrit l' | ||
+ | |||
+ | // | ||
+ | // | ||
+ | // | ||
+ | Référence:// | ||
+ | |||
+ | ==== Le logiciel Odoo ==== | ||
+ | |||
+ | // | ||
+ | |||
+ | Odoo, anciennement //OpenERP// et //Tiny ERP//, est initialement un progiciel open-source de gestion intégrée comprenant de très nombreux modules permettant de simplifier la gestion d'une société dans son ensemble. Le logiciel est utilisé par plus de deux millions d’utilisateurs pour gérer leur entreprise à travers le monde. Odoo est le système ERP open-source le plus populaire. | ||
+ | |||
+ | Il existe une version // | ||
+ | |||
+ | À l’origine un //ERP//, le logiciel s’est vu étendre ses fonctionnalités à des applications de front office //(CMS, e-commerce, blogs, forums, nouvelles, événements, | ||
+ | |||
+ | L’aspect //LIBRE// du logiciel a permis le développement de nombreux modules tiers créés par sa communauté de développeurs. Ces applications sont pour certaines officiellement validées par l’éditeur tandis que d’autres ne sont destinées qu’à des versions spécifiques. | ||
+ | |||
+ | Le logiciel compte 260 modules officiels et 7300 modules communautaires. | ||
+ | |||
+ | En décembre 2012, la version 7.0 d'// | ||
+ | |||
+ | Mai 2014: //OpenERP// change de nom et devient //Odoo//. | ||
+ | |||
+ | ==== La société éditrice OpenERP SA ==== | ||
+ | |||
+ | //OpenERP S.A.// est également le nom de l’entreprise qui édite le logiciel. Dans ce document, on utilise le terme Odoo pour désigner le logiciel et //OpenERP SA// pour désigner l’entreprise de façon univoque. | ||
+ | |||
+ | ===== Étapes ===== | ||
+ | |||
+ | - Préparation de l' | ||
+ | - Installation du serveur de bases de données // | ||
+ | - Installation de la // | ||
+ | - Installation des prérequis pour Odoo-12. | ||
+ | - Depuis GitHuB, téléchargement du code Odoo de la branche 12 et installation. | ||
+ | - Redirection sécurisée. | ||
+ | - Post-scriptum Odoo. | ||
+ | - Sauvegarde de la base de données PostgreSQL. | ||
+ | - Programmer un script de sauvegarde de la base de données PostgreSQL et créer une tâche '' | ||
+ | - Sauvegarde quotidienne NethServer. | ||
+ | - Mises à jour de: Odoo, PostgreSQL, RH-Python36, | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ===== But de ce cahier ===== | ||
+ | |||
+ | Installer et configurer Odoo-12 sur un Serveur NethServer-7.6.1810 virtuel sur le réseau LOCAL. Les procédures sont exactement les mêmes pour un Serveur NethServer physique directement branché ou non à l' | ||
+ | |||
+ | {{ Images_Cahier-201-02-005.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Cours NethServer-101 ===== | ||
+ | |||
+ | Le //Cours NethServer-101//, | ||
+ | |||
+ | - [[nethserver_101_cahier_01_linux|Cahier-01]]: | ||
+ | - [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis|Cahier-02]]: | ||
+ | - [[nethserver_101_cahier_03_creation_un_serveur_virtuel|Cahier-03]]: | ||
+ | - [[nethserver_101_cahier_04_local_certificat_let_encrypt|Cahier-04]]: | ||
+ | - [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver|Cahier-05]]: | ||
+ | // | ||
+ | - [[nethserver_101_cahier_06_nethserver_wordPress|Cahier-06]]: | ||
+ | - [[nethserver_101_cahier_07_nethserver_wordPress_wordfence|Cahier-07]]: | ||
+ | - [[nethserver_101_cahier_08_woocommerce_paypal_stripe|Cahier-08]]: | ||
+ | - [[nethserver_101_cahier_09_duplicator_migration|Cahier-09]]: | ||
+ | - [[nethserver_101_cahier_10_mandataire_inverse|Cahier-10]]: | ||
+ | - [[nethserver_101_cahier_11_nethserver_backuppc|Cahier-11]]: | ||
+ | |||
+ | ==== Cours NethServer-201 ==== | ||
+ | |||
+ | Le //Cours NethServer-201// | ||
+ | |||
+ | - [[nethserver_201_cahier_01_nethserver_et_dolibarr|Cahier-201-01]]: | ||
+ | - [[nethserver_201_cahier_02_odoo_12|Cahier-201-02]]: | ||
+ | - [[nethserver_201_cahier_03_mediawiki|Cahier-201-03]]: | ||
+ | - [[nethserver_201_cahier_04_dokuwiki|Cahier-201-04]]: | ||
+ | - [[nethserver_201_cahier_05_moodle|Cahier-201-05]]: | ||
+ | - [[nethserver_201_cahier_06_proxmox|Cahier-201-06]]: | ||
+ | - [[nethserver_201_cahier_07_flectra|Cahier-201-07]]: | ||
+ | |||
+ | ==== Logiciels ==== | ||
+ | |||
+ | Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence //GPL//; ils ne coûtent pas un sou. Le seul achat nécessaire est l' | ||
+ | |||
+ | ==== But final ==== | ||
+ | |||
+ | Après avoir suivi le //Cours NethServer-101//, | ||
+ | |||
+ | {{ NS-101_001_Diagramme.png? | ||
+ | |||
+ | ===== Particularités de ce document ===== | ||
+ | |||
+ | ==== Notes au lecteur ==== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | ==== Conventions ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | {{Images_icone-201-003_Note.png? | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | {{Images_icone-201-005_Non-termine.png? | ||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | |||
+ | Toutes les commandes à la console ou à travers //PuTTY// sont précédées d'une invite qui est toujours présente. | ||
+ | |||
+ | < | ||
+ | [root@dorgee ~]# ping 10.10.10.75 -c1 | ||
+ | |||
+ | PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data. | ||
+ | 64 bytes from 10.10.10.75: | ||
+ | |||
+ | --- 10.10.10.75 ping statistics --- | ||
+ | 1 packets transmitted, | ||
+ | rtt min/ | ||
+ | [root@dorgee ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP box round> | ||
+ | < | ||
+ | Commande à exécuter si ce n'est déjà fait. | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | Commande indiquée à titre d' | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ====== À savoir ====== | ||
+ | |||
+ | ===== Diagramme réseau ===== | ||
+ | |||
+ | {{ Images_Cahier-201-02-005.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Serveur NethServer-7.6.1810 ===== | ||
+ | |||
+ | Le Serveur NethServer-7.6.1810 est un dérivé de la distribution Linux CentOS et est équivalent à CentOS-7.6.1810. | ||
+ | |||
+ | ==== dorgee.micronator.org ==== | ||
+ | |||
+ | Serveur passerelle pour les connexions à l' | ||
+ | Serveur DHCP pour tout le réseau LOCAL. | ||
+ | |||
+ | ==== tchana.micronator-dev.org ==== | ||
+ | |||
+ | Serveur virtuel LOCAL sous VirtualBox Version 6.0.4 r128413 // | ||
+ | |||
+ | ==== Répertoire d' | ||
+ | |||
+ | Nous installerons Odoo dans le répertoire ''/ | ||
+ | |||
+ | ===== Poste de travail ===== | ||
+ | |||
+ | Windows-8.1, | ||
+ | |||
+ | ===== Éditeur de texte ===== | ||
+ | |||
+ | Ne modifiez pas les fichiers avec des éditeurs de documents tels Notepad, TextEdit ou autres qui ajoutent une marque d' | ||
+ | |||
+ | ==== Notepad++ ==== | ||
+ | |||
+ | Voir le [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis|Cahier-02]]: | ||
+ | |||
+ | ==== Description ==== | ||
+ | |||
+ | // | ||
+ | Notepad++ est un éditeur de code source qui prend en charge plusieurs langages. Ce logiciel, codé en C++ avec STL et win32 api, a pour vocation de fournir un éditeur de code source de taille réduite mais très performant. En optimisant de nombreuses fonctions, tout en conservant une facilité d’utilisation et une certaine convivialité, | ||
+ | |||
+ | //Site de téléchargement:// | ||
+ | |||
+ | ==== Documentation ==== | ||
+ | |||
+ | Guide pratique //(1er août 2013)//: [[http:// | ||
+ | Aide-mémoire des principales commande: [[https:// | ||
+ | |||
+ | ===== Connexion sécuritaire ===== | ||
+ | |||
+ | Ce document décrit aussi la marche à suivre pour une connexion sécuritaire //(https)// vers Odoo. | ||
+ | |||
+ | HTTPS //(Hyper Text Transfer Protocol Secure)// apparaît dans l'URL lorsqu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== Préparation de l' | ||
+ | |||
+ | ===== Configuration du poste de travail ===== | ||
+ | |||
+ | Voir la section __À savoir__ du | ||
+ | [[nethserver_101_cahier_03_creation_un_serveur_virtuel# | ||
+ | : //Création d'un Serveur NethServer virtuel// du "Cours NethServer-101" | ||
+ | |||
+ | <WRAP column 60%> | ||
+ | ==== Vérification ==== | ||
+ | |||
+ | **Centre Réseau et partage -> Modifier les paramètres de la carte ->** clac //(clic droit)// sur la carte Éthernet **-> Statut -> Détails**. | ||
+ | |||
+ | ● Nos deux adresses IP et nos deux passerelles son présentes. | ||
+ | |||
+ | ● **Fermer** toutes les fenêtre. | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-007.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 45%> | ||
+ | '' | ||
+ | |||
+ | Les CNAME de notre Serveur NethServer virtuel LOCAL sont présents. | ||
+ | </ | ||
+ | <WRAP column 45%> | ||
+ | |{{ Images_Cahier-201-02-008.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Installation d'un Serveur NethServer ===== | ||
+ | |||
+ | Voir le [[nethserver_101_cahier_03_creation_un_serveur_virtuel|Cahier-03]]: | ||
+ | |||
+ | Pour un serveur virtuel de test, prendre un minimum de //8 Go// dynamiquement alloué pour le disque principal. | ||
+ | |||
+ | ==== Mise à jour du Serveur ==== | ||
+ | |||
+ | Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur NethServer. | ||
+ | |||
+ | ==== Fail2ban & ClamAV ==== | ||
+ | |||
+ | Il est fortement recommandé d' | ||
+ | |||
+ | ===== interface Web NethServer ===== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | Depuis le poste de travail, sur le réseau LOCAL // | ||
+ | |||
+ | === Login === | ||
+ | |||
+ | Lorsque vous parvenez à l'URL, vous serez invité à entrer votre nom d’utilisateur //(qui est obligatoirement root)// et le //mot de passe// donné au cours du processus d’installation. Entrez ce justificatif et cliquez sur **Login** afin d’être amené à l' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | <WRAP column 20%> | ||
+ | |{{ Images_Cahier-201-02-009.png? | ||
+ | </ | ||
+ | <WRAP column 70%> | ||
+ | |{{ Images_Cahier-201-02-010.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | Si vous avez de la difficulté à vous connecter, vidanger le cache DNS du poste de travail et celui du navigateur Firefox. | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-011.png? | ||
+ | </ | ||
+ | <WRAP column 40%> | ||
+ | **Historique -> Supprimer l' | ||
+ | |{{ Images_Cahier-201-02-012.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-013.png? | ||
+ | ==== Fournisseur des comptes ==== | ||
+ | |||
+ | **Configuration -> Fournisseur des comptes**. | ||
+ | |||
+ | LDAP local est notre fournisseur de comptes. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-014.png? | ||
+ | ==== FQDN du serveur ==== | ||
+ | |||
+ | **Configuration -> DNS ->** onglet **Hôtes**. | ||
+ | |||
+ | Le FQDN du serveur: // | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-015.png? | ||
+ | ==== Nom du serveur ==== | ||
+ | |||
+ | **Configuration -> Nom du serveur**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-016.png? | ||
+ | ==== Paramètres d' | ||
+ | |||
+ | **Sécurité -> SSH**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-017.png? | ||
+ | ==== FTP ==== | ||
+ | |||
+ | **Configuration -> FTP->** onglet **Configurer**. | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-018.png? | ||
+ | ==== Serveurs DNS ==== | ||
+ | |||
+ | **Configuration -> Réseau ->** onglet **Serveur DNS**. | ||
+ | |||
+ | Le serveur DNS secondaire peut être //8.8.8.8// ou // | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Ouverture d'une session PuTTY ===== | ||
+ | |||
+ | Les paramètres du serveur sont définis correctement et on peut utiliser PuTTY pour s'y loguer. | ||
+ | |||
+ | Voir __PuTTY__ dans le | ||
+ | [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis# | ||
+ | : // | ||
+ | |||
+ | On logue en tant que l' | ||
+ | |||
+ | < | ||
+ | login as: root | ||
+ | root@10.10.10.75' | ||
+ | Last login: Thu May 16 09:58:33 2019 from 10.10.10.81 | ||
+ | |||
+ | ************ Welcome to NethServer ************ | ||
+ | |||
+ | This is a NethServer installation. | ||
+ | |||
+ | Before editing configuration files, be aware | ||
+ | of the automatic events and templates system. | ||
+ | |||
+ | |||
+ | http:// | ||
+ | |||
+ | *********************************************** | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Adresse IP ==== | ||
+ | |||
+ | On vérifie les adresses IP du serveur. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ifconfig | ||
+ | |||
+ | enp0s3: flags=4163< | ||
+ | inet 10.10.10.75 | ||
+ | inet6 fe80:: | ||
+ | ether 08: | ||
+ | RX packets 680 bytes 63712 (62.2 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 634 bytes 260579 (254.4 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | |||
+ | enp0s8: flags=4163< | ||
+ | inet 192.168.1.75 | ||
+ | inet6 fe80:: | ||
+ | ether 08: | ||
+ | RX packets 27919 bytes 26181152 (24.9 MiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 20591 bytes 5112156 (4.8 MiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | |||
+ | lo: flags=73< | ||
+ | inet 127.0.0.1 | ||
+ | inet6 ::1 prefixlen 128 scopeid 0x10< | ||
+ | loop txqueuelen 1000 (Local Loopback) | ||
+ | RX packets 2534 bytes 309622 (302.3 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 2534 bytes 309622 (302.3 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Fail2ban ==== | ||
+ | |||
+ | On vérifie que le pare-feu // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep -i fail2ban | ||
+ | |||
+ | fail2ban-firewalld-0.9.7-1.el7.noarch | ||
+ | fail2ban-server-0.9.7-1.el7.noarch | ||
+ | fail2ban-0.9.7-1.el7.noarch | ||
+ | fail2ban-sendmail-0.9.7-1.el7.noarch | ||
+ | nethserver-fail2ban-1.1.6-1.ns7.noarch | ||
+ | fail2ban-shorewall-0.9.7-1.el7.noarch | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie que Fail2ban roule sur le serveur. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ps aux | grep -i fail2ban | ||
+ | |||
+ | root 4586 1.2 0.5 1746708 22656 ? | ||
+ | root 7161 0.0 0.0 112728 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== ClamAV ==== | ||
+ | |||
+ | Par défaut //ClamAV// est installé, mais partiellement, | ||
+ | |||
+ | Dans le | ||
+ | [[nethserver_101_cahier_03_creation_un_serveur_virtuel# | ||
+ | : //Création d'un Serveur NethServer virtuel// du "Cours NethServer-101", | ||
+ | |||
+ | On vérifie que l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep -i clamav | ||
+ | |||
+ | clamav-scanner-systemd-0.101.2-1.el7.x86_64 | ||
+ | clamav-lib-0.101.2-1.el7.x86_64 | ||
+ | clamav-server-systemd-0.101.2-1.el7.x86_64 | ||
+ | clamav-unofficial-sigs-5.6.2-7.el7.noarch | ||
+ | clamav-update-0.101.2-1.el7.x86_64 | ||
+ | clamav-0.101.2-1.el7.x86_64 | ||
+ | clamav-filesystem-0.101.2-1.el7.noarch | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-019.png? | ||
+ | **Configuration -> Scanner Antivirus ->** onglet **Clamscan**. | ||
+ | |||
+ | ClamAV lancera un balayage complet du système à // | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Utilisateurs ===== | ||
+ | |||
+ | {{ Images_Cahier-201-02-020.png? | ||
+ | ==== Utilisateur michelandre ==== | ||
+ | |||
+ | **Gestion -> Utilisateurs et groupes ->** onglet **Utilisateurs**. | ||
+ | |||
+ | L' | ||
+ | [[nethserver_101_cahier_03_creation_un_serveur_virtuel# | ||
+ | : //Création d'un Serveur NethServer virtuel// du "Cours NethServer-101" | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Collection PHP ===== | ||
+ | |||
+ | Version PHP actuelle pour notre Serveur NethServer-7.6-1810. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# php --version | ||
+ | |||
+ | PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51) | ||
+ | Copyright (c) 1997-2013 The PHP Group | ||
+ | Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Comme on le voit, notre version //5.4.16// de PHP est légèrement vieillotte. | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | ==== Collections de logiciels ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | Tous les //RPM// des Collections sont installés dans le répertoire ''/ | ||
+ | |||
+ | === * Collection PHP === | ||
+ | |||
+ | Le but de la // | ||
+ | |||
+ | ==== Prérequis pour l' | ||
+ | |||
+ | // | ||
+ | Il faut installer les référentiels //stephdl// et //remi// pour pouvoir installer la // | ||
+ | |||
+ | === Référentiel stephdl === | ||
+ | |||
+ | // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y http:// | ||
+ | |||
+ | ... | ||
+ | Transaction Summary | ||
+ | ============================================================================================ | ||
+ | Install | ||
+ | |||
+ | Total size: 40 k | ||
+ | Installed size: 40 k | ||
+ | ... | ||
+ | Installed: | ||
+ | nethserver-stephdl.noarch 0: | ||
+ | |||
+ | Complete! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Vérification. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep stephdl | ||
+ | |||
+ | nethserver-stephdl-1.0.7-1.ns7.sdl.noarch | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | === Référentiel remi === | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y http:// | ||
+ | |||
+ | ... | ||
+ | Transaction Summary | ||
+ | ============================================================================================ | ||
+ | Install | ||
+ | |||
+ | Total size: 19 k | ||
+ | Installed size: 19 k | ||
+ | ... | ||
+ | Installed: | ||
+ | remi-release.noarch 0: | ||
+ | |||
+ | Complete! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Vérification | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep remi | ||
+ | |||
+ | remi-release-7.6-2.el7.remi.noarch | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Installation de la Collection PHP ==== | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y nethserver-php-scl --enablerepo=stephdl | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 47 M | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installation : scl-utils-20130529-19.el7.x86_64 | ||
+ | ... | ||
+ | Installation : nethserver-php-scl-1.2.4-1.ns7.sdl.x86_64 | ||
+ | Vérification : 1: | ||
+ | ... | ||
+ | Vérification : php72-php-tidy-7.2.18-1.el7.remi.x86_64 | ||
+ | |||
+ | Installé : | ||
+ | nethserver-php-scl.x86_64 0: | ||
+ | |||
+ | Dépendances installées : | ||
+ | enchant.x86_64 1: | ||
+ | ... | ||
+ | tcl.x86_64 1: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Usage ==== | ||
+ | |||
+ | Normalement, | ||
+ | |||
+ | Les réglages sont répartis à deux endroits. | ||
+ | |||
+ | - À la page **Gestion -> Hôtes virtuels**.\\ | ||
+ | Là, après avoir créé un hôte virtuel, vous pouvez choisir la version que vous utiliserez pour l'// | ||
+ | - À la page **Configuration -> Paramètres PHP**.\\ Là, vous pouvez choisir la version PHP que vous souhaitez utiliser __pour l’ensemble du serveur__.\\ - Lorsqu' | ||
+ | \\ | ||
+ | |||
+ | ==== Répertoire d' | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum repolist | grep remi | ||
+ | |||
+ | * remi-safe: mirror.team-cymru.com | ||
+ | remi-safe | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls /opt | ||
+ | |||
+ | total 0 | ||
+ | 0 drwxr-xr-x. 7 root root 81 Jan 4 09:16 puppetlabs | ||
+ | 0 drwxr-xr-x | ||
+ | 0 drwxr-xr-x | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On affiche le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls /opt/remi | ||
+ | |||
+ | total 0 | ||
+ | 0 dr-xr-xr-x 3 root root 32 16 mai 13:03 php56 | ||
+ | 0 dr-xr-xr-x 3 root root 32 16 mai 13:03 php70 | ||
+ | 0 dr-xr-xr-x 3 root root 32 16 mai 13:03 php71 | ||
+ | 0 dr-xr-xr-x 3 root root 32 16 mai 13:03 php72 | ||
+ | 0 dr-xr-xr-x 3 root root 32 16 mai 13:03 php73 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ==== PHP72 par défaut après une connexion à la ligne de commande ==== | ||
+ | |||
+ | // | ||
+ | |||
+ | On crée le fichier d' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | #!/bin/bash | ||
+ | source / | ||
+ | if [[ " | ||
+ | src=" | ||
+ | pkgs=(${src// | ||
+ | uniq=($(printf " | ||
+ | export X_SCLS=" | ||
+ | fi | ||
+ | EOT | ||
+ | |||
+ | </ | ||
+ | |||
+ | On rend le fichier exécutable. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chmod +x / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 4 -rwxr-xr-x 1 root root 215 16 mai 13:11 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | === Vérification si PHP72 est le défaut== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On vérifie l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep scl- | ||
+ | |||
+ | centos-release-scl-rh-2-3.el7.centos.noarch | ||
+ | centos-release-scl-2-3.el7.centos.noarch | ||
+ | nethserver-php-scl-1.2.4-1.ns7.sdl.x86_64 | ||
+ | scl-utils-20130529-19.el7.x86_64 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Collections installées. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# scl -l | ||
+ | |||
+ | php56 | ||
+ | php70 | ||
+ | php71 | ||
+ | php72 | ||
+ | php73 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Quel est le PHP par défaut? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# which php | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Quelle est sa version? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# php --version | ||
+ | |||
+ | PHP 7.2.18 (cli) (built: Apr 30 2019 14:41:03) ( NTS ) | ||
+ | Copyright (c) 1997-2018 The PHP Group | ||
+ | Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Notre fichier '' | ||
+ | \\ | ||
+ | |||
+ | === Sauvegarde === | ||
+ | |||
+ | On vérifie si le nom du fichier ''/ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | NouvelleInclusion="/ | ||
+ | if grep -Fxq " | ||
+ | then | ||
+ | # L' | ||
+ | echo -e "\nLe fichier custom.include contient déjà l' | ||
+ | else | ||
+ | # L' | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Ci-dessus, il n'y a pas de ligne vide avant __/ | ||
+ | \\ | ||
+ | |||
+ | ==== Mise à jour de la Collection ==== | ||
+ | |||
+ | NethServer-7.6.1810 | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum update -y nethserver-php-scl --enablerepo=stephdl | ||
+ | |||
+ | Loaded plugins: changelog, fastestmirror, | ||
+ | Loading mirror speeds from cached hostfile | ||
+ | * ce-base: it.centos.contactlab.it | ||
+ | * ce-extras: it.centos.contactlab.it | ||
+ | * ce-updates: it.centos.contactlab.it | ||
+ | * epel: epel.mirror.constant.com | ||
+ | * nethforge: mirror.nethserver.org | ||
+ | * nethserver-base: | ||
+ | * nethserver-updates: | ||
+ | * remi-safe: rpms.remirepo.net | ||
+ | No packages marked for update | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ==== Ajustement des paramètres PHP ==== | ||
+ | |||
+ | Les valeurs de certains paramètres de PHP ne sont pas suffisants pour certains ajouts. Ces paramètres sont: **'' | ||
+ | |||
+ | Affichage des paramètres par défaut. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# config show php72 | ||
+ | |||
+ | php72=configuration | ||
+ | AllowUrlFopen=On | ||
+ | ExposePhp=0 | ||
+ | MaxExecutionTime=30 | ||
+ | MaxFileUpload=20 | ||
+ | MaxInputTime=60 | ||
+ | MemoryLimit=128 | ||
+ | PostMaxSize=20 | ||
+ | UploadMaxFilesize=10 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | \\ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | \\ | ||
+ | |||
+ | === MemoryLimit === | ||
+ | |||
+ | Chaque fois qu'un client fait une requête au serveur Web, PHP génère un processus PHP. Le travail de ce processus est de générer du code HTML qu'il envoie au client. Le processus fournit un temps d' | ||
+ | |||
+ | === PostMaxSize === | ||
+ | |||
+ | Le paramètre '' | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | === UploadMaxFilesize === | ||
+ | |||
+ | Certains ajouts doivent autoriser le téléversement de fichiers et la grandeur de ceux-ci ne peut dépasser la limite définie par le paramètre '' | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | |{{ Images_Cahier-201-02-200.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | === Version PHP par défaut === | ||
+ | |||
+ | On définit la version PHP par défaut pour Apache. | ||
+ | |||
+ | **Configuration -> Paramètres PHP ->** onglet **Version PHP Apache ->** cliquer | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | |{{ Images_Cahier-201-02-201.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | === Ajustements des paramètres de la version PHP-7.2 === | ||
+ | |||
+ | Onglet **Php V7.2 SCL**\\ | ||
+ | Ajuster tel que ci-contre //(250M - 100M - 75M)// | ||
+ | **-> SOUMETTRE**. | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | |{{ Images_Cahier-201-02-202.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | Onglet **Version par défaut de PHP**\\ | ||
+ | Ajuster tel que ci-contre //(250M - 75M - 75M)// | ||
+ | **-> SOUMETTRE**.\\ | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | |{{ Images_Cahier-201-02-203.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | === Vérifications à la ligne de commande === | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | memory_limit | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | post_max_size | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | upload_max_filesize | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | \\ | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== PostgreSQL-11 - Installation ====== | ||
+ | |||
+ | ===== Invite de commandes NethServer ===== | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | Si nous ne sommes pas déjà logué, nous nous connectons en tant que __root__ au Serveur NethServer à l'aide de PuTTY. | ||
+ | |||
+ | <WRAP box round> | ||
+ | < | ||
+ | login as: root | ||
+ | root@10.10.10.75' | ||
+ | Last login: Fri May 10 17:11:57 2019 from 10.10.10.81 | ||
+ | |||
+ | ************ Welcome to NethServer ************ | ||
+ | |||
+ | This is a NethServer installation. | ||
+ | |||
+ | Before editing configuration files, be aware | ||
+ | of the automatic events and templates system. | ||
+ | |||
+ | |||
+ | http:// | ||
+ | |||
+ | *********************************************** | ||
+ | [root@tchana ~] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On affiche les adresses IP du serveur. | ||
+ | |||
+ | < | ||
+ | [root@tchana html]# ifconfig | ||
+ | |||
+ | enp0s3: flags=4163< | ||
+ | inet 10.10.10.75 | ||
+ | inet6 fe80:: | ||
+ | ether 08: | ||
+ | RX packets 664 bytes 74068 (72.3 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 615 bytes 289665 (282.8 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | |||
+ | enp0s8: flags=4163< | ||
+ | inet 192.168.1.75 | ||
+ | inet6 fe80:: | ||
+ | ether 08: | ||
+ | RX packets 144384 | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 83977 bytes 7402753 (7.0 MiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | |||
+ | lo: flags=73< | ||
+ | inet 127.0.0.1 | ||
+ | inet6 ::1 prefixlen 128 scopeid 0x10< | ||
+ | loop txqueuelen 1000 (Local Loopback) | ||
+ | RX packets 3178 bytes 378438 (369.5 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 3178 bytes 378438 (369.5 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Référentiel pgdg11 ===== | ||
+ | |||
+ | ==== 32 ou 64 bits ==== | ||
+ | |||
+ | Il nous faut connaître le genre de CPU utilisé par notre serveur afin de choisir la bonne version de PostgreSQL. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# uname -p | ||
+ | |||
+ | x86_64 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Version CentOS ==== | ||
+ | |||
+ | Pour connaître la version CentOS dont notre serveur est issu. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | CentOS Linux release 7.6.1810 (Core) | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP column 45%> | ||
+ | ==== Lien du référentiel PostgreSQL ==== | ||
+ | |||
+ | Pour connaître le lien URL du référentiel PostgreSQL, on se rends au site suivant: | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | Notre Serveur NethServer est un //64 bits// issu de CentOS-7.6. Donc, nous choisissons //CentOS 7 - x86 64//. | ||
+ | |||
+ | On claque //(clic droit)// sur **CentOS 7 - x86 64** et on copie l' | ||
+ | |||
+ | Le lien du référentiel PostgreSQL pour notre serveur est: | ||
+ | https:// | ||
+ | </ | ||
+ | <WRAP column 45%> | ||
+ | |{{ Images_Cahier-201-02-025.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Installation du référentiel ==== | ||
+ | |||
+ | La commande pour installer le référentiel PostgreSQL est composée de 2 parties: | ||
+ | |||
+ | - '' | ||
+ | - l'URL du référentiel. | ||
+ | |||
+ | On installe le référentiel PostgreSQL pour les serveurs CentOS-7 dont le Serveur NethServer est issu. | ||
+ | |||
+ | On entre '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y https:// | ||
+ | |||
+ | Modules complémentaires chargés : changelog, fastestmirror, | ||
+ | pgdg-redhat-repo-latest.noarch.rpm | ||
+ | Examen de / | ||
+ | Sélection de / | ||
+ | Résolution des dépendances | ||
+ | --> Lancement de la transaction de test | ||
+ | ---> Le paquet pgdg-redhat-repo.noarch 0:42.0-4 sera installé | ||
+ | --> Résolution des dépendances terminée | ||
+ | |||
+ | Dépendances résolues | ||
+ | |||
+ | ============================================================================================ | ||
+ | | ||
+ | | ||
+ | ============================================================================================ | ||
+ | Installation : | ||
+ | | ||
+ | |||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale | ||
+ | Taille d' | ||
+ | Downloading packages: | ||
+ | Running transaction check | ||
+ | Running transaction test | ||
+ | Transaction test succeeded | ||
+ | Running transaction | ||
+ | Installation : pgdg-redhat-repo-42.0-4.noarch | ||
+ | Vérification : pgdg-redhat-repo-42.0-4.noarch | ||
+ | |||
+ | Installé : | ||
+ | pgdg-redhat-repo.noarch 0:42.0-4 | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Le référentiel PostgreSQL est installé. | ||
+ | \\ | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Maintenant, on peut procéder à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y --enablerepo=pgdg11 | ||
+ | postgresql11 | ||
+ | postgresql11-server | ||
+ | postgresql11-devel | ||
+ | postgresql11-test | ||
+ | |||
+ | ... | ||
+ | Install | ||
+ | |||
+ | Total download size: 23 M | ||
+ | Installed size: 89 M | ||
+ | |||
+ | ... | ||
+ | Installed: | ||
+ | postgresql11.x86_64 0: | ||
+ | postgresql11-contrib.x86_64 0: | ||
+ | postgresql11-devel.x86_64 0: | ||
+ | postgresql11-docs.x86_64 0: | ||
+ | postgresql11-libs.x86_64 0: | ||
+ | postgresql11-server.x86_64 0: | ||
+ | postgresql11-test.x86_64 0: | ||
+ | |||
+ | Dependency Installed: | ||
+ | libicu-devel.x86_64 0: | ||
+ | |||
+ | Complete! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qi postgresql11-server | ||
+ | |||
+ | Name : postgresql11-server | ||
+ | Version | ||
+ | Release | ||
+ | Architecture: | ||
+ | Install Date: jeu. 16 mai 2019 17:27:20 EDT | ||
+ | Group : Applications/ | ||
+ | Size : 19562871 | ||
+ | License | ||
+ | Signature | ||
+ | Source RPM : postgresql11-11.3-1PGDG.rhel7.src.rpm | ||
+ | Build Date : mer. 08 mai 2019 05:37:39 EDT | ||
+ | Build Host : koji-centos7-x86-64-pgbuild | ||
+ | Relocations : (not relocatable) | ||
+ | Vendor | ||
+ | URL : https:// | ||
+ | Summary | ||
+ | Description : | ||
+ | PostgreSQL is an advanced Object-Relational database management system (DBMS). | ||
+ | The postgresql11-server package contains the programs needed to create | ||
+ | and run a PostgreSQL server, which will in turn allow you to create | ||
+ | and maintain PostgreSQL databases. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Protection du référentiel ===== | ||
+ | |||
+ | // | ||
+ | // | ||
+ | |||
+ | Nous voulons protéger le référentiel [pgdg11] afin que ses paquets ne soient pas mis à jour par aucun autre référentiel. | ||
+ | |||
+ | On installe le paquet '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y yum-plugin-protectbase | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 27 k | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé : | ||
+ | yum-plugin-protectbase.noarch 0: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On affiche les informations du paquet '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qi yum-plugin-protectbase | ||
+ | |||
+ | Name : yum-plugin-protectbase | ||
+ | Version | ||
+ | Release | ||
+ | Architecture: | ||
+ | Install Date: jeu. 16 mai 2019 23:15:00 EDT | ||
+ | Group : System Environment/ | ||
+ | Size : 22696 | ||
+ | License | ||
+ | Signature | ||
+ | Source RPM : yum-utils-1.1.31-50.el7.src.rpm | ||
+ | Build Date : mar. 30 oct. 2018 18:58:13 EDT | ||
+ | Build Host : x86-01.bsys.centos.org | ||
+ | Relocations : (not relocatable) | ||
+ | Packager | ||
+ | Vendor | ||
+ | URL : http:// | ||
+ | Summary | ||
+ | Description : | ||
+ | This plugin allows certain repositories to be protected. Packages in the | ||
+ | protected repositories can't be overridden by packages in non-protected | ||
+ | repositories even if the non-protected repo has a later version. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | [main] | ||
+ | enabled = 1 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Protection de pgdg11 ==== | ||
+ | |||
+ | On protège le référentiel [pgdg11] en éditant le fichier: | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | [pgdg11] | ||
+ | name=PostgreSQL 11 $releasever - $basearch | ||
+ | baseurl=https:// | ||
+ | enabled=1 | ||
+ | gpgcheck=1 | ||
+ | gpgkey=file:/// | ||
+ | protect = 1 | ||
+ | |||
+ | ... | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | 10-[pgdg11] | ||
+ | 11-name=PostgreSQL 11 $releasever - $basearch | ||
+ | 12-baseurl=https:// | ||
+ | 13-enabled=1 | ||
+ | 14-gpgcheck=1 | ||
+ | 15-gpgkey=file:/// | ||
+ | 16:protect = 1 | ||
+ | 17- | ||
+ | 18-[pgdg10] | ||
+ | 19-name=PostgreSQL 10 $releasever - $basearch | ||
+ | 20-baseurl=https:// | ||
+ | 21-enabled=1 | ||
+ | 22-gpgcheck=1 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Initialisation de la BD ===== | ||
+ | |||
+ | On initialise la BD. | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Initializing database ... OK | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Activation du service PostgreSQL ===== | ||
+ | |||
+ | On active le service pour qu'il démarre avec l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl enable postgresql-11.service | ||
+ | |||
+ | Created symlink from / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On démarre le service PostgreSQL. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl start postgresql-11.service | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On examine le statut du service PostgreSQL. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status postgresql-11.service | ||
+ | |||
+ | ● postgresql-11.service - PostgreSQL 11 database server | ||
+ | | ||
+ | | ||
+ | Docs: https:// | ||
+ | Process: 5709 ExecStartPre=/ | ||
+ | Main PID: 5715 (postmaster) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 16 17:36:27 tchana.micronator-dev.org systemd[1]: Starting PostgreSQL 11 database se.... | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org postmaster[5715]: | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org postmaster[5715]: | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org postmaster[5715]: | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org postmaster[5715]: | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org postmaster[5715]: | ||
+ | mai 16 17:36:27 tchana.micronator-dev.org systemd[1]: Started PostgreSQL 11 database server. | ||
+ | Hint: Some lines were ellipsized, use -l to show in full. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== PostgreSQL-11 - Premiers pas ====== | ||
+ | |||
+ | Cette section est inspirée de l' | ||
+ | |||
+ | ===== Connexion ===== | ||
+ | |||
+ | On se connecte au Serveur NethServer en tant que __root__ puis on change d' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - postgres | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ whoami | ||
+ | |||
+ | postgres | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On lance la console // | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql | ||
+ | |||
+ | postgres | ||
+ | -bash-4.2$ psql | ||
+ | psql (11.3) | ||
+ | Saisissez « help » pour l' | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On vérifie que l'aide fonctionne correctement. | ||
+ | |||
+ | < | ||
+ | postgres=# HELP | ||
+ | |||
+ | Vous utilisez psql, l' | ||
+ | Saisissez: | ||
+ | \copyright pour les termes de distribution | ||
+ | \h pour l' | ||
+ | \? pour l' | ||
+ | \g ou point-virgule en fin d' | ||
+ | \q pour quitter | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | ===== SCHEMA ===== | ||
+ | |||
+ | Une base de données contient un ou plusieurs schémas, qui eux, contiennent des tables. Les schémas contiennent aussi d' | ||
+ | |||
+ | On crée un schéma qu'on appellera '' | ||
+ | |||
+ | < | ||
+ | postgres=# CREATE SCHEMA test; | ||
+ | |||
+ | CREATE SCHEMA | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | ===== RÔLE ===== | ||
+ | |||
+ | Un rôle est une entité qui peut posséder des objets de la base de données et avoir des droits sur celle-ci. Il peut être considéré comme un " | ||
+ | |||
+ | On crée un rôle // | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | < | ||
+ | postgres=# CREATE USER toto PASSWORD ' | ||
+ | |||
+ | CREATE ROLE | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | ===== GRANT ===== | ||
+ | |||
+ | La commande GRANT a deux variantes: la première donne des droits sur un objet de la base de données //(table, vue, séquence, base de données, fonction, langage de procédure, schéma ou espace logique)//, la seconde gère les appartenances à un rôle. | ||
+ | |||
+ | On donne au nouveau rôle tous les droits //(tel que la possibilité de créer des tables)// sur le nouveau schéma. | ||
+ | |||
+ | < | ||
+ | postgres=# GRANT ALL ON SCHEMA test TO toto; | ||
+ | |||
+ | GRANT | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On donne au nouveau rôle tous les droits //(tel que la possibilité d' | ||
+ | |||
+ | < | ||
+ | postgres=# GRANT ALL ON ALL TABLES IN SCHEMA test TO toto; | ||
+ | |||
+ | GRANT | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | ===== Sortie de la console PostgreSQL ===== | ||
+ | |||
+ | On quitte la console PostgreSQL. | ||
+ | < | ||
+ | |||
+ | postgres=# \q | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On retourne à l' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Utilisateur standard Linux (toto) et PostgreSQL ===== | ||
+ | |||
+ | On crée un utilisateur standard Linux. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# useradd -m -U -s / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-204.png }} | ||
+ | \\ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat /etc/passwd | grep toto | ||
+ | |||
+ | toto: | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On lui octroie un mot de passe. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# passwd toto | ||
+ | |||
+ | Changement de mot de passe pour l' | ||
+ | Nouveau mot de passe : mot-de-passe-pour-toto | ||
+ | Retapez le nouveau mot de passe : mot-de-passe-pour-toto | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On se substitue à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - toto | ||
+ | |||
+ | toto@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | -bash-4.2$ su - toto | ||
+ | |||
+ | Mot de passe : mot-de-passe-de-toto | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Connexion à la BD avec un utilisateur standard ==== | ||
+ | |||
+ | Par défaut, le mode d' | ||
+ | |||
+ | On se logue, en tant qu' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql -d postgres | ||
+ | |||
+ | psql (11.3) | ||
+ | Saisissez « help » pour l' | ||
+ | |||
+ | postgres=> | ||
+ | </ | ||
+ | |||
+ | === HELP === | ||
+ | |||
+ | On essaie l' | ||
+ | |||
+ | < | ||
+ | postgres=> | ||
+ | |||
+ | Vous utilisez psql, l' | ||
+ | Saisissez: | ||
+ | \copyright pour les termes de distribution | ||
+ | \h pour l' | ||
+ | \? pour l' | ||
+ | \g ou point-virgule en fin d' | ||
+ | \q pour quitter | ||
+ | postgres=> | ||
+ | </ | ||
+ | |||
+ | === CREATE === | ||
+ | |||
+ | Dans le schéma '' | ||
+ | |||
+ | < | ||
+ | postgres=> | ||
+ | |||
+ | CREATE TABLE | ||
+ | postgres=> | ||
+ | </ | ||
+ | |||
+ | === INSERT === | ||
+ | |||
+ | On insère une entrée dans la nouvelle table. | ||
+ | |||
+ | < | ||
+ | postgres=> | ||
+ | |||
+ | INSERT 0 1 | ||
+ | postgres=> | ||
+ | </ | ||
+ | |||
+ | === SELECT === | ||
+ | |||
+ | Sélection depuis une table. | ||
+ | |||
+ | < | ||
+ | postgres=> | ||
+ | |||
+ | | ||
+ | ----------- | ||
+ | Ça fonctionne! | ||
+ | (1 ligne) | ||
+ | |||
+ | postgres=> | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | === Déconnexion === | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | postgres=> | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On vérifie qui on est. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ whoami | ||
+ | |||
+ | toto | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On retourne à l' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Suppression de l' | ||
+ | |||
+ | On supprime l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# userdel -f -r toto | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat /etc/passwd | grep toto | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Nettoyage de PostgreSQL ==== | ||
+ | |||
+ | === Suppression du SCHEMA test === | ||
+ | |||
+ | On se substitue au super-utilisateur __postgres__. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - postgres | ||
+ | |||
+ | Dernière connexion : jeudi 16 mai 2019 à 17:46:27 EDT EDT sur pts/0 | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ whoami | ||
+ | |||
+ | postgres | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On lance la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql | ||
+ | |||
+ | psql (11.3) | ||
+ | Saisissez « help » pour l' | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On affiche les SCHEMA. | ||
+ | |||
+ | < | ||
+ | postgres=# \dn | ||
+ | |||
+ | Liste des schémas | ||
+ | Nom | Propriétaire | ||
+ | --------+-------------- | ||
+ | | ||
+ | | ||
+ | (2 lignes) | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On supprime le SCHEMA '' | ||
+ | |||
+ | < | ||
+ | postgres=# DROP SCHEMA test CASCADE; | ||
+ | |||
+ | NOTICE: | ||
+ | DROP SCHEMA | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On vérifie la suppression. | ||
+ | |||
+ | < | ||
+ | postgres=# \dn | ||
+ | |||
+ | Liste des schémas | ||
+ | Nom | Propriétaire | ||
+ | --------+-------------- | ||
+ | | ||
+ | (1 ligne) | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | === Suppression de l' | ||
+ | |||
+ | < | ||
+ | postgres=# DROP USER toto; | ||
+ | |||
+ | DROP ROLE | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On vérifie la suppression. | ||
+ | |||
+ | < | ||
+ | postgres=# \du | ||
+ | |||
+ | Liste des rôles | ||
+ | Nom du rôle | Attributs | ||
+ | -------------+---------------------------------------------------------------------------------+----------- | ||
+ | | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On quitte la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | postgres=# \q | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On quitte la substitution d' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie qu'on est bien de retour à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== PostgreSQL-11 - Configuration finale ====== | ||
+ | |||
+ | ===== MD5 ===== | ||
+ | |||
+ | Maintenant, il nous faut configurer PostgreSQL pour qu'il accepte les connexions avec mots de passe chiffrés | ||
+ | |||
+ | On vérifie qu'on est bien __root__. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# sed -i "/ | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | # METHOD can be " | ||
+ | # Note that " | ||
+ | host all | ||
+ | host all | ||
+ | host replication | ||
+ | host replication | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Création de l' | ||
+ | |||
+ | On peut choisir le mot de passe qu'on veut, mais l' | ||
+ | |||
+ | ==== Utilisateur Linux ==== | ||
+ | |||
+ | Le répertoire personnel //(-d)// de l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# useradd -m -U -r -d / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On octroie un __mot de passe robuste__ à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# passwd odoo | ||
+ | |||
+ | Changement de mot de passe pour l' | ||
+ | Nouveau mot de passe : mot-de-passe-robuste-pour-odoo | ||
+ | MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères | ||
+ | Retapez le nouveau mot de passe : mot-de-passe-robuste-pour-odoo | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | ==== Utilisateur PostgreSQL ==== | ||
+ | |||
+ | Pour notre démonstration, | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# echo -e " | ||
+ | su - postgres | ||
+ | -c " | ||
+ | --createdb | ||
+ | --username postgres | ||
+ | --no-createrole | ||
+ | --no-superuser | ||
+ | --pwprompt odoo" | ||
+ | |||
+ | Saisir le mot de passe pour le nouveau rôle : | ||
+ | Le saisir de nouveau : | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Il n'est pas nécessaire d' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Sécurité ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | ==== Sécurité de base ==== | ||
+ | |||
+ | Pour commencer, gardez à l' | ||
+ | |||
+ | Alors, s'il vous plaît, ne prenez pas cette section comme la liste ultime des mesures qui préviendront tous les problèmes de sécurité. Elle est seulement conçue comme un résumé des premières mesures importantes que vous devriez être certain d' | ||
+ | |||
+ | Lors du déploiement d'un serveur connecté à l' | ||
+ | |||
+ | - Définissez toujours un mot de passe administrateur // | ||
+ | \\ | ||
+ | |||
+ | - Choisissez des login uniques et des mots de passe robustes pour tous les comptes d' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Utilisez les filtres de base de données appropriés '' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Une fois que vos paramètres '' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Assurez-vous que l' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Maintenez les installations à jour en installant régulièrement les dernières versions, soit via GitHub, soit en téléchargeant la dernière version de [[https:// | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Configurez votre serveur en mode multiprocessus(( **multiprocessus** - relatif à un système capable d' | ||
+ | \\ \\ )) avec des limites adaptées à votre utilisation habituelle // | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Exécutez Odoo derrière un serveur Web fournissant une connexion HTTPS avec Certificat SSL valide, afin d' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Configurez le mandataire //(proxy)// Web pour limiter la taille des demandes, définissez des délais d' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Si vous devez autoriser l' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Il est fortement recommandé de désactiver complètement l' | ||
+ | [[nethserver_101_cahier_03_creation_un_serveur_virtuel# | ||
+ | : //Création d'un Serveur NethServer virtuel// du "Cours NethServer-101" | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Dans la mesure du possible, hébergez vos instances de démo/test sur des machines différentes de celles de Production et veiller leur appliquer les mêmes précautions de sécurité que celles pour les serveurs en Production.\\ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Si vous hébergez plusieurs clients, isolez les données des clients et leurs fichiers les uns des autres en utilisant des conteneurs ou des techniques appropriées de " | ||
+ | \\ | ||
+ | |||
+ | |||
+ | - Configurez les sauvegardes quotidiennes de vos bases de données/ | ||
+ | |||
+ | ==== Sécurité du gestionnaire des bases de données ==== | ||
+ | |||
+ | Sur la [[https:// | ||
+ | |||
+ | <WRAP indent> | ||
+ | "Les écrans de gestion de base de données sont protégés par le paramètre '' | ||
+ | |||
+ | Ce paramètre est utilisé sur tous les écrans de gestion de base de données //(créer, supprimer, vider ou restaurer des bases de données)// | ||
+ | </ | ||
+ | |||
+ | Si les écrans de gestion ne doivent pas être accessibles du tout, vous devez définir l' | ||
+ | |||
+ | Si les écrans de gestion ne doivent être accessibles qu'à partir d'un ensemble de machines sélectionnées, | ||
+ | |||
+ | Si l' | ||
+ | |||
+ | Le mot de passe devrait être stocké en toute sécurité et être généré de manière aléatoire, par exemple: | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | python -c ' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | qui générera une chaîne imprimable pseudo-aléatoire de 32 caractères. | ||
+ | \\ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== Python36 ====== | ||
+ | |||
+ | Nous allons installer la // | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | À l'URL: [[http:// | ||
+ | </ | ||
+ | <WRAP column 40%> | ||
+ | |{{ Images_Cahier-201-02-026.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Référentiel centos-sclo-rh ===== | ||
+ | |||
+ | Le référentiel // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum repolist | grep -i sclo | ||
+ | |||
+ | * ce-sclo-rh: mirrors.vooservers.com | ||
+ | * ce-sclo-sclo: | ||
+ | ce-sclo-rh/ | ||
+ | ce-sclo-sclo/ | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | // | ||
+ | \\ | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y --enablerepo=centos-sclo-rh rh-python36* | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 74 M | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé: | ||
+ | rh-python36.x86_64 0:2.0-1.el7 | ||
+ | ... | ||
+ | rh-python36-scldevel.x86_64 0:2.0-1.el7 | ||
+ | Dépendance(s) installée(s) : | ||
+ | atlas.x86_64 0: | ||
+ | ... | ||
+ | zip.x86_64 0: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Une fois la // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# scl -l | ||
+ | |||
+ | httpd24 | ||
+ | php56 | ||
+ | php70 | ||
+ | php71 | ||
+ | php72 | ||
+ | php73 | ||
+ | rh-python36 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Vérification de la version Python ===== | ||
+ | |||
+ | Le chemin de la commande python est: ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 0 lrwxrwxrwx 1 root root 7 11 mai 18:11 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On affiche la version de la commande python de la Collection RH-Python36. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Python 3.6.3 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== Odoo-12 - Prérequis ====== | ||
+ | |||
+ | Odoo-12 requière un assez grand nombre de dépendances avant d' | ||
+ | |||
+ | ===== Logiciels généraux ===== | ||
+ | |||
+ | Le compilateur '' | ||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y git gcc zlib-devel bzip2-devel openssl-devel | ||
+ | ncurses-devel sqlite-devel readline-devel tk-devel | ||
+ | libffi-devel libxslt libxslt-devel libxml2-devel | ||
+ | openldap-devel libjpeg-turbo-devel openjpeg-devel | ||
+ | libtiff-devel libXext libz.so.1 xorg-x11-fonts-Type1 | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 53 M | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé : | ||
+ | bzip2-devel.x86_64 0: | ||
+ | git.x86_64 0: | ||
+ | libjpeg-turbo-devel.x86_64 0: | ||
+ | libxml2-devel.x86_64 0: | ||
+ | ncurses-devel.x86_64 0: | ||
+ | openldap-devel.x86_64 0: | ||
+ | readline-devel.x86_64 0: | ||
+ | tk-devel.x86_64 1: | ||
+ | zlib.i686 0: | ||
+ | |||
+ | Dépendance(s) installée(s) : | ||
+ | ... | ||
+ | cpp.x86_64 0: | ||
+ | ... | ||
+ | ttmkfdir.x86_64 0: | ||
+ | xz-devel.x86_64 0: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Logiciels du référentiel EPEL ===== | ||
+ | |||
+ | On s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum repolist | grep epel | ||
+ | |||
+ | * epel: mirror.layeronline.com | ||
+ | epel/ | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== cabextract ==== | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y --enablerepo=epel cabextract | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 107 k | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé: | ||
+ | cabextract.x86_64 0:1.5-1.el7 | ||
+ | |||
+ | Dépendance(s) installée(s) : | ||
+ | libmspack.x86_64 0: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ===== npm ===== | ||
+ | |||
+ | // | ||
+ | L' | ||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | <WRAP column 55%> | ||
+ | Les versions disponibles se trouvent à l'URL: [[https:// | ||
+ | </ | ||
+ | <WRAP column 35%> | ||
+ | |{{ Images_Cahier-201-02-027.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Node.js-v10.15.3 ==== | ||
+ | |||
+ | On crée un répertoire de travail. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# mkdir /temp | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On s'y rend. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cd /temp/ | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On télécharge la version // | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# wget https:// | ||
+ | |||
+ | --2019-05-17 07: | ||
+ | Résolution de nodejs.org (nodejs.org)... 104.20.22.46, | ||
+ | Connexion vers nodejs.org (nodejs.org)|104.20.22.46|: | ||
+ | requête HTTP transmise, en attente de la réponse...200 OK | ||
+ | Longueur: 18638507 (18M) [application/ | ||
+ | Sauvegarde en : «node-v10.15.3-linux-x64.tar.gz» | ||
+ | |||
+ | 100%[==================================================> | ||
+ | |||
+ | 2019-05-17 07:53:08 (1,79 MB/s) - «node-v10.15.3-linux-x64.tar.gz» sauvegardé [18638507/ | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On extraie vers le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# tar -C /usr --strip-components 1 -xzf node-v10.15.3-linux-x64.tar.gz | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie la présence de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# which npm | ||
+ | |||
+ | / | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie la version. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# npm --version | ||
+ | |||
+ | 6.4.1 | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | ===== less et less-plugin-clean-css ===== | ||
+ | |||
+ | ==== less ==== | ||
+ | |||
+ | // | ||
+ | L' | ||
+ | |||
+ | ==== less-plugin-clean-css ==== | ||
+ | |||
+ | // | ||
+ | Ce greffon compresse la sortie //css// de '' | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# npm configset strict-ssl false | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On installe ces logiciels. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# npm install -g less less-plugin-clean-css | ||
+ | |||
+ | / | ||
+ | + less-plugin-clean-css@1.5.1 | ||
+ | + less@3.9.0 | ||
+ | added 66 packages from 128 contributors in 4.337s | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie la présence de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# which less | ||
+ | |||
+ | / | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie sa version. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# less --version | ||
+ | |||
+ | less 458 (POSIX regular expressions) | ||
+ | Copyright (C) 1984-2012 Mark Nudelman | ||
+ | |||
+ | less comes with NO WARRANTY, to the extent permitted by law. | ||
+ | For information about the terms of redistribution, | ||
+ | see the file named README in the less distribution. | ||
+ | Homepage: http:// | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie la présence de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# which lessc | ||
+ | |||
+ | / | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie sa version. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# lessc --version | ||
+ | |||
+ | lessc 3.9.0 (Less Compiler) [JavaScript] | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | ===== wkhtmltox ===== | ||
+ | |||
+ | // | ||
+ | Les '' | ||
+ | |||
+ | ==== Dépendances pour wkhtmltopdf ==== | ||
+ | |||
+ | // | ||
+ | '' | ||
+ | |||
+ | On installe les dépendances. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# yum install -y fontconfig libpng libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 2.8 M | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé : | ||
+ | xorg-x11-fonts-75dpi.noarch 0:7.5-9.el7 | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | ==== Installation de wkhtmltox ==== | ||
+ | |||
+ | Si ce n'est déjà fait, on se rend dans le répertoire de travail. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cd /temp | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On nettoie le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# rm -rf * | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | <WRAP column 45%> | ||
+ | À l'aide d'un navigateur Internet, on se rend à l' | ||
+ | [[https:// | ||
+ | |||
+ | On claque //(clic droit)// sur le fichier: | ||
+ | [[https:// | ||
+ | |||
+ | Copier l' | ||
+ | |||
+ | Le lien copié est: https:// | ||
+ | </ | ||
+ | <WRAP column 45%> | ||
+ | |{{ Images_Cahier-201-02-028.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | À la ligne de commande, on entre '' | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# rpm -Uvh https:// | ||
+ | |||
+ | Récupération de https:// | ||
+ | Préparation... | ||
+ | Mise à jour / installation... | ||
+ | | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On vérifie l' | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# ls -als / | ||
+ | |||
+ | 36936 -rwxr-xr-x 1 root root 37818944 11 juin 2018 / | ||
+ | 37016 -rwxr-xr-x 1 root root 37900864 11 juin 2018 / | ||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On supprime tout dans le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# rm -rf /temp/* | ||
+ | |||
+ | [root@tchana temp]# | ||
+ | </ | ||
+ | |||
+ | On retourne dans le répertoire personnel de __root__. | ||
+ | |||
+ | < | ||
+ | [root@tchana temp]# cd | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# pwd | ||
+ | |||
+ | /root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== pychart ===== | ||
+ | |||
+ | PyChart est une bibliothèque Python pour la création de PDF, PNG ou graphiques SVG en PostScript encapsulé de haute qualité. Il prend actuellement en charge les traçage linéaires, les graphiques circulaires et par barres. Parce qu'il est basé sur Python, vous pouvez utiliser le pouvoir de scriptage de Python. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum install -y pychart | ||
+ | |||
+ | ... | ||
+ | Résumé de la transaction | ||
+ | ============================================================================================ | ||
+ | Installation | ||
+ | |||
+ | Taille totale des téléchargements : 190 k | ||
+ | Taille d' | ||
+ | ... | ||
+ | Installé : | ||
+ | pychart.noarch 0: | ||
+ | |||
+ | Terminé ! | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Vérifications finales ===== | ||
+ | |||
+ | NPM | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# which npm | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# npm --version | ||
+ | |||
+ | 6.4.1 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | LESS | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# which less | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# less --version | ||
+ | |||
+ | less 458 (POSIX regular expressions) | ||
+ | Copyright (C) 1984-2012 Mark Nudelman | ||
+ | |||
+ | less comes with NO WARRANTY, to the extent permitted by law. | ||
+ | For information about the terms of redistribution, | ||
+ | see the file named README in the less distribution. | ||
+ | Homepage: http:// | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | LESSC | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# which lessc | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# lessc --version | ||
+ | |||
+ | lessc 3.9.0 (Less Compiler) [JavaScript] | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== Odoo-12 - Installation ====== | ||
+ | |||
+ | ===== Pare-feu ===== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# config set fw_odoo service status enabled TCPPort 8069 access green | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Pour ouvrir le port 8069 __pour les réseaux vert et rouge__. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# config set fw_odoo service status enabled TCPPort 8069 access green,red | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On signale le changement. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# signal-event firewall-adjust | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | ACCEPT | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | ACCEPT | ||
+ | ACCEPT | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On affiche la configuration du port ouvert pour Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# config show fw_odoo | ||
+ | |||
+ | fw_odoo=service | ||
+ | TCPPort=8069 | ||
+ | access=green | ||
+ | status=enabled | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# config show fw_odoo | ||
+ | |||
+ | fw_odoo=service | ||
+ | TCPPort=8069 | ||
+ | access=green, | ||
+ | status=enabled | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== git clone Odoo-12 ===== | ||
+ | |||
+ | On se substitue à l' | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - odoo | ||
+ | |||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie quel utilisateur nous sommes. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ whoami | ||
+ | |||
+ | odoo | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie le chemin du répertoire courant. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ pwd | ||
+ | |||
+ | / | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On emploie l' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ git clone https:// | ||
+ | |||
+ | Cloning into '/ | ||
+ | remote: Enumerating objects: 24260, done. | ||
+ | remote: Counting objects: 100% (24260/ | ||
+ | remote: Compressing objects: 100% (18984/ | ||
+ | remote: Total 24260 (delta 7229), reused 15015 (delta 4465), pack-reused 0 | ||
+ | Receiving objects: 100% (24260/ | ||
+ | Resolving deltas: 100% (7229/ | ||
+ | Checking out files: 100% (21766/ | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | ===== Environnement virtuel pour l' | ||
+ | |||
+ | On active Python-36. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ scl enable rh-python36 bash | ||
+ | |||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On crée un environnement virtuel pour l' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ python3 -m venv odoo12-venv | ||
+ | |||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On active l' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ source odoo12-venv/ | ||
+ | |||
+ | (odoo12-venv) [odoo@tchana ~] | ||
+ | </ | ||
+ | |||
+ | ==== requirements.txt ==== | ||
+ | |||
+ | C'est ici que '' | ||
+ | |||
+ | On installe toutes les exigences contenues dans le fichier '' | ||
+ | |||
+ | < | ||
+ | (odoo12-venv) [odoo@tchana ~]$ pip3 install -r / | ||
+ | |||
+ | Ignoring gevent: markers ' | ||
+ | ... | ||
+ | Collecting Babel==2.3.4 (from -r / | ||
+ | Downloading https:// | ||
+ | 100% |████████████████████████████████| 7.1MB 152kB/s | ||
+ | ... | ||
+ | Building wheels for collected packages: ebaysdk, feedparser, gevent, greenlet, html2text, lxml, Mako, MarkupSafe, ofxparse, psutil, pydot, pyldap, PyPDF2, pyusb, reportlab, suds-jurko, vatnumber, vobject, olefile | ||
+ | ... | ||
+ | Successfully built ebaysdk feedparser gevent greenlet html2text lxml Mako MarkupSafe ofxparse psutil pydot pyldap PyPDF2 pyusb reportlab suds-jurko vatnumber vobject olefile | ||
+ | Installing collected packages: pytz, Babel, chardet, decorator, docutils, lxml, urllib3, certifi, idna, requests, ebaysdk, feedparser, greenlet, gevent, html2text, MarkupSafe, Jinja2, libsass, Mako, pbr, mock, num2words, soupsieve, beautifulsoup4, | ||
+ | ... | ||
+ | Successfully installed Babel-2.3.4 Jinja2-2.10.1 Mako-1.0.4 MarkupSafe-0.23 Pillow-4.0.0 PyPDF2-1.26.0 Werkzeug-0.11.15 XlsxWriter-0.9.3 beautifulsoup4-4.7.1 certifi-2019.3.9 chardet-3.0.4 decorator-4.0.10 docutils-0.12 ebaysdk-2.1.5 feedparser-5.2.1 gevent-1.1.2 greenlet-0.4.10 html2text-2016.9.19 idna-2.7 libsass-0.12.3 lxml-3.7.1 mock-2.0.0 num2words-0.5.6 ofxparse-0.16 olefile-0.46 passlib-1.6.5 pbr-5.2.0 psutil-4.3.1 psycopg2-2.7.3.1 pydot-1.2.3 pyldap-2.4.28 pyparsing-2.1.10 pyserial-3.1.1 python-dateutil-2.5.3 python-stdnum-1.11 pytz-2016.7 pyusb-1.0.0 qrcode-5.3 reportlab-3.3.0 requests-2.20.0 soupsieve-1.9.1 suds-jurko-0.6 urllib3-1.24.3 vatnumber-1.2 vobject-0.9.3 xlrd-1.0.0 xlwt-1.3.0 | ||
+ | You are using pip version 9.0.1, however version 19.1.1 is available. | ||
+ | You should consider upgrading via the 'pip install --upgrade pip' command. | ||
+ | (odoo12-venv) [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On désactive l' | ||
+ | |||
+ | < | ||
+ | (odoo12-venv) [odoo@tchana ~]$ deactivate && exit | ||
+ | |||
+ | exit | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On quitte la substitution d' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie qui nous sommes. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Journal ===== | ||
+ | |||
+ | ==== Création du répertoire ==== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | DIR="/ | ||
+ | for NAME in $DIR | ||
+ | do | ||
+ | if [ ! -d $NAME ]; then | ||
+ | mkdir $NAME | ||
+ | chown odoo.odoo $NAME | ||
+ | chmod 700 $NAME | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie la création du répertoire. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -alsd / | ||
+ | |||
+ | 4 drwx------ 2 odoo odoo 6 17 mai 12:02 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== logrotation ==== | ||
+ | |||
+ | Nous autorisons la rotation du journal // | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | / | ||
+ | |||
+ | # Fichier de logrotate pour / | ||
+ | # Michel-André 2018-06-1_22h00 | ||
+ | # Pour plus de détails, voir: man logrotate | ||
+ | # Rotation quotidienne | ||
+ | daily | ||
+ | |||
+ | # Si le fichier n' | ||
+ | missingok | ||
+ | |||
+ | # Grandeur maximale de 100k | ||
+ | maxsize 100000 | ||
+ | |||
+ | # Ne conserver que 5 fichiers de log | ||
+ | rotate 5 | ||
+ | |||
+ | # Ne pas faire de rotation si le fichier est vide. | ||
+ | notifempty | ||
+ | |||
+ | # Immédiatement après la permutation, | ||
+ | # peut être omis, auquel cas ces attributs omis pour le nouveau journal prendront les même | ||
+ | # valeurs que pour le journal original. | ||
+ | # create droits propriétaire groupe | ||
+ | create 0640 odoo odoo | ||
+ | } | ||
+ | EOF | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie la création du fichier. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls / | ||
+ | |||
+ | 4 -rw-r--r-- 1 root root 776 17 mai 12:05 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie son contenu. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | / | ||
+ | |||
+ | # Fichier de logrotate pour / | ||
+ | # Michel-André 2018-06-1_22h00 | ||
+ | # Pour plus de détails, voir: man logrotate | ||
+ | # Rotation quotidienne | ||
+ | daily | ||
+ | |||
+ | # Si le fichier n' | ||
+ | missingok | ||
+ | |||
+ | # Grandeur maximale de 100k | ||
+ | maxsize 100000 | ||
+ | |||
+ | # Ne conserver que 5 fichiers de log | ||
+ | rotate 5 | ||
+ | |||
+ | # Ne pas faire de rotation si le fichier est vide. | ||
+ | notifempty | ||
+ | |||
+ | # Immédiatement après la permutation, | ||
+ | # peut être omis, auquel cas ces attributs omis pour le nouveau journal prendront les même | ||
+ | # valeurs que pour le journal original. | ||
+ | # create droits propriétaire groupe | ||
+ | create 0640 odoo odoo | ||
+ | } | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | {{ Images_Cahier-201-02-029.png? | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ==== Sauvegarde ==== | ||
+ | |||
+ | On vérifie si le nom du fichier ''/ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | NouvelleInclusion="/ | ||
+ | if grep -Fxq " | ||
+ | then | ||
+ | # L' | ||
+ | echo -e "\nLe fichier custom.include contient déjà l' | ||
+ | else | ||
+ | # L' | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Ci-dessus, il n'y a pas de ligne vide avant __/ | ||
+ | \\ | ||
+ | |||
+ | ===== Fichier de configuration: | ||
+ | |||
+ | Pour débuter, nous activons '' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | [options] | ||
+ | ; Ceci est le mot de passe qui autorise les oprérations sur la base de données: | ||
+ | admin_passwd = fghtbgh | ||
+ | ; OPTIONS DE LA BASE DE DONNÉES | ||
+ | db_host = localhost | ||
+ | db_port = 5432 | ||
+ | db_user = odoo | ||
+ | db_password = fghtbgh | ||
+ | ; PARAMÈTRES DIVERS | ||
+ | addons_path = / | ||
+ | load = web | ||
+ | timezone = America/ | ||
+ | without-demo=all | ||
+ | no-xmlrpc = True | ||
+ | no-xmlrpcs = True | ||
+ | no-netrpc = True | ||
+ | ; PARAMÈTRES DES JOURNAUX | ||
+ | logfile = / | ||
+ | ; MAR - Ceci est le défault | ||
+ | ; | ||
+ | ; MAR - Pour voir tous les messageS d' | ||
+ | log_handler = :DEBUG | ||
+ | ;log_level = warn | ||
+ | no-logrotate = True | ||
+ | EOT | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana odoo]# cat / | ||
+ | |||
+ | [options] | ||
+ | ; Ceci est le mot de passe qui autorise les oprérations sur la base de données: | ||
+ | admin_passwd = fghtbgh | ||
+ | ; OPTIONS DE LA BASE DE DONNÉES | ||
+ | db_host = localhost | ||
+ | db_port = 5432 | ||
+ | db_user = odoo | ||
+ | db_password = fghtbgh | ||
+ | ; PARAMÈTRES DIVERS | ||
+ | addons_path = / | ||
+ | load = web | ||
+ | timezone = America/ | ||
+ | without-demo=all | ||
+ | no-xmlrpc = True | ||
+ | no-xmlrpcs = True | ||
+ | no-netrpc = True | ||
+ | ; PARAMÈTRES DES JOURNAUX | ||
+ | logfile = / | ||
+ | ; MAR - Ceci est le défault | ||
+ | ; | ||
+ | ; MAR - Pour voir tous les messageS d' | ||
+ | log_handler = :DEBUG | ||
+ | ;log_level = warn | ||
+ | no-logrotate = True | ||
+ | [root@tchana html]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | On vérifie les droits du fichier. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 4 -rw-r--r-- 1 root root 639 17 mai 12:06 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On rend le script exécutable par le propriétaire/ | ||
+ | |||
+ | < | ||
+ | [root@dorgee ~]# chmod 550 / | ||
+ | |||
+ | [root@dorgee ~]# | ||
+ | </ | ||
+ | |||
+ | On change le propriétaire et le groupe pour '' | ||
+ | |||
+ | < | ||
+ | [root@dorgee ~]# chown odoo:odoo / | ||
+ | |||
+ | [root@dorgee ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@dorgee ~]# ls -ls / | ||
+ | |||
+ | 4 -r-xr-x--- 1 odoo odoo 639 17 mai 12:06 / | ||
+ | [root@dorgee ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Départ/ | ||
+ | |||
+ | On veut qu' | ||
+ | |||
+ | ==== Fichier / | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | [Unit] | ||
+ | Description=Odoo12 | ||
+ | Requires=postgresql-11.service | ||
+ | After=network.target postgresql-11.service | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | SyslogIdentifier=odoo12 | ||
+ | PermissionsStartOnly=true | ||
+ | User=odoo | ||
+ | Group=odoo | ||
+ | ExecStart=/ | ||
+ | StandardOutput=journal+console | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | EOT | ||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie la création du fichier. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 4 -rw-r--r-- 1 root root 394 17 mai 12:09 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie son contenu. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | [Unit] | ||
+ | Description=Odoo12 | ||
+ | Requires=postgresql-11.service | ||
+ | After=network.target postgresql-11.service | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | SyslogIdentifier=odoo12 | ||
+ | PermissionsStartOnly=true | ||
+ | User=odoo | ||
+ | Group=odoo | ||
+ | ExecStart=/ | ||
+ | StandardOutput=journal+console | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Premier démarrage d' | ||
+ | |||
+ | On recharge la configuration du gestionnaire " | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl daemon-reload | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | La première fois qu'on lance Odoo, on utilise les paramètre '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl enable odoo12 --now | ||
+ | |||
+ | Created symlink from / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification ==== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 25491 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 17 12:11:23 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Finalisation de l' | ||
+ | |||
+ | ==== Accès à Odoo ==== | ||
+ | |||
+ | ● {{Images_icone-201-004_Triangle.png? | ||
+ | ● On se rend à la page de notre site Odoo en spécifiant le port :8069. [[http:// | ||
+ | <WRAP indent> | ||
+ | * __Pas de https__ pour l' | ||
+ | * L' | ||
+ | </ | ||
+ | |||
+ | ==== Création d'une nouvelle base de données ==== | ||
+ | |||
+ | {{ Images_Cahier-201-02-030.png? | ||
+ | //**Master password**//: | ||
+ | Le mot de passe qu'on a spécifié dans le fichier de configuration ''/ | ||
+ | |||
+ | // | ||
+ | Le nom de la base de données que créera l' | ||
+ | |||
+ | // | ||
+ | Notre adresse courriel. On utilisera cette adresse pour se loguer en tant qu' | ||
+ | |||
+ | // | ||
+ | Le mot de passe pour l' | ||
+ | |||
+ | // | ||
+ | On choisit, dans le menu déroulant, la langue par défaut pour notre site. | ||
+ | |||
+ | //**Phone number**//: | ||
+ | Le numéro de téléphone de notre société. | ||
+ | |||
+ | // | ||
+ | Choisir le pays pour notre site. | ||
+ | |||
+ | //**Démo data**//: | ||
+ | Cocher pour installer des __données fictives pour l' | ||
+ | |||
+ | On clic **Create database** pour créer la base de données de notre société.\\ | ||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | {{ Images_Cahier-201-02-031.png? | ||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | Nous sommes prêt à utiliser Odoo.**</ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Paramètre du journal Odoo ===== | ||
+ | |||
+ | Maintenant que tout fonctionne correctement, | ||
+ | |||
+ | On utilise //vi// ou // | ||
+ | |||
+ | === Fichier final de configuration / | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | ... | ||
+ | ; LOG SETTINGS | ||
+ | logfile = / | ||
+ | ; MAR - Ceci est le défault | ||
+ | log_handler = werkzeug: | ||
+ | ; MAR - Pour voir tous les message d' | ||
+ | ; | ||
+ | ;log_level = warn | ||
+ | no-logrotate = True | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | À la console du serveur, on ouvre le fichier avec l' | ||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | < | ||
+ | vi / | ||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie les changements dans le fichiers ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | log_handler = werkzeug: | ||
+ | ; | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Nous avons changé un paramètre important, on redémarre le service " | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Rotation du journal Odoo ==== | ||
+ | |||
+ | Le journal d'Odoo est très volumineux, car il contient toutes les entrées pour le débogage. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ ls -als / | ||
+ | |||
+ | 16684 -rw-r--r-- 1 odoo odoo 17082687 17 mai 13:21 / | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On force la rotation de ce journal. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ logrotate -vf / | ||
+ | |||
+ | reading config file / | ||
+ | Allocating hash table for state file, size 15360 B | ||
+ | |||
+ | Handling 1 logs | ||
+ | |||
+ | rotating pattern: / | ||
+ | empty log files are not rotated, log files >= 100000 are rotated earlier, old logs are removed | ||
+ | considering log / | ||
+ | log needs rotating | ||
+ | rotating log / | ||
+ | dateext suffix ' | ||
+ | glob pattern ' | ||
+ | renaming / | ||
+ | old log / | ||
+ | renaming / | ||
+ | old log / | ||
+ | renaming / | ||
+ | old log / | ||
+ | renaming / | ||
+ | old log / | ||
+ | renaming / | ||
+ | old log / | ||
+ | renaming / | ||
+ | old log / | ||
+ | log / | ||
+ | renaming / | ||
+ | creating new / | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | total 16688 | ||
+ | 0 drwx------ | ||
+ | 4 drwxr-xr-x. 22 root root 4096 17 mai 12:02 .. | ||
+ | 0 -rw-r----- | ||
+ | 16684 -rw-r--r-- | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Désinstallation des compilateurs gcc et cpp ===== | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | Le paquet '' | ||
+ | |||
+ | Nous forçons la désinstallation de ces deux RPM. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -e --nodeps gcc cpp | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep cpp | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rpm -qa | grep gcc | ||
+ | |||
+ | libgcc-4.8.5-36.el7_6.2.x86_64 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Les compilateurs '' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== Odoo-12 -Redirection sécurisée ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | Un grand merci à Markus Neuberger, ambassadeur de NethServer. | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | </ | ||
+ | <WRAP column 40%> | ||
+ | |{{ Images_Cahier-201-02-032.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | Contenu du répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | total 0 | ||
+ | 0 drwxr-xr-x. 3 root root 25 24 avril 09:46 . | ||
+ | 0 drwxr-xr-x. 4 root root 33 24 avril 09:46 .. | ||
+ | 0 drwxr-xr-x. 3 root root 28 4 janv. 09:16 .well-known | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Serveur branché directement à l' | ||
+ | |||
+ | Voir la section __Certificat Let's Encrypt__ du | ||
+ | [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver# | ||
+ | : //VDSL, FQDN, Internet et NethServer// | ||
+ | \\ | ||
+ | |||
+ | ===== Préparation pour la demande d'un certificat Let's Encrypt ===== | ||
+ | |||
+ | <WRAP column 32%> | ||
+ | Avant d' | ||
+ | [[nethserver_101_cahier_04_local_certificat_let_encrypt# | ||
+ | : // | ||
+ | </ | ||
+ | <WRAP column 58%> | ||
+ | |{{ Images_Cahier-201-02-033.png? | ||
+ | |||
+ | |{{ Images_Cahier-201-02-034.png? | ||
+ | |||
+ | |{{ Images_Cahier-201-02-035.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-036.png? | ||
+ | On vérifie le résultat. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-037.png? | ||
+ | ==== Création d'une entrée DNS pour Odoo ==== | ||
+ | |||
+ | **Configuration -> DNS ->** onglet | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 32%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-038.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | \\ | ||
+ | On vérifie le résultat. | ||
+ | |{{ Images_Cahier-201-02-039.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Demande d'un certificat de test ===== | ||
+ | |||
+ | On force '' | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | --issue | ||
+ | --dns dns_cf | ||
+ | -d micronator-dev.org | ||
+ | -d www.micronator-dev.org | ||
+ | -d mail.micronator-dev.org | ||
+ | -d wpad.micronator-dev.org | ||
+ | -d odoo.micronator-dev.org | ||
+ | -d www.odoo.micronator-dev.org | ||
+ | -d mail.odoo.micronator-dev.org | ||
+ | --cert-file / | ||
+ | --ca-file / | ||
+ | --key-file / | ||
+ | --reloadcmd "/ | ||
+ | --force | ||
+ | --test | ||
+ | |||
+ | ... | ||
+ | [sam. mai 18 11:35:55 EDT 2019] Installing CA to:/ | ||
+ | [sam. mai 18 11:35:55 EDT 2019] Installing key to:/ | ||
+ | [sam. mai 18 11:35:55 EDT 2019] Run reload cmd: / | ||
+ | [sam. mai 18 11:35:59 EDT 2019] Reload success | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | La demande d'un certificat de //test// est réussie. | ||
+ | \\ | ||
+ | |||
+ | ===== Demande d'un certificat officiel ===== | ||
+ | |||
+ | On force le renouvellement pour l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | --issue | ||
+ | --dns dns_cf | ||
+ | -d micronator-dev.org | ||
+ | -d www.micronator-dev.org | ||
+ | -d mail.micronator-dev.org | ||
+ | -d wpad.micronator-dev.org | ||
+ | -d odoo.micronator-dev.org | ||
+ | -d www.odoo.micronator-dev.org | ||
+ | -d mail.odoo.micronator-dev.org | ||
+ | --cert-file / | ||
+ | --ca-file / | ||
+ | --key-file / | ||
+ | --reloadcmd "/ | ||
+ | --force | ||
+ | |||
+ | ... | ||
+ | [sam. mai 18 11:40:01 EDT 2019] Installing cert to:/ | ||
+ | [sam. mai 18 11:40:01 EDT 2019] Installing CA to:/ | ||
+ | [sam. mai 18 11:40:01 EDT 2019] Installing key to:/ | ||
+ | [sam. mai 18 11:40:01 EDT 2019] Run reload cmd: / | ||
+ | [sam. mai 18 11:40:03 EDT 2019] Reload success | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | La demande d'un certificat officiel a été couronné de succès. | ||
+ | |||
+ | Vérification du certificat Let's Encrypt à l'aide de Firefox en se rendant à https:// | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-040.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **Plus d' | ||
+ | |{{ Images_Cahier-201-02-041.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-042.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | <WRAP column 45%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-043.png? | ||
+ | </ | ||
+ | <WRAP column 45%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-044.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-045.png? | ||
+ | Nous sommes sur un réseau LOCAL et vu que nous n' | ||
+ | |||
+ | '' | ||
+ | |||
+ | du poste de travail afin qu'il puisse trouver l' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Redirection par le module Proxy inverse ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | On installe le module **Proxy Inverse** qui s' | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | {{ Images_Cahier-201-02-046.png? | ||
+ | **Administration -> Gestionnaire des logiciels ->** onglet **Disponible ->** cocher **Proxy inverse -> AJOUTER**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **APPLIQUER LES CHANGEMENTS**. | ||
+ | |{{ Images_Cahier-201-02-047.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **Recharger la page**. | ||
+ | |{{ Images_Cahier-201-02-048.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | Le nouveau menu //**Proxy inverse**// est disponible. | ||
+ | |{{ Images_Cahier-201-02-049.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Configuration en mandataire inversé ===== | ||
+ | |||
+ | <WRAP column 47%> | ||
+ | On configure le Serveur NethServer en tant que mandataire inversé pour // | ||
+ | |||
+ | **Passerelle -> Proxy inverse ->** onglet **Hôtes virtuels -> CRÉER NOUVEAU**. | ||
+ | |||
+ | {{ Images_Cahier-201-02-050.png? | ||
+ | |||
+ | On entre les informations demandées. | ||
+ | |||
+ | **-> SOUMETTRE**. | ||
+ | </ | ||
+ | <WRAP column 47%> | ||
+ | |{{ Images_Cahier-201-02-051.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-052.png? | ||
+ | On vérifie le résultat. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Vérification de la connexion redirigée et sécurisée ===== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | On se rend à l' | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-053.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | \\ | ||
+ | La page d' | ||
+ | |{{ Images_Cahier-201-02-054.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Messagerie électronique ===== | ||
+ | |||
+ | On configure la messagerie électronique pour le domaine // | ||
+ | |||
+ | <WRAP column 25%> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | <WRAP column 25%> | ||
+ | |{{ Images_Cahier-201-02-055.png? | ||
+ | </ | ||
+ | <WRAP column 40%> | ||
+ | |{{ Images_Cahier-201-02-056.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | {{ Images_Cahier-201-02-057.png? | ||
+ | On vérifie le résultat. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | Pour accéder à // | ||
+ | https:// | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | [[nethserver_101_cahier_03_creation_un_serveur_virtuel# | ||
+ | |||
+ | |||
+ | \\ | ||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | </ | ||
+ | <WRAP column 40%> | ||
+ | |{{ Images_Cahier-201-02-058.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ====== Odoo-12 - Post-scriptum ====== | ||
+ | |||
+ | ===== Vérification du démarrages des services ===== | ||
+ | |||
+ | ==== PostgreSQL ==== | ||
+ | |||
+ | On vérifie son statut. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status postgresql-11 | ||
+ | |||
+ | ● postgresql-11.service - PostgreSQL 11 database server | ||
+ | | ||
+ | | ||
+ | Docs: https:// | ||
+ | Main PID: 3391 (postmaster) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 18 11:15:31 tchana.micronator-dev.org systemd[1]: Starting PostgreSQL 11 database se.... | ||
+ | mai 18 11:15:43 tchana.micronator-dev.org postmaster[3391]: | ||
+ | mai 18 11:15:43 tchana.micronator-dev.org postmaster[3391]: | ||
+ | mai 18 11:15:45 tchana.micronator-dev.org postmaster[3391]: | ||
+ | mai 18 11:15:46 tchana.micronator-dev.org postmaster[3391]: | ||
+ | mai 18 11:15:46 tchana.micronator-dev.org postmaster[3391]: | ||
+ | mai 18 11:16:10 tchana.micronator-dev.org systemd[1]: Started PostgreSQL 11 database server. | ||
+ | Hint: Some lines were ellipsized, use -l to show in full. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Odoo ==== | ||
+ | |||
+ | On vérifie son statut. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 4694 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 18 11:16:10 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Administration d'Odoo ===== | ||
+ | |||
+ | Pour administrer Odoo, il suffit de se connecter avec le justificatif choisi lors de la [[nethserver_201_cahier_02_odoo_12# | ||
+ | ● On se rend à: https:// | ||
+ | ● On peut aussi utiliser http:// | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-059.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | \\ | ||
+ | La page d' | ||
+ | |{{ Images_Cahier-201-02-060.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Fichiers journaux ===== | ||
+ | |||
+ | ==== PostgreSQL ==== | ||
+ | |||
+ | Le fichier du journal de // | ||
+ | |||
+ | ==== Odoo ==== | ||
+ | |||
+ | Afin de vous assurer que tout ait démarré correctement, | ||
+ | |||
+ | ● À l'aide de l' | ||
+ | ● Directement dans les fichiers ''/ | ||
+ | |||
+ | ==== Fichier / | ||
+ | |||
+ | On peut aussi utiliser la console du serveur pour vérifier le journal d'Odoo afin de s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | 2019-05-29 17: | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On voit que le module // | ||
+ | |||
+ | === Installation du module manquant === | ||
+ | |||
+ | On se substitue à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - odoo | ||
+ | |||
+ | Dernière connexion : mercredi 22 mai 2019 à 00:12:34 EDT sur pts/1 | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On active // | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ scl enable rh-python36 bash | ||
+ | |||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On s' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ pwd | ||
+ | |||
+ | /opt/odoo | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On active l' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ source odoo12-venv/ | ||
+ | |||
+ | (odoo12-venv) [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On installe le module // | ||
+ | |||
+ | < | ||
+ | (odoo12-venv) [odoo@tchana ~]$ pip3 install phonenumbers | ||
+ | |||
+ | Collecting phonenumbers | ||
+ | Downloading https:// | ||
+ | 100% |████████████████████████████████| 2.6MB 359kB/s | ||
+ | Installing collected packages: phonenumbers | ||
+ | Successfully installed phonenumbers-8.10.12 | ||
+ | You are using pip version 9.0.1, however version 19.1.1 is available. | ||
+ | You should consider upgrading via the 'pip install --upgrade pip' command. | ||
+ | (odoo12-venv) [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On désactive l' | ||
+ | |||
+ | < | ||
+ | (odoo12-venv) [odoo@tchana ~]$ deactivate && exit | ||
+ | |||
+ | exit | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie qui nous sommes. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ whoami | ||
+ | |||
+ | odoo | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On quitte la substitution d' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie qui nous sommes. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | On redémarre Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie le journal. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | 2019-05-29 17: | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Il n' | ||
+ | |||
+ | On vérifie pour des erreurs. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie pour des avertissements. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | 2019-05-29 16: | ||
+ | 2019-05-29 16: | ||
+ | 2019-05-29 16: | ||
+ | 2019-05-29 16: | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Changements de mots de passe ===== | ||
+ | |||
+ | ==== Utilisateur odoo de PostgreSQL ==== | ||
+ | |||
+ | Vous pouvez trouver le mot de passe de l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | db_password = fghtbgh | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Si le mot de passe a été perdu ou piraté, on doit changer le mot de passe de l' | ||
+ | |||
+ | * à la console du Serveur NethServer, | ||
+ | * à la console de PostgreSQL et | ||
+ | * dans le fichier ''/ | ||
+ | |||
+ | ==== À la console du Serveur NethServer ==== | ||
+ | |||
+ | On change le __mot de passe Linux__ de l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# passwd odoo | ||
+ | |||
+ | Changement de mot de passe pour l' | ||
+ | Nouveau mot de passe : nouveau-mot-de-passe-pour-odoo | ||
+ | MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères | ||
+ | Retapez le nouveau mot de passe : nouveau-mot-de-passe-pour-odoo | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ==== A la console de PostgreSQL ==== | ||
+ | |||
+ | Il faut se substituer au super-utilisateur __postgres__, | ||
+ | |||
+ | À la console du serveur, on se substitue à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - postgres | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ whoami | ||
+ | |||
+ | postgres | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql | ||
+ | |||
+ | psql (11.3)) | ||
+ | Saisissez « help » pour l' | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On change le mot de passe de l' | ||
+ | |||
+ | < | ||
+ | postgres=# ALTER ROLE odoo WITH PASSWORD ' | ||
+ | |||
+ | ALTER ROLE | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On quitte la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | postgres=# \q | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On retourne à l' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Dans le fichier / | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On édite le fichier ''/ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | db_password = fghtbgh | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Redémarrage de PostgreSQL ==== | ||
+ | |||
+ | On redémarre le service PostgreSQL. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart postgresql-11 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status postgresql-11 | ||
+ | |||
+ | ● postgresql-11.service - PostgreSQL 11 database server | ||
+ | | ||
+ | | ||
+ | Docs: https:// | ||
+ | Process: 7994 ExecStartPre=/ | ||
+ | Main PID: 8000 (postmaster) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 13:16:36 tchana.micronator-dev.org systemd[1]: Stopped PostgreSQL 11 database server. | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org systemd[1]: Starting PostgreSQL 11 database se.... | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org postmaster[8000]: | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org postmaster[8000]: | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org postmaster[8000]: | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org postmaster[8000]: | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org postmaster[8000]: | ||
+ | mai 19 13:16:36 tchana.micronator-dev.org systemd[1]: Started PostgreSQL 11 database server. | ||
+ | Hint: Some lines were ellipsized, use -l to show in full. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Redémarrage d'Odoo ==== | ||
+ | |||
+ | On redémarre le service Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 8324 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 13:21:24 tchana.micronator-dev.org systemd[1]: Stopped Odoo12. | ||
+ | mai 19 13:21:24 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ==== Super-utilisateur de PostgreSQL ==== | ||
+ | |||
+ | Si le mot de passe a été perdu ou piraté, on doit changer le mot de passe du super utilisateur PostgreSQL __postgres__. | ||
+ | |||
+ | Vous pouvez trouver le mot de passe du super utilisateur PostgreSQL __postgres__ dans le fichier de configuration ''/ | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | admin_passwd = fghtbgh | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Si on veut changer le mot de passe du super utilisateur PostgreSQL __postgres__, | ||
+ | |||
+ | - à la console du Serveur NethServer, | ||
+ | - à la console de PostgreSQL, | ||
+ | - dans le fichier ''/ | ||
+ | - dans le fichier ''/ | ||
+ | |||
+ | ==== À la console du Serveur NethServer ==== | ||
+ | |||
+ | On vérifie si nous sommes __root__. | ||
+ | |||
+ | < | ||
+ | root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On change __le mot de passe Linux__ du super-utilisateur __postgres__. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# passwd postgres | ||
+ | |||
+ | Changement de mot de passe pour l' | ||
+ | Entrez le nouveau mot de passe UNIX : nouveau-mot-de-passe-pour-postgres | ||
+ | Retapez le nouveau mot de passe UNIX : nouveau-mot-de-passe-pour-postgres | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== À la console de PostgreSQL ==== | ||
+ | |||
+ | On se substitue au super-utilisateur __postgres__. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - postgres | ||
+ | |||
+ | Dernière connexion : dimanche 19 mai 2019 à 13:14:13 EDT sur pts/0 | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On ouvre la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql | ||
+ | |||
+ | psql (11.3) | ||
+ | Saisissez « help » pour l' | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On change le mot de passe du super-utilisateur __postgres__. | ||
+ | |||
+ | < | ||
+ | postgres=# \password | ||
+ | |||
+ | Saisissez le nouveau mot de passe : nouveau-mot-de-passe-du-super-utilisateur | ||
+ | Saisissez-le à nouveau : nouveau-mot-de-passe-du-super-utilisateur | ||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On sort de la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | postgres=# \q | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On retourne à l' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Dans le fichier / | ||
+ | |||
+ | On édite le fichier ''/ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | admin_passwd = fghtbgh | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Dans le fichier / | ||
+ | |||
+ | Il faut aussi changer le mot de passe du super-utilisateur __postgres__ dans le script de sauvegarde/ | ||
+ | |||
+ | On édite le fichier ''/ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | MDP_SUPER_utilisateur=fghtbgh | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Réamorçage de PostgreSQL ==== | ||
+ | |||
+ | On réamorce PostgreSQL. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart postgresql-11 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status postgresql-11 | ||
+ | |||
+ | ● postgresql-11.service - PostgreSQL 11 database server | ||
+ | | ||
+ | | ||
+ | Docs: https:// | ||
+ | Process: 11052 ExecStartPre=/ | ||
+ | Main PID: 11058 (postmaster) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 14:03:45 tchana.micronator-dev.org systemd[1]: Stopped PostgreSQL 11 database server. | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org systemd[1]: Starting PostgreSQL 11 database se.... | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org postmaster[11058]: | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org postmaster[11058]: | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org postmaster[11058]: | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org postmaster[11058]: | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org postmaster[11058]: | ||
+ | mai 19 14:03:45 tchana.micronator-dev.org systemd[1]: Started PostgreSQL 11 database server. | ||
+ | Hint: Some lines were ellipsized, use -l to show in full. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Réamorçage d'Odoo ==== | ||
+ | |||
+ | On réamorce le service Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 11343 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 14:07:58 tchana.micronator-dev.org systemd[1]: Stopped Odoo12. | ||
+ | mai 19 14:07:58 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | \\ | ||
+ | |||
+ | ==== Administrateur Odoo ==== | ||
+ | |||
+ | Si le mot de passe a été perdu ou piraté, on doit changer le mot de passe de l' | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-061.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-062.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-063.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | On se déconnecte d'Odoo et on se reconnecte avec le nouveau mot de passe. | ||
+ | |||
+ | <WRAP column 20%> | ||
+ | |{{ Images_Cahier-201-02-064.png? | ||
+ | </ | ||
+ | <WRAP column 70%> | ||
+ | |{{ Images_Cahier-201-02-065.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | Le nouveau mot de passe de l' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== Sauvegarde de la BD - Interface Odoo ====== | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | On peut faire une sauvegarde/ | ||
+ | |||
+ | ===== Sauvegarde ===== | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-066.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **Backup**. | ||
+ | |{{ Images_Cahier-201-02-067.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-068.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | **Enregistrer le fichier -> OK**. | ||
+ | |{{ Images_Cahier-201-02-069.png? | ||
+ | </ | ||
+ | <WRAP column 62%> | ||
+ | **Enregistrer**. | ||
+ | |{{ Images_Cahier-201-02-070.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Récupération du fichier de la sauvegarde PostgreSQL ===== | ||
+ | |||
+ | - Depuis le poste de travail tel que ci-dessus au paragraphe [[nethserver_201_cahier_02_odoo_12# | ||
+ | - Depuis la sauvegarde NethServer décrite à la section [[nethserver_201_cahier_02_odoo_12# | ||
+ | |||
+ | ===== Restriction des connexions à Odoo ===== | ||
+ | |||
+ | {{ Images_Cahier-201-02-071.png? | ||
+ | Avant de pouvoir restaurer une sauvegarde PostgreSQL, il faut supprimer la BD actuelle. | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | Pour l' | ||
+ | [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis# | ||
+ | : du "Cours NethServer-101" | ||
+ | . | ||
+ | |||
+ | {{ Images_Cahier-201-02-072.png? | ||
+ | **Interface Web NethServer -> Passerelle -> Proxy inverse ->** onglet **Hôtes virtuels -> Éditer**. | ||
+ | |||
+ | // | ||
+ | On entre l' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | Attention à ne pas vous peinturer dans un coin... | ||
+ | |||
+ | //**-> SOUMETTRE**// | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Restauration ===== | ||
+ | |||
+ | Pour pouvoir restaurer une BD d' | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-073.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **Delete**. | ||
+ | |{{ Images_Cahier-201-02-074.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-075.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-076.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | On entre le mot de passe du super-utilisateur __postgres__ **-> Parcourir...** | ||
+ | |{{ Images_Cahier-201-02-077.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | On sélectionne la BD à restaurer **-> Ouvrir**. | ||
+ | |{{ Images_Cahier-201-02-078.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-079.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-080.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Vérification ===== | ||
+ | |||
+ | ==== Interface Odoo ==== | ||
+ | |||
+ | On se logue à Odoo et on vérifie si tout est tel qu'au moment de la sauvegarde. | ||
+ | |||
+ | <WRAP column 32%> | ||
+ | |{{ Images_Cahier-201-02-081.png? | ||
+ | </ | ||
+ | <WRAP column 60%> | ||
+ | |{{ Images_Cahier-201-02-082.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Journal Odoo ==== | ||
+ | |||
+ | {{ Images_Cahier-201-02-083.png? | ||
+ | On vérifie le journal d' | ||
+ | |||
+ | **Interface Web NethServer -> Administration -> Logs**. | ||
+ | |||
+ | On clique **/ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | On redémarre Odoo pour une vérification finale. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On réexamine le fichier journal pour vérifier le redémarrage. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# tail -n8 / | ||
+ | |||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | 2019-05-20 03: | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-084.png? | ||
+ | ===== Suppression de la restriction des connexions à Odoo ===== | ||
+ | |||
+ | **Interface Web NethServer -> Passerelle -> Proxy inverse ->** onglet | ||
+ | |||
+ | // | ||
+ | On supprime l' | ||
+ | |||
+ | **-> SOUMETTRE**. | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | fonctionnent correctement.**</ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ====== Sauvegarde manuelle de la BD ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | Ce script sera lancé par une tâche //cron// qui s' | ||
+ | \\ | ||
+ | |||
+ | ===== Répertoire de sauvegarde ===== | ||
+ | |||
+ | Tout ce qui a trait à la sauvegarde de la BD //Odoo-12// de PostgreSQL se trouvera dans un répertoire dédié à cette fin uniquement: ''/ | ||
+ | |||
+ | * Le propriétaire et le groupe du répertoire seront // | ||
+ | * Le fichier de la nouvelle sauvegarde: | ||
+ | * sera généré et écrasera la sauvegarde précédente et | ||
+ | * sera sécurisé par le script en changeant le propriétaire et le groupe pour // | ||
+ | |||
+ | |||
+ | On crée le répertoire. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# mkdir / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On change le propriétaire et le groupe. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chown postgres: | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On ajuste tous les droits afin que seul l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chmod 700 / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -alsd / | ||
+ | |||
+ | 0 drwx------ 2 postgres postgres 6 19 mai 16:28 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Script de sauvegarde PostgreSQL ===== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | #!/bin/sh | ||
+ | |||
+ | # Script pour générer une sauvegarde de la BD PostgreSQL d' | ||
+ | # Michel-André 2018-09-17_11h16 | ||
+ | |||
+ | # vars | ||
+ | TEMPS_DE_PAUSE=10 | ||
+ | REP_SAUVEGARDE=/ | ||
+ | NOM_BD_ODOO=Odoo-12 | ||
+ | FORMAT_FICHIER=zip | ||
+ | MDP_SUPER_utilisateur=fghtbgh | ||
+ | PORT_ODOO=8069 | ||
+ | |||
+ | # On vérifie qu' | ||
+ | if (!(/ | ||
+ | # Message au système et à la console | ||
+ | /bin/logger " | ||
+ | /bin/logger " | ||
+ | /bin/echo " | ||
+ | |||
+ | # On relance server-odoo pour la sauvegarde de la BD $NOM_BD_ODOO | ||
+ | / | ||
+ | /bin/logger " | ||
+ | /bin/logger " | ||
+ | /bin/echo " | ||
+ | |||
+ | # Message au système et à la console | ||
+ | /bin/logger "Pause de $TEMPS_DE_PAUSE secondes pour le démarrage d' | ||
+ | /bin/echo "Pause de $TEMPS_DE_PAUSE secondes pour le démarrage d' | ||
+ | |||
+ | # On fait une pause de $TEMPS_DE_PAUSE secondes pour le démarrage d' | ||
+ | /bin/sleep $TEMPS_DE_PAUSE | ||
+ | fi | ||
+ | |||
+ | /bin/logger " | ||
+ | /bin/logger " | ||
+ | /bin/echo " | ||
+ | |||
+ | # On sauvegarde la BD dans $REP_SAUVEGARDE/ | ||
+ | # La sauvegarde du jour écrase la sauvegarde du jour précédent. | ||
+ | |||
+ | curl -X POST \ | ||
+ | -F master_pwd=$MDP_SUPER_utilisateur \ | ||
+ | -F name=$NOM_BD_ODOO \ | ||
+ | -F backup_format=$FORMAT_FICHIER \ | ||
+ | -o $REP_SAUVEGARDE/ | ||
+ | | ||
+ | |||
+ | # On sécurise le fichier de $NOM_BD_ODOO.$FORMAT_FICHIER. | ||
+ | /bin/chown root:root $REP_SAUVEGARDE/ | ||
+ | /bin/chmod 700 $REP_SAUVEGARDE/ | ||
+ | |||
+ | # On écrit une entrée dans le journal du système. | ||
+ | /bin/logger "La sauvegarde de la BD $NOM_BD_ODOO est dans: $REP_SAUVEGARDE/ | ||
+ | /bin/logger " | ||
+ | /bin/echo "La sauvegarde de la BD $NOM_BD_ODOO est dans: $REP_SAUVEGARDE/ | ||
+ | exit 1 | ||
+ | |||
+ | EOT | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | On vérifie les sept premières lignes du fichier. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# head -n7 / | ||
+ | |||
+ | #!/bin/sh | ||
+ | |||
+ | # Script pour générer une sauvegarde de la BD PostgreSQL d' | ||
+ | # Michel-André 2018-09-17_11h16 | ||
+ | |||
+ | # vars | ||
+ | TEMPS_DE_PAUSE=10 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On sécurise le fichier en changeant le groupe et le propriétaire. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chown root:root / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On ajuste les droits pour rendre le fichier exécutable par l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chmod 700 / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 4 -rwx------ 1 root root 2308 19 mai 16:37 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ===== Sauvegarde ===== | ||
+ | |||
+ | ==== Vérification du script de sauvegarde ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | | ||
+ | odoo-server est en cours d' | ||
+ | % Total % Received % Xferd Average Speed | ||
+ | | ||
+ | 100 2857k 0 2857k 100 | ||
+ | La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie le fichier de sauvegarde pour s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls / | ||
+ | |||
+ | 2860 -rwx------ 1 root root 2925903 19 mai 16:40 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ==== Journal du Serveur NethServer ==== | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | ... | ||
+ | May 19 16:40:04 tchana root: ******************** | ||
+ | May 19 16:40:04 tchana root: odoo-server est en cours d' | ||
+ | May 19 16:40:07 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | May 19 16:40:07 tchana root: ******************** | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Si odoo-server n'est pas en exécution (arrêté) ==== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ==== Vérification ==== | ||
+ | |||
+ | On affiche le status d' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 3996 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 15:59:27 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On arrête Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl stop odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Process: 3996 ExecStart=/ | ||
+ | Main PID: 3996 (code=killed, | ||
+ | |||
+ | mai 19 15:59:27 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | mai 19 16:44:07 tchana.micronator-dev.org systemd[1]: Stopping Odoo12... | ||
+ | mai 19 16:44:08 tchana.micronator-dev.org systemd[1]: Stopped Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On relance le script de sauvegarde. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | odoo-server N'EST PAS en cours d' | ||
+ | odoo-server est relancé | ||
+ | Pause de 10 secondes pour le démarrage d'Odoo | ||
+ | odoo-server est en cours d' | ||
+ | % Total % Received % Xferd Average Speed | ||
+ | | ||
+ | 100 2857k 0 2857k 100 | ||
+ | La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie le statut d' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 8269 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 19 16:47:46 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | \\ | ||
+ | |||
+ | On vérifie le fichier de sauvegarde pour s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls / | ||
+ | |||
+ | 2860 -rwx------ 1 root root 2925903 19 mai 16:47 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Inclusion du répertoire dans la sauvegarde de NethServer ==== | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | On vérifie si le nom du répertoire ''/ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | NouvelleInclusion="/ | ||
+ | if grep -Fxq " | ||
+ | then | ||
+ | # L' | ||
+ | echo -e "\nLe fichier custom.include contient déjà l' | ||
+ | else | ||
+ | # L' | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Ci-dessus, il n'y a pas de ligne vide avant __/ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Tâche cron ===== | ||
+ | |||
+ | On crée une tâche //cron// qui s' | ||
+ | |||
+ | ==== Répertoire pour un gabarit personnalisé ==== | ||
+ | |||
+ | Création du répertoire.\\ | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | DIR="/ | ||
+ | for NAME in $DIR | ||
+ | do | ||
+ | if [ ! -d $NAME ]; then | ||
+ | mkdir -p $NAME | ||
+ | chown odoo.odoo $NAME | ||
+ | chmod 770 $NAME | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -alsd / | ||
+ | |||
+ | 0 drwxrwx--- 2 odoo odoo 6 19 mai 16:59 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Création de la tâche cron ==== | ||
+ | |||
+ | On crée le fichier de la tâche //cron// et on y insère son contenu. Elle s' | ||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | SHELL=/ | ||
+ | MAILTO=root | ||
+ | # | ||
+ | # Tâche cron qui lance / | ||
+ | # de sauvegarder la BD d' | ||
+ | |||
+ | # Michel-André, | ||
+ | |||
+ | # ┌───────────── min (0 - 59) | ||
+ | # │ ┌────────────── heure (0 - 23) | ||
+ | # │ │ ┌─────────────── jour du mois (1 - 31) | ||
+ | # │ │ │ ┌──────────────── mois (1 - 12) | ||
+ | # │ │ │ │ ┌───────────────── jour de la semaine (0 - 6) (0 à 6 sont de dimanche à samedi, | ||
+ | # │ │ │ │ │ 7 est dimanche, même que 0) | ||
+ | # │ │ │ │ │ | ||
+ | # * * * * * [utilisateur] commande à exécuter | ||
+ | # | ||
+ | 0 2 * * * root / | ||
+ | |||
+ | EOT | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | On vérifie le contenu du fichier de la tâche. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | SHELL=/ | ||
+ | MAILTO=root | ||
+ | # | ||
+ | # Tâche cron qui lance / | ||
+ | # de sauvegarder la BD d' | ||
+ | |||
+ | # Michel-André, | ||
+ | |||
+ | # ┌───────────── min (0 - 59) | ||
+ | # │ ┌────────────── heure (0 - 23) | ||
+ | # │ │ ┌─────────────── jour du mois (1 - 31) | ||
+ | # │ │ │ ┌──────────────── mois (1 - 12) | ||
+ | # │ │ │ │ ┌───────────────── jour de la semaine (0 - 6) (0 à 6 sont de dimanche à samedi, | ||
+ | # │ │ │ │ │ 7 est dimanche, même que 0) | ||
+ | # │ │ │ │ │ | ||
+ | # * * * * * [utilisateur] commande à exécuter | ||
+ | # | ||
+ | 0 2 * * * root / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On sécurise le fichier. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# chmod 700 / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls / | ||
+ | |||
+ | 4 -rwx------ 1 root root 859 19 mai 17:14 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On développe le gabarit personnalisé. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On redémarre le démon //crond//. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart crond | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification de la tâche cron ==== | ||
+ | |||
+ | On modifie l' | ||
+ | |||
+ | On change l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# sed -i 's/^0 2/\* \*/' / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# tail -n3 / | ||
+ | |||
+ | # | ||
+ | * * * * * root / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On développe le gabarit personnalisé. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On redémarre le démon //crond//. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart crond | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Suivi ==== | ||
+ | |||
+ | On lance la commande ci-dessous pour suivre toutes les tâches //cron// et on filtre avec '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# tail -F / | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | À toutes les minutes, on voit notre tâche s' | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | ... | ||
+ | May 19 17:19:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | May 19 17:20:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | May 19 17:21:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On arrête la commande tail avec **[CTL]** + **[c]**. | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | May 19 17:21:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | ^C | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification lorsqu' | ||
+ | |||
+ | On arrête Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl stop odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On relance la commande '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# tail -F / | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | À toutes les minutes, on voit notre tâche s' | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | May 19 17:24:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | On arrête la commande tail avec **[CTL]** + **[c]**. | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | May 19 17:24:03 tchana root: La sauvegarde de la BD Odoo-12 est dans: / | ||
+ | ^C | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On remet l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# sed -i 's/\* \* \* \* \* root/0 2 \* \* \* root/' | ||
+ | / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# tail -n3 / | ||
+ | |||
+ | # | ||
+ | * 2 * * * * root / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On développe le gabarit personnalisé. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On redémarre le démon //crond//. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart crond | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Courriel de notification ==== | ||
+ | |||
+ | L' | ||
+ | |||
+ | On se rend à l'URL: [[https:// | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-085.png? | ||
+ | </ | ||
+ | <WRAP column 62%> | ||
+ | |{{ Images_Cahier-201-02-086.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Inclusion du script dans la sauvegarde de NethServer ==== | ||
+ | |||
+ | On vérifie si le nom du répertoire ''/ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | NouvelleInclusion="/ | ||
+ | if grep -Fxq " | ||
+ | then | ||
+ | # L' | ||
+ | echo -e "\nLe fichier custom.include contient déjà l' | ||
+ | else | ||
+ | # L' | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# cat / | ||
+ | |||
+ | / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | |||
+ | ===== Récupération du fichier de sauvegarde ===== | ||
+ | |||
+ | On peut choisir le fichier de sauvegarde qu'on veut restaurer. | ||
+ | |||
+ | - ''/ | ||
+ | - '' | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | La dernière sauvegarde PostgreSQL est présente dans le répertoire ''/ | ||
+ | |||
+ | ==== Odoo-12.zip depuis une sauvegarde NethServer ==== | ||
+ | |||
+ | Si le fichier de sauvegarde stocké sur le poste de travail n'est pas assez récent, on peut récupérer le fichier de sauvegarde PostgreSQL depuis les sauvegardes NethServer . | ||
+ | |||
+ | On s' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Mon May 20 10:37:07 2019 var/ | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Le fichier '' | ||
+ | |||
+ | {{ Images_Cahier-201-02-087.png? | ||
+ | //**Backup file**// | ||
+ | On choisit la sauvegarde désirée. | ||
+ | |||
+ | ⦿ // | ||
+ | < | ||
+ | |||
+ | // | ||
+ | On sélectionne le répertoire: | ||
+ | |||
+ | // | ||
+ | |||
+ | **-> RESTAURER**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-088.png? | ||
+ | Le répertoire a été trouvé et restauré à sa position initiale. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -als / | ||
+ | |||
+ | 2860 -rwx------ 1 root root 2926469 20 mai 10:37 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Le fichier est bien celui de la sauvegarde que nous avons lancée manuellement ce matin. | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | {{ Images_Cahier-201-02-089.png? | ||
+ | Si on veut restaurer la sauvegarde '' | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Restriction des connexions ===== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Suppression de la base de données actuelle ===== | ||
+ | |||
+ | On vérifie si le service est en cours d' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | ● odoo12.service - Odoo12 | ||
+ | | ||
+ | | ||
+ | Main PID: 28231 (scl) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mai 20 16:03:22 tchana.micronator-dev.org systemd[1]: Started Odoo12. | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On arrête Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl stop odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | grep Active | ||
+ | |||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On se substitue à l' | ||
+ | |||
+ | < | ||
+ | root@tchana ~]# su - postgres | ||
+ | |||
+ | Dernière connexion : vendredi 17 mai 2019 à 00:12:36 EDT sur pts/0 | ||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On entre dans la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ psql | ||
+ | |||
+ | psql (11.3) | ||
+ | Saisissez « help » pour l' | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On affiche les BD présentes. | ||
+ | |||
+ | < | ||
+ | postgres=# | ||
+ | |||
+ | Liste des bases de données | ||
+ | Nom | Propriétaire | Encodage | Collationnement | Type caract. | Droits d' | ||
+ | -----------+--------------+----------+-----------------+--------------+---------------------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | (4 lignes) | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | On supprime la BD actuelle d'Odoo //(ne pas oublié les apostrophes **<wrap em>' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ dropdb ' | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On affiche les BD présentes. | ||
+ | |||
+ | < | ||
+ | postgres=# | ||
+ | |||
+ | Liste des bases de données | ||
+ | Nom | Propriétaire | Encodage | Collationnement | Type caract. | Droits d' | ||
+ | -----------+--------------+----------+-----------------+--------------+---------------------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | (3 lignes) | ||
+ | |||
+ | postgres=# | ||
+ | </ | ||
+ | |||
+ | La base de données //Odoo-12// n'est plus présente, elle a bien été supprimée. | ||
+ | |||
+ | On quitte la console PostgreSQL. | ||
+ | |||
+ | < | ||
+ | postgres=# | ||
+ | |||
+ | -bash-4.2$ | ||
+ | </ | ||
+ | |||
+ | On revient à l' | ||
+ | |||
+ | < | ||
+ | -bash-4.2$ exit | ||
+ | |||
+ | déconnexion | ||
+ | root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On relance Odoo pour pouvoir ré-insérer la bases de données originale. | ||
+ | |||
+ | < | ||
+ | root@tchana ~]# systemctl start odoo12 | ||
+ | |||
+ | root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | grep Active | ||
+ | |||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Restauration manuelle ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | On lance la restauration. //(Peut prendre quelques instants.)// | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# curl -F ' | ||
+ | -F backup_file=@/ | ||
+ | -F ' | ||
+ | -F ' | ||
+ | | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <meta http-equiv=" | ||
+ | < | ||
+ | <link rel=" | ||
+ | ... | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification ==== | ||
+ | |||
+ | On se logue à Odoo et on vérifie si tout est tel qu' | ||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | <WRAP column 32%> | ||
+ | |{{ Images_Cahier-201-02-090.png? | ||
+ | </ | ||
+ | <WRAP column 58%> | ||
+ | |{{ Images_Cahier-201-02-091.png? | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ===== Suppression de la restriction des connexions ===== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | \\ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | |||
+ | ====== Sauvegarde NethServer ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | // | ||
+ | Référence:// | ||
+ | |||
+ | La récupération d'une sauvegarde est le seul moyen de restaurer une machine en cas de sinistre. Le système gère deux types de sauvegardes: | ||
+ | |||
+ | - **Sauvegarde de la configuration**\\ Ce type de sauvegarde ne contient que les fichiers de configuration du système. Son objectif est de restaurer rapidement une machine en cas de récupération après sinistre. | ||
+ | - **Sauvegarde des données**\\ Ce type de sauvegarde est activée par l’installation du module " | ||
+ | \\ | ||
+ | |||
+ | ===== Sauvegarde de la configuration ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | Depuis la page **Configuration -> Sauvegarde (configuration)**, | ||
+ | |||
+ | En outre, une tâche automatisée s' | ||
+ | |||
+ | ==== Config de la sauvegarde de la configuration=== | ||
+ | |||
+ | **Configuration -> Sauvegarde (configuration) ->** onglet | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | |{{ Images_Cahier-201-02-092.png? | ||
+ | </ | ||
+ | <WRAP column 42%> | ||
+ | |{{ Images_Cahier-201-02-093.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | La liste des modules installés est incluse dans l' | ||
+ | |||
+ | ==== Personnalisation ==== | ||
+ | |||
+ | === Inclusion === | ||
+ | |||
+ | Dans la plupart des cas, il n'est pas nécessaire de modifier la // | ||
+ | |||
+ | Si vous souhaitez ajouter un fichier à la // | ||
+ | |||
+ | === Exclusion === | ||
+ | |||
+ | Si vous souhaitez exclure un fichier de la // | ||
+ | |||
+ | ==== Lancement de la Sauvegarde de la configuration ==== | ||
+ | |||
+ | {{ Images_Cahier-201-02-094.png? | ||
+ | **Configuration -> Sauvegarde (configuration) -> CRÉER UNE SAUVEGARDE**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | \\ | ||
+ | Si l' | ||
+ | |{{ Images_Cahier-201-02-095.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-096.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-097.png? | ||
+ | La sauvegarde a été créée et on voit sa description, | ||
+ | |||
+ | On peut télécharger la sauvegarde sur le poste de travail en cliquant **Télécharger**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **Enregistrer le fichier -> OK**. | ||
+ | |{{ Images_Cahier-201-02-098.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **Enregistrer**. | ||
+ | |{{ Images_Cahier-201-02-099.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | Ces fichiers ne sont pas très volumineux, quelques //Ko// seulement. | ||
+ | |{{ Images_Cahier-201-02-099-A.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ==== Restauration d'une configuration ==== | ||
+ | |||
+ | On peut récupérer une ancienne sauvegarde stockée sur le poste de travail afin de la restaurer. | ||
+ | |||
+ | <WRAP column 22%> | ||
+ | \\ | ||
+ | \\ | ||
+ | **Envoyer**. | ||
+ | |{{ Images_Cahier-201-02-100.png? | ||
+ | </ | ||
+ | <WRAP column 22%> | ||
+ | \\ | ||
+ | \\ | ||
+ | **Parcourir...** | ||
+ | |{{ Images_Cahier-201-02-101.png? | ||
+ | </ | ||
+ | <WRAP column 22%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-102.png? | ||
+ | </ | ||
+ | <WRAP column 22%> | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-103.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-104.png? | ||
+ | La sauvegarde récupérée apparaît dans la liste et on peut la restaurer en cliquant **Restaurer**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | Les différentes paramètres de la sauvegarde récupérée apparaissent ci-dessous. | ||
+ | |{{ Images_Cahier-201-02-105.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-106.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | La restauration est en cours. | ||
+ | |{{ Images_Cahier-201-02-107.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-108.png? | ||
+ | La restauration a réussie. | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Sauvegarde des données ===== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | NethServer implémente 2 types de sauvegarde des données: | ||
+ | |||
+ | - **Sauvegarde unique** // | ||
+ | - **Sauvegardes multiples** // | ||
+ | |||
+ | La sauvegarde des données peut être effectuée à l'aide de différents moteurs: | ||
+ | |||
+ | - Duplicity (défaut) - [[http:// | ||
+ | - Restic - [[https:// | ||
+ | - rsync - [[https:// | ||
+ | |||
+ | ==== Duplicity ==== | ||
+ | |||
+ | Duplicity est le moteur par défaut pour NethServer. Il dispose d'un bon algorithme de compression qui réduira le stockage sur la destination. Duplicity nécessite une sauvegarde complète une fois par semaine. Lorsque le jeu de données est très volumineux, le processus peut prendre plus de 24 heures. | ||
+ | |||
+ | {{Images_icone-201-006_Securite.png? | ||
+ | |||
+ | Applications dorsales(( **Applications dorsales**: Programme qui, dans une architecture client-serveur, | ||
+ | |||
+ | - CIFS | ||
+ | - NFS | ||
+ | - USB | ||
+ | - WebDAV // | ||
+ | |||
+ | ==== Sauvegarde unique ==== | ||
+ | |||
+ | Il s'agit de la sauvegarde système par défaut pouvant être configurée et restaurée à l'aide de l' | ||
+ | |||
+ | - Peut être planifiée une fois par jour. | ||
+ | - Peut inclure les journaux du système. | ||
+ | - Envoie des notifications à l' | ||
+ | |||
+ | ==== Répertoire partagé pour les sauvegardes ==== | ||
+ | |||
+ | - Nos sauvegardes utiliseront le protocol CIFS //(Common Internet File System)//. | ||
+ | - Elles seront téléversées automatiquement dans un répertoire partagé sur le poste de travail. | ||
+ | |||
+ | Il nous faut donc un répertoire partagé sur le poste de travail afin que le Serveur NethServer puisse y déposer les fichiers de la sauvegarde. | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-109.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | Si // | ||
+ | |{{ Images_Cahier-201-02-110.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | Dans les menus de l' | ||
+ | |{{ Images_Cahier-201-02-111.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-112.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-113.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | Onglet **Partage -> Partage avancé...** | ||
+ | |{{ Images_Cahier-201-02-114.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | Cocher **Partager ce dossier ->** //**Nom du partage: | ||
+ | |{{ Images_Cahier-201-02-115.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | **Ajouter...** | ||
+ | |{{ Images_Cahier-201-02-116.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | On entre le nom d'un utilisateur de la machine Windows, ex: **__michelandre__** **-> Vérifier les noms**. | ||
+ | |{{ Images_Cahier-201-02-117.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | Le nom vérifié apparaît **-> OK**. | ||
+ | |{{ Images_Cahier-201-02-118.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | Sélectionner **michelandre ->** cocher toutes les // | ||
+ | |{{ Images_Cahier-201-02-119.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | Sélectionner **Tout le monde ->** décocher toutes les // | ||
+ | |{{ Images_Cahier-201-02-120.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-121.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-122.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | === Vérification === | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Il voit le répertoire de partage: // | ||
+ | |||
+ | Tout est bien paramétré. | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-123.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ==== Installation du module Sauvegarde ==== | ||
+ | |||
+ | {{ Images_Cahier-201-02-124.png? | ||
+ | **Administration -> Gestionnaire des logiciels ->** on coche **Sauvegarde -> AJOUTER**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | **APPLIQUER LES CHANGEMENTS**. | ||
+ | |{{ Images_Cahier-201-02-125.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | **Recharger la page** pour afficher les nouveaux menus. | ||
+ | |{{ Images_Cahier-201-02-126.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ==== Sauvegardes (données) ==== | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | **Configuration -> Sauvegarde (données) ->** onglet **Général ->** on entre les informations demandées. | ||
+ | |{{ Images_Cahier-201-02-127.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | \\ | ||
+ | On entre les informations demandées **-> SOUMETTRE**. | ||
+ | |{{ Images_Cahier-201-02-128.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | === Notification === | ||
+ | |||
+ | ⦿ // | ||
+ | On préfère **Toujours** être notifié lorsqu' | ||
+ | |||
+ | ⦿ //**Adresse email personnalisée**// | ||
+ | Pour recevoir les courriels, on entre l' | ||
+ | |||
+ | //**Adresse de l' | ||
+ | On spécifie l' | ||
+ | |||
+ | **-> SOUMETTRE**. | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-129.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Vérifications à la ligne de commande ==== | ||
+ | |||
+ | === Sauvegarde (configuration) === | ||
+ | |||
+ | On affiche les propriétés de la configuration "// | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# config show backup-config | ||
+ | |||
+ | backup-config=configuration | ||
+ | HistoryLength=31 | ||
+ | status=enabled | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | // | ||
+ | |||
+ | // | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | === Sauvegarde (données) === | ||
+ | |||
+ | On affiche les propriétés de la configuration "// | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# config show backup-data | ||
+ | |||
+ | backup-data=configuration | ||
+ | IncludeLogs=enabled | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | // | ||
+ | |||
+ | On affiche les propriétés Sauvegarde (données). | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# db backups show | ||
+ | |||
+ | backup-data=duplicity | ||
+ | BackupTime=0 3 * * * | ||
+ | CleanupOlderThan=56D | ||
+ | FullDay=0 | ||
+ | NFSHost= | ||
+ | NFSShare= | ||
+ | Notify=always | ||
+ | NotifyFrom=admin@micronator-dev.org | ||
+ | NotifyTo=michelandre@micronator.org | ||
+ | SMBHost=10.10.10.81 | ||
+ | SMBLogin=michelandre | ||
+ | SMBPassword=mot-de-passe | ||
+ | SMBShare=Sauvegarde | ||
+ | Type=incremental | ||
+ | USBLabel= | ||
+ | VFSType=cifs | ||
+ | VolSize=250 | ||
+ | WebDAVLogin= | ||
+ | WebDAVPassword= | ||
+ | WebDAVUrl= | ||
+ | status=enabled | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | \\ | ||
+ | |||
+ | ==== Personnalisation ==== | ||
+ | |||
+ | === Inclusion de fichiers/ | ||
+ | |||
+ | On peut inclure des fichiers/ | ||
+ | |||
+ | === Grandeur des fichiers de sauvegarde === | ||
+ | |||
+ | Comme on le voit avec la commande '' | ||
+ | |||
+ | Nous ajustons la grandeur des fichiers à **2 Go** //(2048 Mo)// et ainsi facilitons l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# db backups setprop backup-data VolSize 2048 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On signale le changement. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# signal-event nethserver-backup-data-update | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# db backups show -> grep VolSize | ||
+ | |||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Lancement forcé de la sauvegarde ==== | ||
+ | |||
+ | === Première sauvegarde === | ||
+ | |||
+ | On peut forcer le lancement d'une sauvegarde en exécutant la commande ci-dessous. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Backup: backup-data | ||
+ | Backup started at 2019-02-08 13:28:03 | ||
+ | Pre backup scripts status: SUCCESS | ||
+ | --------------[ Backup Statistics ]-------------- | ||
+ | StartTime 1549650495.78 (Fri Feb 8 13:28:15 2019) | ||
+ | EndTime 1549650497.91 (Fri Feb 8 13:28:17 2019) | ||
+ | ElapsedTime 2.13 (2.13 seconds) | ||
+ | SourceFiles 419 | ||
+ | SourceFileSize 24495192 (23.4 MB) | ||
+ | NewFiles 419 | ||
+ | NewFileSize 24495192 (23.4 MB) | ||
+ | DeletedFiles 0 | ||
+ | ChangedFiles 0 | ||
+ | ChangedFileSize 0 (0 bytes) | ||
+ | ChangedDeltaSize 0 (0 bytes) | ||
+ | DeltaEntries 419 | ||
+ | RawDeltaSize 24467434 (23.3 MB) | ||
+ | TotalDestinationSizeChange 1963840 (1.87 MB) | ||
+ | Errors 0 | ||
+ | ------------------------------------------------- | ||
+ | |||
+ | Action ' | ||
+ | Post backup scripts status: SUCCESS | ||
+ | Backup status: SUCCESS | ||
+ | Backup ended at 2019-02-08 13:28:19 | ||
+ | Time elapsed: 0 hours, 0 minutes, 16 seconds | ||
+ | |||
+ | Disk Usage: | ||
+ | Size | ||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-130-A.png? | ||
+ | Cette sauvegarde //(1 918 Ko)// est complète. | ||
+ | <WRAP clear></ | ||
+ | |||
+ | On vérifie la date. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# date | ||
+ | |||
+ | ven février | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | === Deuxième sauvegarde === | ||
+ | |||
+ | On peut forcer une autre sauvegarde pour générer une incrémentielle. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Backup: backup-data | ||
+ | Backup started at 2019-02-08 13:35:07 | ||
+ | Pre backup scripts status: SUCCESS | ||
+ | --------------[ Backup Statistics ]-------------- | ||
+ | StartTime 1549650912.53 (Fri Feb 8 13:35:12 2019) | ||
+ | EndTime 1549650912.95 (Fri Feb 8 13:35:12 2019) | ||
+ | ElapsedTime 0.42 (0.42 seconds) | ||
+ | SourceFiles 422 | ||
+ | SourceFileSize 24526628 (23.4 MB) | ||
+ | NewFiles 9 | ||
+ | NewFileSize 23980 (23.4 KB) | ||
+ | DeletedFiles 0 | ||
+ | ChangedFiles 70 | ||
+ | ChangedFileSize 14856835 (14.2 MB) | ||
+ | ChangedDeltaSize 0 (0 bytes) | ||
+ | DeltaEntries 79 | ||
+ | RawDeltaSize 457642 (447 KB) | ||
+ | TotalDestinationSizeChange 76371 (74.6 KB) | ||
+ | Errors 0 | ||
+ | ------------------------------------------------- | ||
+ | |||
+ | Les métadonnées locales et distantes sont déjà synchronisées. Aucune synchronisation nécessaire. | ||
+ | Date de la dernière sauvegarde complète : Fri Feb 08 13:28:03 2019 | ||
+ | Aucun ancien jeu de sauvegarde n’a été trouvé, rien n’a été supprimé. | ||
+ | Action ' | ||
+ | Post backup scripts status: SUCCESS | ||
+ | Backup status: SUCCESS | ||
+ | Backup ended at 2019-02-08 13:35:14 | ||
+ | Time elapsed: 0 hours, 0 minutes, 7 seconds | ||
+ | |||
+ | Disk Usage: | ||
+ | Size | ||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-130.png? | ||
+ | La deuxième sauvegarde n'est que de //(75 Ko)// et est une incrémentielle, | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-131.png? | ||
+ | === Troisième sauvegarde === | ||
+ | |||
+ | Nous changeons la journée des sauvegardes complètes pour qu' | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | On force une troisième sauvegarde. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Backup: backup-data | ||
+ | Backup started at 2019-02-08 13:44:43 | ||
+ | Pre backup scripts status: SUCCESS | ||
+ | --------------[ Backup Statistics ]-------------- | ||
+ | StartTime 1549651488.35 (Fri Feb 8 13:44:48 2019) | ||
+ | EndTime 1549651489.30 (Fri Feb 8 13:44:49 2019) | ||
+ | ElapsedTime 0.95 (0.95 seconds) | ||
+ | SourceFiles 422 | ||
+ | SourceFileSize 24547401 (23.4 MB) | ||
+ | NewFiles 422 | ||
+ | NewFileSize 24547401 (23.4 MB) | ||
+ | DeletedFiles 0 | ||
+ | ChangedFiles 0 | ||
+ | ChangedFileSize 0 (0 bytes) | ||
+ | ChangedDeltaSize 0 (0 bytes) | ||
+ | DeltaEntries 422 | ||
+ | RawDeltaSize 24519532 (23.4 MB) | ||
+ | TotalDestinationSizeChange 1996425 (1.90 MB) | ||
+ | Errors 0 | ||
+ | ------------------------------------------------- | ||
+ | |||
+ | Les métadonnées locales et distantes sont déjà synchronisées. Aucune synchronisation nécessaire. | ||
+ | Date de la dernière sauvegarde complète : Fri Feb 08 13:28:03 2019 | ||
+ | Aucun ancien jeu de sauvegarde n’a été trouvé, rien n’a été supprimé. | ||
+ | Action ' | ||
+ | Post backup scripts status: SUCCESS | ||
+ | Backup status: SUCCESS | ||
+ | Backup ended at 2019-02-08 13:44:51 | ||
+ | Time elapsed: 0 hours, 0 minutes, 8 seconds | ||
+ | |||
+ | Disk Usage: | ||
+ | Size | ||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-132.png? | ||
+ | La troisième sauvegarde est complète car nous avons paramétré les complètes pour les // | ||
+ | |||
+ | Si nous lançons une quatrième sauvegarde, elle sera complète elle aussi, car nous sommes toujours // | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | <WRAP clear></ | ||
+ | |||
+ | === Exemple de récupération du fichier de sauvegarde de la configuration === | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | On se rend dans le répertoire de stockage, on claque sur le fichier '' | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-133.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-134.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | Clac sur le fichier **xxx.tar.xz -> Copier vers...** | ||
+ | |{{ Images_Cahier-201-02-135.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **OK**. | ||
+ | |{{ Images_Cahier-201-02-136.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | Le fichier de la configuration est récupéré de la sauvegarde des données. | ||
+ | |{{ Images_Cahier-201-02-137.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | === Exclusion de fichiers/ | ||
+ | |||
+ | On peut exclure des fichiers/ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Restauration des données ===== | ||
+ | |||
+ | 1) Nous créons un fichier dans le répertoire personnel de __root__.\\ | ||
+ | 2) Nous lançons une sauvegarde.\\ | ||
+ | 3) Nous supprimons le fichier créé avant la sauvegarde, celui de l' étape 1.\\ | ||
+ | 4) Nous récupérons ce fichier contenu dans la dernière sauvegarde.\\ | ||
+ | 5) On vérifie la récupération. | ||
+ | |||
+ | 1) On crée le fichier | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# touch toto | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls toto | ||
+ | |||
+ | 0 -rw-r--r-- 1 root root 0 Feb 8 13:55 toto | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | 2) On lance une sauvegarde. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Backup: backup-data | ||
+ | Backup started at 2019-02-08 13:56:09 | ||
+ | Pre backup scripts status: SUCCESS | ||
+ | ... | ||
+ | Action ' | ||
+ | Post backup scripts status: SUCCESS | ||
+ | Backup status: SUCCESS | ||
+ | Backup ended at 2019-02-08 13:56:17 | ||
+ | Time elapsed: 0 hours, 0 minutes, 8 seconds | ||
+ | |||
+ | Disk Usage: | ||
+ | Size | ||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | 3) Nous supprimons le fichier créé avant la sauvegarde, celui de la première étape. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# rm toto | ||
+ | |||
+ | rm : supprimer fichier vide « toto » ? y | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls toto | ||
+ | |||
+ | ls: impossible d' | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Restauration ==== | ||
+ | |||
+ | 4) On récupère le fichier. | ||
+ | |||
+ | {{ Images_Cahier-201-02-138.png? | ||
+ | **Configuration -> Restaurer les données**. | ||
+ | |||
+ | //**Backup file**// \\ | ||
+ | On choisit la dernière sauvegarde. | ||
+ | |||
+ | //**Mode de restauration**// | ||
+ | ⦿ Restaurer les fichiers dans le chemin original. | ||
+ | |||
+ | // | ||
+ | On entre **toto**. | ||
+ | |||
+ | < | ||
+ | |||
+ | **-> RESTAURER**. | ||
+ | |||
+ | Le message sur fond vert, // | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | === Vérification === | ||
+ | |||
+ | 5) On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls toto | ||
+ | |||
+ | 0 -rw-r--r-- 1 root root 0 Feb 8 13:55 toto | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Le fichier a été restauré. | ||
+ | \\ | ||
+ | |||
+ | ==== Recherche de fichiers dans les sauvegardes ==== | ||
+ | |||
+ | On peut rechercher un fichier dans les sauvegardes //(peut prendre un certain temps)//. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# / | ||
+ | |||
+ | Ven février | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== NethServer & BackupPC ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | Cette section décrit la marche à suivre pour créer une sauvegarde d'un Serveur NethServer // | ||
+ | |||
+ | La sauvegarde se fait en utilisant le protocol CIFS //(Common Internet File System)// vers le répertoire partagé '' | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | // | ||
+ | |||
+ | ==== Description du cahier ==== | ||
+ | |||
+ | Le [[nethserver_101_cahier_11_nethserver_backuppc|Cahier-11]]: | ||
+ | |||
+ | Ce cahier est basé sur les pages Web suivantes: | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | //Page officielle de BackupPC:// [[https:// | ||
+ | |||
+ | // | ||
+ | // | ||
+ | Il est utilisé pour sauvegarder sur disque un ensemble de postes clients et de serveurs, sous: Unix, Linux, Windows ou Mac OS X. Les protocoles utilisables pour les transferts sont: //SMB//, //tar over SSH/ | ||
+ | \\ | ||
+ | |||
+ | <WRAP centeralign>// | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-139.png? | ||
+ | \\ | ||
+ | |||
+ | ====== Activation du mode développeur d'Odoo ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | // | ||
+ | Le mode // | ||
+ | |||
+ | ===== Avantage ===== | ||
+ | |||
+ | Bien qu' | ||
+ | |||
+ | De plus, l' | ||
+ | |||
+ | ===== Limites ===== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | ===== Activation par un ajout à l'URL ===== | ||
+ | |||
+ | {{ Images_Cahier-201-02-161.png? | ||
+ | Après s' | ||
+ | |||
+ | {{ Images_Cahier-201-02-162.png? | ||
+ | La page sera rechargée et le mode développeur/ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Commandes du mode développeur ===== | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | En cliquant l' | ||
+ | |{{ Images_Cahier-201-02-163.png? | ||
+ | \\ | ||
+ | |||
+ | Pour quitter le mode développeur, | ||
+ | |{{ Images_Cahier-201-02-164.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | À la page **Configuration**, | ||
+ | |{{ Images_Cahier-201-02-165.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-166.png? | ||
+ | ===== Activation par un clic de la souris ===== | ||
+ | |||
+ | Sur la page **Configuration**, | ||
+ | |||
+ | - **Activer le mode développeur**. | ||
+ | - **Activer le mode développeur (avec les assets)**. | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== Mises à jour ====== | ||
+ | |||
+ | ===== Odoo ===== | ||
+ | |||
+ | Nous avons utilisé '' | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-140.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Odoo et ses extensions ==== | ||
+ | |||
+ | // | ||
+ | |||
+ | On arrête Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl stop odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | ||
+ | |||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On se substitue à l' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# su - odoo | ||
+ | |||
+ | Dernière connexion : dimanche 19 mai 2019 à 21:23:18 EDT sur pts/0 | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ whoami | ||
+ | |||
+ | odoo | ||
+ | [odoo@tchana ~]$ | ||
+ | </ | ||
+ | |||
+ | On se rend dans le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | [odoo@tchana ~]$ cd / | ||
+ | |||
+ | [odoo@tchana odoo12]$ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana odoo12]$ pwd | ||
+ | |||
+ | / | ||
+ | [odoo@tchana odoo12]$ | ||
+ | </ | ||
+ | |||
+ | ==== Récupération des mises à jour ==== | ||
+ | |||
+ | On récupère les mises à jour avec '' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana odoo12]$ git fetch origin 12.0 --depth=1 | ||
+ | |||
+ | remote: Enumerating objects: 2717, done. | ||
+ | remote: Counting objects: 100% (2717/ | ||
+ | remote: Compressing objects: 100% (926/926), done. | ||
+ | remote: Total 1595 (delta 1226), reused 742 (delta 664), pack-reused 0 | ||
+ | Receiving objects: 100% (1595/ | ||
+ | Resolving deltas: 100% (1226/ | ||
+ | From https:// | ||
+ | * branch | ||
+ | [odoo@tchana odoo12]$ | ||
+ | </ | ||
+ | |||
+ | ==== Application des mises à jour ==== | ||
+ | |||
+ | Nous avons récupérer toutes les mise à jour et nous devons demander au système de les appliquer. À ce stade, le système sait quelles sont les modifications qui doivent être effectuées, | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | On applique les mises à jour. | ||
+ | |||
+ | < | ||
+ | [odoo@tchana odoo12]$ git reset --hard origin/12.0 | ||
+ | |||
+ | HEAD is now at c545783 [FIX] account: communication size | ||
+ | [odoo@tchana odoo12]$ | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | Le code Odoo est maintenant à jour et a été synchronisé avec les derniers changements apportés. | ||
+ | \\ | ||
+ | |||
+ | ==== Base de donnée PostgreSQL ==== | ||
+ | |||
+ | On met à jour la base de données PostgreSQL afin qu' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana odoo12]$ / | ||
+ | / | ||
+ | -u all -d Odoo-12 | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ● // | ||
+ | Indique au système d' | ||
+ | |||
+ | ● // | ||
+ | Lance Odoo en utilisant le fichier de __**c**__onfiguration ''/ | ||
+ | |||
+ | ● //**-u all -d Odoo-12**// | ||
+ | Indique de mettre à jour // | ||
+ | |||
+ | Pour une explication des paramètres de la commande '' | ||
+ | \\ | ||
+ | |||
+ | ==== Surveillance de la mise à jour de la BD ==== | ||
+ | |||
+ | On ouvre une __deuxième session PuTTY__, on se connecte en tant que __root__ et on lance la commande suivante pour surveiller la mise à jour de la base de données. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# top -d1 | grep python3 | ||
+ | |||
+ | 7779 odoo 20 | ||
+ | 7779 odoo 20 | ||
+ | ... | ||
+ | 7779 odoo 20 | ||
+ | 7779 odoo 20 | ||
+ | 5926 odoo 20 | ||
+ | 5926 odoo 20 | ||
+ | 5926 odoo 20 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | C'est la commande '' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On peut fermer cette deuxième session PuTTY. | ||
+ | \\ | ||
+ | |||
+ | ==== Arrêt de la commande de mise à jour et redémarrage du service Odoo ==== | ||
+ | |||
+ | On revient à l' | ||
+ | |||
+ | Les paramètres de la mise à jour de la base de données //(-u all -d Odoo-12)// faisaient partie de la commande du lancement d' | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [odoo@tchana odoo12]$ / | ||
+ | / | ||
+ | -u all -d Odoo-12 | ||
+ | |||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | La mise à jour de la base de données est terminée, mais la commande du lancement d'Odoo continue de rouler. | ||
+ | |||
+ | Vu que nous n' | ||
+ | |||
+ | On avorte la commande avec un **[CTL]** + **[c]**. | ||
+ | |||
+ | < | ||
+ | ^C | ||
+ | [odoo@tchana odoo12]$ | ||
+ | </ | ||
+ | |||
+ | On quitte la substitution d' | ||
+ | |||
+ | < | ||
+ | [odoo@tchana odoo12]$ exit | ||
+ | |||
+ | déconnexion | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# whoami | ||
+ | |||
+ | root | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On redémarre le __service__ Odoo en utilisant '' | ||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl start odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl status odoo12 | grep Active: | ||
+ | |||
+ | | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== PostgreSQL ===== | ||
+ | |||
+ | On procède à la mise à jour de PostgreSQL-11. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum update -y --disablerepo=* --enablerepo=pgdg11 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Modules complémentaires chargés : changelog, fastestmirror, | ||
+ | Loading mirror speeds from cached hostfile | ||
+ | 0 packages excluded due to repository protections | ||
+ | No packages marked for update | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Si des mises à jour étaient disponibles, | ||
+ | |||
+ | On redémarre le service PostgreSQL. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# systemctl restart postgresql-11 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On redémarre le service Odoo. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se rend à notre site et on s' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== RH-Python36 ===== | ||
+ | |||
+ | Mise à jour de la Collection RH-Python36. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum update -y --enablerepo=centos-sclo-rh rh-python36* | ||
+ | |||
+ | Modules complémentaires chargés : changelog, fastestmirror, | ||
+ | Loading mirror speeds from cached hostfile | ||
+ | * ce-base: mirror.genesisadaptive.com | ||
+ | * ce-extras: mirror.genesisadaptive.com | ||
+ | * ce-sclo-rh: mirror.genesisadaptive.com | ||
+ | * ce-sclo-sclo: | ||
+ | * ce-updates: mirror.genesisadaptive.com | ||
+ | * centos-sclo-rh: | ||
+ | * epel: mirror.csclub.uwaterloo.ca | ||
+ | * nethforge: mirror.nethserver.org | ||
+ | * nethserver-base: | ||
+ | * nethserver-updates: | ||
+ | * remi-safe: mirror.team-cymru.com | ||
+ | 1447 packages excluded due to repository protections | ||
+ | No packages marked for update | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | S'il y a eu des mises à jour, on doit redémarrer le service Odoo. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== npm/node ===== | ||
+ | // | ||
+ | Référence:// | ||
+ | L' | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | ==== Impacts sur less et lessc ==== | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | Style error | ||
+ | The style compilation failed, see the error below. Your recent actions may be the cause, please try reverting the changes you made. | ||
+ | |||
+ | (b'', | ||
+ | [TypeError: Object function Object() { [native code] } has no method ' | ||
+ | ')This error occured while compiling the bundle ' | ||
+ | - / | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | Vous pouvez consulter le document suivant pour la création d'un clone d'un Serveur NethServer: | ||
+ | |||
+ | On vérifie la version actuelle. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# npm --version | ||
+ | |||
+ | 6.4.1 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Mise à jour de npm/node ==== | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# npm install -g npm | ||
+ | |||
+ | / | ||
+ | / | ||
+ | + npm@6.9.0 | ||
+ | added 54 packages from 9 contributors, | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | Vu qu'il y a eu une mise à jour, on doit redémarrer le service Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | |||
+ | ==== Retour à la version originalement installée ==== | ||
+ | |||
+ | Au cas où la nouvelle version occasionnerait des problèmes, on peut retourner à la version originalement installée. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# npm install -g npm@6.4.1 | ||
+ | |||
+ | / | ||
+ | / | ||
+ | + npm@6.4.1 | ||
+ | added 15 packages from 11 contributors, | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# npm --version | ||
+ | |||
+ | 6.4.1 | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Redémarrage du service Odoo. | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== less et less-plugin-clean-css ===== | ||
+ | |||
+ | On vérifie la version actuelle de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# less --version | ||
+ | |||
+ | less 458 (POSIX regular expressions) | ||
+ | Copyright (C) 1984-2012 Mark Nudelman | ||
+ | |||
+ | less comes with NO WARRANTY, to the extent permitted by law. | ||
+ | For information about the terms of redistribution, | ||
+ | see the file named README in the less distribution. | ||
+ | Homepage: http:// | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie la version actuelle de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# lessc --version | ||
+ | |||
+ | lessc 3.9.0 (Less Compiler) [JavaScript] | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# npm configset strict-ssl false | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Mise à jour de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# npm install -g less less-plugin-clean-css | ||
+ | |||
+ | / | ||
+ | + less@3.9.0 | ||
+ | + less-plugin-clean-css@1.5.1 | ||
+ | updated 2 packages in 3.269s | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On vérifie la version actuelle de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# less --version | ||
+ | |||
+ | less 458 (POSIX regular expressions) | ||
+ | Copyright (C) 1984-2012 Mark Nudelman | ||
+ | |||
+ | less comes with NO WARRANTY, to the extent permitted by law. | ||
+ | For information about the terms of redistribution, | ||
+ | see the file named README in the less distribution. | ||
+ | Homepage: http:// | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Il n'y a pas eu de mises à jour de '' | ||
+ | |||
+ | On vérifie la version actuelle de '' | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# lessc --version | ||
+ | |||
+ | lessc 3.9.0 (Less Compiler) [JavaScript] | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Il n'y a pas eu de mises à jour de '' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | Redémarrage du service Odoo. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== wkhtmltox ===== | ||
+ | |||
+ | ==== Dépendances pour wkhtmltopdf ==== | ||
+ | |||
+ | Mise à jour des dépendances. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# yum update -y fontconfig libpng libX11 libXext libXrender | ||
+ | | ||
+ | |||
+ | Modules complémentaires chargés : changelog, fastestmirror, | ||
+ | Configuration du processus de mise à jour | ||
+ | Loading mirror speeds from cached hostfile | ||
+ | * base: centos.mirror.ca.planethoster.net | ||
+ | ... | ||
+ | No packages marked for update | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== wkhtmltox ==== | ||
+ | |||
+ | Pour trouver la dernière version de '' | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | La dernière version disponible est la même que celle qu'on a installée à la section [[nethserver_201_cahier_02_odoo_12# | ||
+ | |||
+ | S'il y avait eu une nouvelle version, nous aurions pu l' | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | |{{ Images_Cahier-201-02-143.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | Si des mises à jour ont été installées, | ||
+ | |||
+ | <WRAP box> | ||
+ | < | ||
+ | [root@tchana ~]# systemctl restart odoo12 | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Serveur NethServer ===== | ||
+ | |||
+ | De temps à autre, il faut mettre à jour le Serveur NethServer pour diverses raisons: suite à des mises à jour des logiciels qui composent NethServer, failles de sécurité découvertes par des utilisateurs ou des développeurs, | ||
+ | |||
+ | <WRAP column 50%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-144.png? | ||
+ | </ | ||
+ | <WRAP column 42%> | ||
+ | \\ | ||
+ | À la fin de la mise à jour, **Recharger la page**. | ||
+ | |{{ Images_Cahier-201-02-145.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | {{Images_icone-201-003_Note.png? | ||
+ | |||
+ | ==== Vérification du site Odoo ==== | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | On se connecte à Odoo et on vérifie que tout fonctionne correctement tel qu' | ||
+ | \\ | ||
+ | |||
+ | ===== Instantané VirtualBox ===== | ||
+ | |||
+ | {{Images_icone-201-002_Lumiere.png? | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ====== Appendices ====== | ||
+ | |||
+ | ===== Fuseau horaire ===== | ||
+ | |||
+ | Pour le fuseau horaire, il existe un fichier pour // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -ls / | ||
+ | |||
+ | 4 -rw-r--r-- | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | ==== Changement du fuseau horaire ==== | ||
+ | |||
+ | On affiche le fuseau horaire actuel. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -l / | ||
+ | |||
+ | lrwxrwxrwx 1 root root 37 19 mai 23:48 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On change le fuseau horaire pour celui de // | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# timedatectl set-timezone America/ | ||
+ | |||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | On vérifie. | ||
+ | |||
+ | < | ||
+ | [root@tchana ~]# ls -l / | ||
+ | |||
+ | lrwxrwxrwx 1 root root 38 22 mai 14:02 / | ||
+ | [root@tchana ~]# | ||
+ | </ | ||
+ | |||
+ | Voilà! Le fuseau horaire // | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Certificat Let's Encrypt ===== | ||
+ | |||
+ | ==== Description ==== | ||
+ | |||
+ | Un certificat émis par l' | ||
+ | |||
+ | // | ||
+ | Let's Encrypt est une autorité de certification //(CA)// lancée le 3 décembre 2015 //(Bêta Version Publique)// | ||
+ | |||
+ | ==== Examen du certificat ==== | ||
+ | |||
+ | Si la demande d'un certificat a fonctionnée sans erreur, essayez de vous connecter à la page de l' | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On se connecte à l' | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-146.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-147.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | **Plus d' | ||
+ | |{{ Images_Cahier-201-02-148.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-149.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-150.png? | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | \\ | ||
+ | \\ | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-151.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | <WRAP column 30%> | ||
+ | - **Nom alternatif du sujet du certificat**.\\ | ||
+ | - Tous nos CNAME choisis lors de la demande du certificat sont affichés.\\ | ||
+ | - **Fermer** toutes les fenêtres du certificat. | ||
+ | </ | ||
+ | <WRAP column 30%> | ||
+ | |{{ Images_Cahier-201-02-152.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | |||
+ | ==== Vérification par Qualsys SSLLabs ==== | ||
+ | |||
+ | Pour un serveur __branché directement à l' | ||
+ | |||
+ | <WRAP column 46%> | ||
+ | \\ | ||
+ | // | ||
+ | |{{ Images_Cahier-201-02-153.png? | ||
+ | </ | ||
+ | <WRAP column 46%> | ||
+ | < | ||
+ | < | ||
+ | |{{ Images_Cahier-201-02-154.png? | ||
+ | </ | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | {{ Images_Cahier-201-02-155.png? | ||
+ | ==== Serveur de Production ==== | ||
+ | |||
+ | Une fois que vous maîtrisez tous les aspects de: //Odoo//, // | ||
+ | <WRAP clear></ | ||
+ | \\ | ||
+ | |||
+ | ===== Changement du mot de passe de root ===== | ||
+ | |||
+ | // | ||
+ | Réinitialiser le mot de passe de __root__ est normalement une tâche simple si vous êtes déjà connecté avec les privilèges de __root__. Toutefois, si vous oubliez le mot de passe et devez le changer, les choses deviennent un peu plus difficiles.\\ | ||
+ | Le processus a changé de la version 6 de CentOS/RHEL //(Red Hat Enterprise Linux)// à la version 7. Auparavant, vous démarriez en **mode mono-utilisateur**, | ||
+ | |||
+ | {{Images_icone-201-001_doigt.png? | ||
+ | |||
+ | Si votre système Linux est en cours d' | ||
+ | |||
+ | Pour **CentOS 7**, le menu de démarrage vous laissera 5 secondes pour sélectionner le noyau du système d’exploitation à démarrer. Ces 5 secondes sont importantes, | ||
+ | |||
+ | Dans le menu de démarrage, appuyez sur " | ||
+ | |||
+ | {{ Images_Cahier-201-02-378.png? | ||
+ | \\ | ||
+ | |||
+ | Dans les options de // | ||
+ | |||
+ | < | ||
+ | rd.break | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-379.png? | ||
+ | \\ | ||
+ | |||
+ | Appuyez sur **[Ctrl]** + **[x]** pour démarrer avec ces options qui vous amèneront à l' | ||
+ | |||
+ | {{ Images_Cahier-201-02-380.png? | ||
+ | \\ | ||
+ | |||
+ | À ce stade, le système de fichiers racine est monté en mode lecture seule //(ro)// dans le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | switch_root:/# | ||
+ | |||
+ | switch_root:/# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-381.png? | ||
+ | \\ | ||
+ | |||
+ | Une fois le système de fichiers remonté, changez-le en une //**prison chroot**// afin que le répertoire ''/ | ||
+ | |||
+ | < | ||
+ | switch_root:/# | ||
+ | |||
+ | sh-4.2# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-382.png? | ||
+ | \\ | ||
+ | |||
+ | À partir d'ici, le mot de passe de __root__ peut être réinitialisé à l’aide de la commande '' | ||
+ | |||
+ | < | ||
+ | sh-4.2# passwd | ||
+ | |||
+ | Changing password for user root. | ||
+ | New password: Nouveau-mot-de-passe-de-root | ||
+ | Retype new passwd: Nouveau-mot-de-passe-de-root | ||
+ | passwd: all authentification tokens updated successfully. | ||
+ | sh-4.2# | ||
+ | </ | ||
+ | |||
+ | {{ Images_Cahier-201-02-383.png? | ||
+ | \\ | ||
+ | |||
+ | Si vous n' | ||
+ | |||
+ | On crée le fichier ''/ | ||
+ | |||
+ | < | ||
+ | sh-4.2# touch / | ||
+ | |||
+ | sh-4.2# | ||
+ | </ | ||
+ | |||
+ | {{Images_icone-201-004_Triangle.png? | ||
+ | |||
+ | On quitte l' | ||
+ | |||
+ | < | ||
+ | sh-4.2# exit | ||
+ | |||
+ | exit | ||
+ | sh-4.2# | ||
+ | </ | ||
+ | |||
+ | On quitte le shell racine '' | ||
+ | |||
+ | < | ||
+ | sh-4.2# exit | ||
+ | |||
+ | logout | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ==== Vérification ==== | ||
+ | |||
+ | __À la console du serveur__, vous devriez pouvoir vous connecter et utiliser le système avec le nouveau mot de passe que vous avez créé. | ||
+ | \\ | ||
+ | \\ | ||
+ | {{NS-101_002_Banniere_Victoire.png? | ||
+ | \\ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== Crédits ====== | ||
+ | |||
+ | © 2015-2018-2019 | ||
+ | Auteur: Michel-André\\ | ||
+ | Remerciement: | ||
+ | Intégré par: Michel-André Robillard CLP\\ | ||
+ | Contact: michelandre at micronator.org | ||
+ | |||
+ | Répertoire de ce document: < | ||
+ | |||
+ | Historique des modifications: | ||
+ | |||
+ | ^Version^Date^Commentaire^Auteur| | ||
+ | |RC-1|2015-01-11|Début.|Michel-André| | ||
+ | |0.0.1|2015-01-24|Début.|Michel-André| | ||
+ | |0.0.2|2015-02-22|Petites modifications.|Michel-André| | ||
+ | |0.0.3|2015-03-13|Correction orthographique.|Michel-André| | ||
+ | |0.0.4|2015-04-05|Vérification complète. Changement des propriétés du document dans LibreOffice pour ajuster le titre.|Michel-André| | ||
+ | |0.1.0|2018-05-28|Mise à jour vers SME-9.2, PostgreSQL-10.4, | ||
+ | |0.2.0|2018-07-21|- Forcer le lien pour l' | ||
+ | |0.3.0|2018-08-08|PostgreSQL, | ||
+ | |0.3.1|2018-09-03|Correction de quelques coquilles.|Michel-André| | ||
+ | |0.4.0|2018-09-16|Mise à jour complète.|Michel-André| | ||
+ | |0.5.0|2019-05-09|Adaptation pour NethServer-7.6.1810.|Michel-André| | ||
+ | |0.5.1|2019-08-10|Ajustements pour DokuWiki.|Michel-André| | ||
+ | |012345678901| | |012345678901| | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | ===== AVIS DE NON-RESPONSABILITÉ ===== | ||
+ | |||
+ | Ce document est uniquement destiné à informer. Les informations, | ||
+ | |||
+ | RF‑232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages directs ou indirects, ainsi que des dommages consécutifs résultant de l' | ||
+ | |||
+ | Chaque internaute doit prendre toutes les mesures appropriées //(mettre à jour régulièrement son logiciel antivirus, ne pas ouvrir des documents suspects de source douteuse ou non connue)// de façon à protéger le contenu de son ordinateur de la contamination d' | ||
+ | |||
+ | Toute reproduction interdite | ||
+ | Vous reconnaissez et acceptez que tout le contenu de ce document, incluant mais sans s’y limiter, le texte et les images, sont protégés par le droit d’auteur, les marques de commerce, les marques de service, les brevets, les secrets industriels et les autres droits de propriété intellectuelle. Sauf autorisation expresse de RF-232, vous acceptez de ne pas vendre, délivrer une licence, louer, modifier, distribuer, copier, reproduire, transmettre, | ||
+ | |||
+ | ==== Avertissement==== | ||
+ | |||
+ | Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, | ||
+ | \\ | ||
+ | \\ |