{"id":15,"date":"2017-02-13T10:59:36","date_gmt":"2017-02-13T09:59:36","guid":{"rendered":"http:\/\/union31xh.free.fr\/?p=15"},"modified":"2017-03-14T13:24:44","modified_gmt":"2017-03-14T12:24:44","slug":"guacamole","status":"publish","type":"post","link":"https:\/\/blogperso.union31.fr\/?p=15","title":{"rendered":"Guacamole"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#I_Presentation\" >I Pr\u00e9sentation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II_Installation\" >II Installation<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II1_A_partir_des_paquets_dune_distribution_Linux\" >II.1 A partir des paquets d&rsquo;une distribution Linux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II2_A_la_main_%E2%80%A6\" >II.2 A la main &#8230;.<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II21_Schema_de_principe_mis_en_oeuvre\" >II.2.1 Sch\u00e9ma de principe mis en \u0153uvre<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II22_Installation_des_services_necessaires\" >II.2.2 Installation des services n\u00e9cessaires<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II23_Installation_de_TOMCAT\" >II.2.3 Installation de TOMCAT<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II231_Installation\" >II.2.3.1 Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II232_Parametrage\" >II.2.3.2 Param\u00e9trage<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II233_Demarrage_automatique_du_service_Tomcat\" >II.2.3.3 D\u00e9marrage automatique du service Tomcat<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II24_Installation_de_la_base_donnees_Maria_db\" >II.2.4 Installation de la base donn\u00e9es : Maria db<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II241_Installation\" >II.2.4.1 Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II242_Configuration\" >II.2.4.2 Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II242_Demarrage_automatique_du_service_MariaDB\" >II.2.4.2 D\u00e9marrage automatique du service MariaDB<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II25_Installation_dApache\" >II.2.5 Installation d&rsquo;Apache<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II251_Installation\" >II.2.5.1 Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II252_Activation_des_modules\" >II.2.5.2 Activation des modules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II253_Configuration_des_modules\" >II.2.5.3 Configuration des modules<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Configuration_du_mod_CAS\" >Configuration du mod_CAS :<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Configuration_du_ssl\" >Configuration du ssl :<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Configuration_du_%C2%AB_proxypass_%C2%BB\" >Configuration du \u00ab proxypass \u00bb<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II254_Demarrage_automatique_du_service_Apache\" >II.2.5.4 D\u00e9marrage automatique du service Apache<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II26_Installation_du_portail_web_Guacamole\" >II.2.6 Installation du portail web Guacamole<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II261_Telechargement_des_fichiers_sources\" >II.2.6.1 T\u00e9l\u00e9chargement des fichiers sources<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II262_Base_de_donnees\" >II.2.6.2 Base de donn\u00e9es<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Creation_de_la_base_de_donnees\" >Cr\u00e9ation de la base de donn\u00e9es<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Creation_des_tables\" >Cr\u00e9ation des tables<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II263_Installation_de_lapplication_web\" >II.2.6.3 Installation de l\u2019application web<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Installation\" >Installation<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II264_Parametrage\" >II.2.6.4 Param\u00e9trage<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Repertoire_de_configuration\" >R\u00e9pertoire de configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Ajout_connecteur_java_MySql\" >Ajout connecteur java MySql<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Ajout_du_module_de_connexion_%C2%AB_guacamole-auth-jdbc_%C2%BB\" >Ajout du module de connexion \u00ab guacamole-auth-jdbc \u00bb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Fichier_de_configuration_global\" >Fichier de configuration global<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#Verification_finale\" >V\u00e9rification finale<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II27_Sauvegarde\" >II.2.7 Sauvegarde<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II271_Introduction\" >II.2.7.1 Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II272_Fichiers_de_configurations\" >II.2.7.2 Fichiers de configurations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II273_Base_de_donnees\" >II.2.7.3 Base de donn\u00e9es<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II274_Script_de_sauvegarde\" >II.2.7.4 Script de sauvegarde<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/blogperso.union31.fr\/?p=15\/#II275Automatisation_de_la_sauvegarde\" >II.2.7.5Automatisation de la sauvegarde<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"I_Presentation\"><\/span>I Pr\u00e9sentation<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>C&rsquo;est un reverse proxy html\/rdp <strong>tr\u00e8s prometteur <\/strong>! Il est  Open source et  permet, \u00e0 travers une interface web (full html5), de faire de la prise en main de bureau.<\/p>\n<p>Il supporte les protocoles suivants :<\/p>\n<ul>\n<li style=\"text-align: left;\">rdp ;<\/li>\n<li style=\"text-align: left;\">vnc ;<\/li>\n<li style=\"text-align: left;\">ssh ;<\/li>\n<li style=\"text-align: left;\">telnet.<\/li>\n<\/ul>\n<p>Sous forme de sch\u00e9ma, voici ce que propose \u00ab\u00a0Guacamole\u00a0\u00bb<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-384 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_principe.png\" alt=\"\" width=\"573\" height=\"187\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_principe.png 1019w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_principe-300x98.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_principe-768x250.png 768w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/p>\n<p>Pour un r\u00e9sultat suivant :<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-385 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_resultat.png\" alt=\"\" width=\"646\" height=\"473\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_resultat.png 795w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_resultat-300x220.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_resultat-768x562.png 768w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/p>\n<p>Ce produit ne fonctionne que sous linux. Il s&rsquo;articule autour de 2 composants principaux :<\/p>\n<ul>\n<li>le \u00ab\u00a0guacd\u00a0\u00bb, service linux qui effectue les requ\u00eates rdp, vnc, etc&#8230;<\/li>\n<li>une application web d\u00e9velopp\u00e9e en java.<\/li>\n<\/ul>\n<p>Le site officiel se trouve \u00e0 l&rsquo;adresse suivante : <a href=\"http:\/\/guacamole.incubator.apache.org\/\">http:\/\/guacamole.incubator.apache.org\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<h1><span class=\"ez-toc-section\" id=\"II_Installation\"><\/span>II Installation<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h2><span class=\"ez-toc-section\" id=\"II1_A_partir_des_paquets_dune_distribution_Linux\"><\/span>II.1 A partir des paquets d&rsquo;une distribution Linux<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbyum%20install%20guacd\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"II2_A_la_main_%E2%80%A6\"><\/span>II.2 A la main &#8230;.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La distribution linux utilis\u00e9e est CENTOS 7.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"II21_Schema_de_principe_mis_en_oeuvre\"><\/span>II.2.1 Sch\u00e9ma de principe mis en \u0153uvre<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-360 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_schema_principe-300x159.png\" alt=\"\" width=\"681\" height=\"361\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_schema_principe-300x159.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_schema_principe-768x407.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_schema_principe.png 1002w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>En rouge la solution guacamole dont les composants se trouvent sur le site officiel. Elle repose sur 2 parties distinctes :<\/p>\n<ul>\n<li>un service nomm\u00e9 GUACD qui assure les interrogations de type \u00ab remote contr\u00f4le \u00bb aux VM souhait\u00e9es ;<\/li>\n<li>un site web (application .war) s\u2019ex\u00e9cutant sur une plateforme TOMCAT qui fait le lien entre l\u2019utilisateur et le service GUACD.<\/li>\n<\/ul>\n<p>En bleu, les services \u00e0 mettre en place pour :<\/p>\n<ul>\n<li>assurer le fonctionnement de guacamole (Tomcat, base de donn\u00e9es) ;<\/li>\n<li>s\u2019int\u00e9grer \u00e0 un SI par l&rsquo;utilisation d&rsquo;un CAS (SSO)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"II22_Installation_des_services_necessaires\"><\/span>II.2.2 Installation des services n\u00e9cessaires<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u2019installation de GUACD va se faire manuellement. Pour cela il faut installer les paquets permettant de compiler :<\/p>\n<pre># installation des outils compilation\r\nyum install -y automake\r\nyum install -y autoconf\r\nyum install -y libtool<\/pre>\n<p>Ensuite il faut installer les sources des diff\u00e9rentes librairies qui seront utilis\u00e9es par GUACD :<\/p>\n<ul>\n<li>concernant les d\u00e9pendances obligatoires :<\/li>\n<\/ul>\n<pre># D\u00e9pedances obligatoires\r\n# Installation des d\u00e9pendances de d\u00e9veloppement obligatoires  pour compiler GUACD \"\r\nyum install -y cairo-devel\r\nyum install -y libjpeg-turbo-devel\r\nyum install -y libjpeg-devel\r\nyum install -y libpng-devel\r\nyum install -y uuid-devel<\/pre>\n<ul>\n<li>concernant les d\u00e9pendances optionnelles (on les met toutes)<\/li>\n<\/ul>\n<pre># Installation des d\u00e9pendances optionnelles de d\u00e9veloppement pour compiler GUACD \"\r\nyum install -y ffmpeg-devel\r\nyum install -y freerdp-devel\r\nyum install -y pango-devel\r\nyum install -y libssh2-devel\r\nyum install -y libtelnet-devel\r\nyum install -y libvncserver-devel\r\nyum install -y pulseaudio-libs-devel\r\nyum install -y openssl-devel\r\nyum install -y libvorbis-devel\r\nyum install -y libwebp-devel<\/pre>\n<p>T\u00e9l\u00e9charger sur le site les fichiers sources puis les d\u00e9compresser. Les fichiers \u00ab guacamole-server-xxx \u00bb concerne le service \u00ab GUACD \u00bb.<\/p>\n<pre># R\u00e9cup\u00e9ration du code source\r\nmkdir ..\/guacd\r\nwget http:\/\/www.apache.org\/dist\/incubator\/guacamole\/0.9.10-incubating\/source\/guacamole-server-0.9.10-incubating.tar.gz -P ..\/guacd\r\ntar xzvf ..\/guacd\/guacamole-server-0.9.10-incubating.tar.gz -C ..\/guacd\/\r\ncd ..\/guacd\/guacamole-server-0.9.10-incubating\/<\/pre>\n<p>Compiler les sources :<\/p>\n<pre>cd ..\/guacd\/guacamole-server-0.9.10-incubating\/\r\n.\/configure --with-init-dir=\/etc\/init.d\r\nmake\r\nmake install<\/pre>\n<p>A ce stade le service GUACD est pr\u00e9sent dans le r\u00e9pertoire \/etc\/init.d\/<\/p>\n<p>Corriger un bug sur la retransmission du son :<\/p>\n<pre># Correction bug son pour guacd\r\nln -s \/usr\/local\/lib\/freerdp\/guacsnd.so \/usr\/lib64\/freerdp\/\r\nln -s \/usr\/local\/lib\/freerdp\/guacdr.so \/usr\/lib64\/freerdp\/<\/pre>\n<p>Activer le lancement du service au boot de la machine puis lancer le service :<\/p>\n<pre># Enregistrement service\r\nchkconfig guacd on\r\n# D\u00e9marrage service\r\nsystemctl start guacd<\/pre>\n<p>A ce stade le service est install\u00e9. Il n\u2019y a plus rien \u00e0 faire sur ce dernier.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"II23_Installation_de_TOMCAT\"><\/span>II.2.3 Installation de TOMCAT<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"II231_Installation\"><\/span>II.2.3.1 Installation<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>L\u2019installation se fait via les packages de la distribution :<\/p>\n<pre># Installation de Tomcat\r\nyum install -y tomcat                                   # tomcat\r\nyum install -y tomcat-webapps tomcat-admin-webapps      # admin package\r\nyum install -y tomcat-docs-webapp tomcat-javadoc                # documentation<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"II232_Parametrage\"><\/span>II.2.3.2 Param\u00e9trage<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><span style=\"text-decoration: underline;\">Changement de port d\u2019\u00e9coute :<br \/>\n<\/span><\/p>\n<p>Le port d\u2019\u00e9coute du serveur Tomcat est 8081.<\/p>\n<p>Pour cela il faut modifier le fichier \u00ab server.xml \u00bb qui se trouve dans \u00ab \/etc\/tomcat\/ \u00bb<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-367 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_port_ecoute-1-300x97.png\" alt=\"\" width=\"399\" height=\"129\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_port_ecoute-1-300x97.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_port_ecoute-1-768x248.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_port_ecoute-1.png 856w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">Changement du mot de passe administrateur :<\/span><\/p>\n<p>Il faut ensuite changer le mot de passe par d\u00e9faut de l\u2019administrateur TOMCAT. Pour cela il faut \u00e9diter le fichier \u00ab tomcat-users.xml \u00bb dans \u00ab \/etc\/tomcat\/ \u00bb. Puis changer le mot de passe par d\u00e9faut.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-368 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_mdp-admin.png\" alt=\"\" width=\"530\" height=\"212\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_mdp-admin.png 928w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_mdp-admin-300x120.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_tomcat_mdp-admin-768x307.png 768w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">Red\u00e9marrage du service<\/span> :<\/p>\n<p>Enfin pour prendre en compte les modifications il faut red\u00e9marrer le service \u00ab Tomcat \u00bb:<\/p>\n<pre>systemctl restart tomcat<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"II233_Demarrage_automatique_du_service_Tomcat\"><\/span>II.2.3.3 D\u00e9marrage automatique du service Tomcat<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Pour configurer le d\u00e9marrage du service apache \u00e0 chaque d\u00e9marrage du serveur :<\/p>\n<pre>systemctl enable tomcat<\/pre>\n<p>A ce stade la configuration du serveur Tomcat est termin\u00e9e.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"II24_Installation_de_la_base_donnees_Maria_db\"><\/span>II.2.4 Installation de la base donn\u00e9es : Maria db<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"II241_Installation\"><\/span>II.2.4.1 Installation<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>L\u2019installation se fait via les package de la distribution :<\/p>\n<pre># installation de Mysql (mariadb ...)\r\nyum install -y mariadb-server\r\nsystemctl start mariadb<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"II242_Configuration\"><\/span>II.2.4.2 Configuration<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Lancer la commande suivante qui va apporter un premier niveau de s\u00e9curit\u00e9, c\u2019est-\u00e0-dire :<\/p>\n<ul>\n<li>changer le mot de passe root ;<\/li>\n<li>supprimer les comptes anonymes ;<\/li>\n<li>bloquer l\u2019acc\u00e8s \u00e0 distance \u00e0 \u00ab root \u00bb ;<\/li>\n<li>supprimer la base de donn\u00e9es test.<\/li>\n<\/ul>\n<p>Donc pour cela taper la commande suivante :<\/p>\n<pre>mysql_secure_installation<\/pre>\n<p>Puis r\u00e9pondre aux questions pos\u00e9es. Ce qui va donner un \u00e9cran similaire \u00e0 celui-ci :<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-370 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_mariadb_secure.png\" alt=\"\" width=\"643\" height=\"793\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_mariadb_secure.png 643w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_mariadb_secure-243x300.png 243w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"II242_Demarrage_automatique_du_service_MariaDB\"><\/span>II.2.4.2 D\u00e9marrage automatique du service MariaDB<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Taper la commande suivante :<\/p>\n<pre>systemctl enable mariadb<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"II25_Installation_dApache\"><\/span>II.2.5 Installation d&rsquo;Apache<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"II251_Installation\"><\/span>II.2.5.1 Installation<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Installation classique d\u2019un serveur apache avec les \u00ab mod \u00bb n\u00e9cessaires :<\/p>\n<pre>#install de Apache (futur frontal \/ reverse proxy)\r\nyum install -y httpd\r\n#install mod_auth_cas pour apache (authentification via cas)\r\nyum install -y mod_auth_cas<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"II252_Activation_des_modules\"><\/span>II.2.5.2 Activation des modules<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Bien v\u00e9rifier la pr\u00e9sence des fichiers qui permettent le chargement des modules CAS, Proxy et ssl dans \/etc\/httpd\/conf.modules.d\/<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-371 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module.png\" alt=\"\" width=\"1128\" height=\"340\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module.png 1128w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module-300x90.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module-768x231.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module-1024x309.png 1024w\" sizes=\"auto, (max-width: 1128px) 100vw, 1128px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Sinon les cr\u00e9er.<\/p>\n<p>Fichier \u00ab 00-ssl.conf \u00bb :<\/p>\n<pre>#\r\nLoadModule ssl_module modules\/mod_ssl.so<\/pre>\n<p>&nbsp;<\/p>\n<p>Fichier \u00ab 10-auth_cas.conf \u00bb :<\/p>\n<pre>#\r\n# mod_auth_cas is an Apache 2.2\/2.4 compliant module that supports the\r\n# CASv1 and CASv2 protocols\r\n#\r\n&lt;IfModule !ssl_module&gt;\r\n    LoadModule ssl_module modules\/mod_ssl.so\r\n&lt;\/IfModule&gt;\r\nLoadModule auth_cas_module modules\/mod_auth_cas.so<\/pre>\n<p>&nbsp;<\/p>\n<p>Fichier \u00ab 00-proxy.conf \u00bb :<\/p>\n<pre># This file configures all the proxy modules:\r\nLoadModule proxy_module modules\/mod_proxy.so\r\nLoadModule lbmethod_bybusyness_module modules\/mod_lbmethod_bybusyness.so\r\nLoadModule lbmethod_byrequests_module modules\/mod_lbmethod_byrequests.so\r\nLoadModule lbmethod_bytraffic_module modules\/mod_lbmethod_bytraffic.so\r\nLoadModule lbmethod_heartbeat_module modules\/mod_lbmethod_heartbeat.so\r\nLoadModule proxy_ajp_module modules\/mod_proxy_ajp.so\r\nLoadModule proxy_balancer_module modules\/mod_proxy_balancer.so\r\nLoadModule proxy_connect_module modules\/mod_proxy_connect.so\r\nLoadModule proxy_express_module modules\/mod_proxy_express.so\r\nLoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so\r\nLoadModule proxy_fdpass_module modules\/mod_proxy_fdpass.so\r\nLoadModule proxy_ftp_module modules\/mod_proxy_ftp.so\r\nLoadModule proxy_http_module modules\/mod_proxy_http.so\r\nLoadModule proxy_scgi_module modules\/mod_proxy_scgi.so\r\nLoadModule proxy_wstunnel_module modules\/mod_proxy_wstunnel.so<\/pre>\n<p>&nbsp;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"II253_Configuration_des_modules\"><\/span>II.2.5.3 Configuration des modules<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"Configuration_du_mod_CAS\"><\/span>Configuration du mod_CAS :<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Il doit contenir les instructions suivantes :<\/p>\n<pre>LoadModule auth_cas_module modules\/mod_auth_cas.so\r\nCASCookiePath \/var\/run\/mod_auth_cas\/\r\nCASCertificatePath \/etc\/pki\/tls\/certs\/cas.pem\r\nCASLoginURL https:\/\/url_cas:443\/cas\/login\r\nCASValidateURL https:\/\/url_cas:443\/cas\/serviceValidate\r\nCASProxyValidateURL https:\/\/url_cas:443\/cas\/proxyValidate<\/pre>\n<p>V\u00e9rifier si le r\u00e9pertoire \u00ab \/var\/run\/mod_auth_cas\/ \u00bb existe. Dans le cas contraire le cr\u00e9er et donner les droits au groupe\/utilisateur \u00ab apache \u00bb<\/p>\n<p>Rem : \u00e0 votre charge de renseigner le fichier cas.pem<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Configuration_du_ssl\"><\/span>Configuration du ssl :<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>&#8230; A votre charge &#8230;<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Configuration_du_%C2%AB_proxypass_%C2%BB\"><\/span>Configuration du \u00ab proxypass \u00bb<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Cr\u00e9er le fichier \u00ab proxypass.conf \u00bb dans le r\u00e9pertoire \u00ab \/etc\/httpd\/conf.d\/ \u00bb<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-372 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module_proxypass.png\" alt=\"\" width=\"846\" height=\"291\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module_proxypass.png 846w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module_proxypass-300x103.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_apache_module_proxypass-768x264.png 768w\" sizes=\"auto, (max-width: 846px) 100vw, 846px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Renseigner les lignes suivantes dans le fichier :<\/p>\n<pre>&lt;Location \/&gt;\r\n   AuthType CAS\r\n   AuthName \"CAS\"\r\n   require valid-user\r\n   ProxyPass http:\/\/nom_serveur:8081\/guacamole\/ flushpackets=on\r\n   ProxyPassReverse http:\/\/nom_serveur:8081\/guacamole\/\r\n&lt;\/Location&gt;\r\n\r\n\r\n&lt;Location \/websocket-tunnel&gt;\r\n    Order allow,deny\r\n    Allow from all\r\n    ProxyPass ws:\/\/nom_serveur:8081\/guacamole\/websocket-tunnel\r\n    ProxyPassReverse ws:\/\/nom_serveur:8081\/guacamole\/websocket-tunnel\r\n&lt;\/Location&gt;<\/pre>\n<p>Toutes les requ\u00eates faites sur le \u00ab \/ \u00bb (en 80 ou 443 qui sont les 2 ports web en \u00e9coute sur Apache) seront redirig\u00e9es vers le serveur Tomcat \u00e0 l\u2019adresse suivante : \u00ab http:\/\/nom_serveur:8081\/guacamole\/ \u00bb.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"II254_Demarrage_automatique_du_service_Apache\"><\/span>II.2.5.4 D\u00e9marrage automatique du service Apache<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Lancer le d\u00e9marrage du service apache \u00e0 chaque d\u00e9marrage du serveur :<\/p>\n<pre>systemctl enable httpd<\/pre>\n<p>A ce stade la configuration d\u2019apache est termin\u00e9e.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"II26_Installation_du_portail_web_Guacamole\"><\/span>II.2.6 Installation du portail web Guacamole<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"II261_Telechargement_des_fichiers_sources\"><\/span>II.2.6.1 T\u00e9l\u00e9chargement des fichiers sources<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Comme pour le service \u00ab Guacd \u00bb, il faut aller chercher les fichiers sources de l\u2019application web.<\/p>\n<p>Ces fichiers sont :<\/p>\n<ul>\n<li>le fichier .war correspondant \u00e0 l\u2019application web \u00ab Guacamole \u00bb qui sera plac\u00e9 dans Tomcat.<\/li>\n<li>le module \u00ab guacamole-auth-jdbc \u00bb permet, au sein de l\u2019application, de mettre en place un acc\u00e8s avec authentification dont les comptes sont stock\u00e9s en base de donn\u00e9es et qui propose une administration via un \u00ab backend \u00bb web. Le fichier compress\u00e9 comprend :\n<ul>\n<li>le module en tant que tel,<\/li>\n<li>les fichiers \u00ab sql \u00bb pour monter la structure des tables de la base de donn\u00e9es (MySQL et Postresql).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<pre>mkdir ..\/appliweb\r\nwget http:\/\/www.apache.org\/dist\/incubator\/guacamole\/0.9.10-incubating\/binary\/guacamole-0.9.10-incubating.war -P ..\/appliweb\/\r\nwget http:\/\/www.apache.org\/dist\/incubator\/guacamole\/0.9.10-incubating\/binary\/guacamole-auth-jdbc-0.9.10-incubating.tar.gz -P ..\/appliweb\/\r\ntar xzvf ..\/appliweb\/guacamole-auth-jdbc-0.9.10-incubating.tar.gz -C ..\/appliweb\/<\/pre>\n<p>Ce qui donne l\u2019arborescence suivante :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-375 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_tree.png\" alt=\"\" width=\"1131\" height=\"793\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_tree.png 1131w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_tree-300x210.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_tree-768x538.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_tree-1024x718.png 1024w\" sizes=\"auto, (max-width: 1131px) 100vw, 1131px\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"II262_Base_de_donnees\"><\/span>II.2.6.2 Base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"Creation_de_la_base_de_donnees\"><\/span>Cr\u00e9ation de la base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>La pr\u00e9paration de la base de donn\u00e9es consiste \u00e0 cr\u00e9er une  base ainsi que compte utilisateur associ\u00e9. Le nom de la base de donn\u00e9es sera \u00ab guacamole_db \u00bb et l\u2019utilisateur sera \u00ab guacamole_user\u00bb.<\/p>\n<p>A partir d\u2019une console shell :<\/p>\n<pre>mysql -u root -p\r\nMariaDB [(none)]&gt; CREATE DATABASE guacamole_db;\r\n<em>Query OK, 1 row affected (0.00 sec)<\/em>\r\nMariaDB [(none)]&gt; CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'mot_de_passe_\u00e0_d\u00e9finir_ici';\r\n<em>Query OK, 0 rows affected (0.00 sec)<\/em>\r\nMariaDB [(none)]&gt; GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';\r\n<em>Query OK, 0 rows affected (0.00 sec)<\/em>\r\nMariaDB [(none)]&gt; FLUSH PRIVILEGES;\r\n<em>Query OK, 0 rows affected (0.00 sec)<\/em><\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Creation_des_tables\"><\/span>Cr\u00e9ation des tables<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Ensuite il faut cr\u00e9er la structure des tables au sein de la base de donn\u00e9es.<\/p>\n<p>Les fichiers n\u00e9cessaires de type \u00ab sql \u00bb sont dans les fichiers qui ont \u00e9t\u00e9 t\u00e9l\u00e9charg\u00e9s pr\u00e9c\u00e9demment.<\/p>\n<p>Dans une console, taper la ligne de commande pour injecter les fichiers sql \u00e0 Mysql :<\/p>\n<pre># cr\u00e9er sch\u00e9ma des tables dans base guacamole_db\r\n cat \/home\/suroot\/sources\/guacamole\/v0.9.10\/appliweb\/<strong>guacamole-auth-jdbc-0.9.10-incubating\/mysql\/schema\/*.sql<\/strong> | mysql -u root -p guacamole_db<\/pre>\n<p>A ce stade les tables sont cr\u00e9\u00e9es.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"II263_Installation_de_lapplication_web\"><\/span>II.2.6.3 Installation de l\u2019application web<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"Installation\"><\/span>Installation<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>R\u00e9cup\u00e9ration du fichier \u00ab .war \u00bb<\/p>\n<pre>wget http:\/\/www.apache.org\/dist\/incubator\/guacamole\/0.9.10-incubating\/binary\/guacamole-0.9.10-incubating.war -P ..\/appliweb\/<\/pre>\n<p>Placement du fichier war dans r\u00e9pertoire Tomcat :<\/p>\n<pre>cp ..\/appliweb\/guacamole-0.9.10-incubating.war  \/usr\/share\/tomcat\/webapps\/guacamole.war<\/pre>\n<p>Tomcat va automatiquement d\u00e9tecter la pr\u00e9sence du fichier \u00ab guacamole.war \u00bb et va cr\u00e9er le site web correspondant. Les sous r\u00e9pertoires doivent ressembler \u00e0 ceux-ci :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-378 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_war_tree.png\" alt=\"\" width=\"233\" height=\"200\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_war_tree.png 334w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_war_tree-300x258.png 300w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/p>\n<p>A ce stade l\u2019application est install\u00e9e.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"II264_Parametrage\"><\/span>II.2.6.4 Param\u00e9trage<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"Repertoire_de_configuration\"><\/span>R\u00e9pertoire de configuration<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Les fichiers de param\u00e9trages ainsi que les modules et librairies externes doivent \u00eatre plac\u00e9s dans un r\u00e9pertoire nomm\u00e9 \u00ab .guacamole \u00bb \u00e0 la racine du r\u00e9pertoire de Tomcat.<\/p>\n<p>Pour cela il faut le cr\u00e9er :<\/p>\n<pre># Cr\u00e9ation du r\u00e9pertoire de configuration du site web\r\nmkdir \/usr\/share\/tomcat\/.guacamole<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Ajout_connecteur_java_MySql\"><\/span>Ajout connecteur java MySql<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Pour que l\u2019application, d\u00e9velopp\u00e9e en java, puisse discuter avec une base de donn\u00e9es Mysql demande \u00e0 utiliser un connecteur jdbc. Ce connecteur \u00e9tant \u00e0 placer dans un r\u00e9pertoire \u00ab lib \u00bb lui-m\u00eame dans le r\u00e9pertoire de configuration \u00ab g\u00e9n\u00e9ral \u00bb.<\/p>\n<pre># Ajout JDBC driver mysql\r\nmkdir \/usr\/share\/tomcat\/.guacamole\/lib\r\n\/usr\/share\/tomcat\/.guacamole\/lib\r\nyum install -y mysql-connector-java\r\ncp \/usr\/share\/java\/mysql-connector-java.jar \/usr\/share\/tomcat\/.guacamole\/lib\/\r\nchown tomcat:tomcat \/usr\/share\/tomcat\/.guacamole\/lib\/mysql-connector-java.jar<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Ajout_du_module_de_connexion_%C2%AB_guacamole-auth-jdbc_%C2%BB\"><\/span>Ajout du module de connexion \u00ab guacamole-auth-jdbc \u00bb<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Pour rappel ce module va permettre d\u2019obtenir une authentification locale (compte stock\u00e9 en base de donn\u00e9es) et une administration web centralis\u00e9e. Les extensions ou modules de type \u00ab guacamole \u00bb doivent \u00eatre plac\u00e9s dans un r\u00e9pertoire nomm\u00e9 \u00ab extension \u00bb du r\u00e9pertoire principal de configuration.<\/p>\n<pre># Ajout connecteur base de donn\u00e9es au site web guacamole\r\nmkdir \/usr\/share\/tomcat\/.guacamole\/extensions\r\ncp ..\/appliweb\/guacamole-auth-jdbc-0.9.10-incubating\/mysql\/guacamole-auth-jdbc-mysql-0.9.10-incubating.jar \/usr\/share\/tomcat\/.guacamole\/extensions\/<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Fichier_de_configuration_global\"><\/span>Fichier de configuration global<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Une fois tous les \u00e9l\u00e9ments en place, il faut cr\u00e9er un fichier de configuration \u00ab guacamole.properties \u00bb dans le r\u00e9pertoire principal. Dans ce fichier il doit y contenir les lignes suivantes :<\/p>\n<pre># Hostname and port of guacamole proxy\r\nguacd-hostname: localhost\r\nguacd-port:     4822\r\n\r\n##################################\r\n# Authentification BDD\r\n#################################\r\nmysql-hostname: localhost\r\nmysql-port: 3306\r\nmysql-database: guacamole_db\r\nmysql-username: guacamole_user\r\nmysql-password: mot_de_passe_compte_utilisateur<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Verification_finale\"><\/span>V\u00e9rification finale<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Dans le r\u00e9pertoire \u00ab Tomcat \u00bb il doit y avoir le r\u00e9pertoire \u00ab .guacamole \u00bb qui contient les \u00e9l\u00e9ments suivants :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-379 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_config_tree.png\" alt=\"\" width=\"720\" height=\"152\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_config_tree.png 905w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_config_tree-300x63.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_client_config_tree-768x162.png 768w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/p>\n<p>Si tel est le cas, alors le site guacamole est pr\u00eat.<\/p>\n<p>Avant de l\u2019utiliser il faut red\u00e9marrer les services Guacd et Tomcat :<\/p>\n<pre>systemctl stop guacd\r\nsystemctl stop tomcat\r\nsystemctl start guacd\r\nsysmtelctl start tomcat<\/pre>\n<p>Ainsi pour acc\u00e9der au serveur il faut renseigner l\u2019adresse suivante https:\/\/mon_serveur\/ ou http:\/\/mon_serveur\/ dans un navigateur.<\/p>\n<p>Ce qui aura pour effet les actions suivantes :<\/p>\n<ul>\n<li>prise en compte de la requ\u00eate par le serveur apache (mont\u00e9 en reverse proxy) ;<\/li>\n<li>demande d\u2019authentification sur le serveur d&rsquo;authentification CAS (Mod_CAS du serveur Apache) ;<\/li>\n<li>une fois l\u2019authentification v\u00e9rifi\u00e9e, transfert des requ\u00eates web sur le serveur Tomcat<\/li>\n<li>authentification locale sur le serveur Guacamole puis utilisation des ressources \u00e0 prendre \u00e0 distance.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"II27_Sauvegarde\"><\/span>II.2.7 Sauvegarde<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"II271_Introduction\"><\/span>II.2.7.1 Introduction<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Les \u00e9l\u00e9ments \u00e0 sauvegarder sont :<\/p>\n<ul>\n<li>les fichiers de configurations ;<\/li>\n<li>le contenu de la base de donn\u00e9es qui contient :\n<ul>\n<li>les utilisateurs ;<\/li>\n<li>les groupes de ressources d\u2019acc\u00e8s \u00e0 distances ;<\/li>\n<li>les droits utilisateurs sur ces groupes.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"II272_Fichiers_de_configurations\"><\/span>II.2.7.2 Fichiers de configurations<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Les fichiers de configurations sont ceux :<\/p>\n<ul>\n<li>d\u2019Apache :\n<ul>\n<li>\/etc\/httpd\/conf\/httpd.conf<\/li>\n<li>\/etc\/httpd\/conf.d\/auth_cas.conf<\/li>\n<li>\/etc\/httpd\/conf.d\/proxypass.conf<\/li>\n<li>\/etc\/httpd\/conf.d\/guacamole.conf<\/li>\n<li>\/etc\/httpd\/conf.d\/ssl.conf<\/li>\n<li>\/etc\/httpd\/conf.modules.d\/10-auth_cas.conf<\/li>\n<\/ul>\n<\/li>\n<li>de Guacamole :\n<ul>\n<li>le fichier \/usr\/share\/tomcat\/.guacamole\/guacamole.properties<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Autres fichiers :<\/p>\n<ul>\n<li>\/etc\/pki\/tls\/certs\/cas.pem<\/li>\n<li>\/etc\/pki\/tls\/certs\/nom_serveur.crt<\/li>\n<li>\/etc\/pki\/tls\/private\/nom_serveur.key<\/li>\n<li>\/etc\/pki\/tls\/certs\/DigiCertCA.crt<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"II273_Base_de_donnees\"><\/span>II.2.7.3 Base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Faire un dump de la table :<\/p>\n<pre>mysqldump -u root -p guacamole_db &gt; sauve_guacamole_db_.sql<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"II274_Script_de_sauvegarde\"><\/span>II.2.7.4 Script de sauvegarde<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Le script ci-dessous sauvegarde l\u2019ensemble des fichiers pr\u00e9cit\u00e9s ainsi que la base de donn\u00e9es.<\/p>\n<p>Localisation du script : \/home\/suroot\/sauvegarde_guacamole.sh<\/p>\n<pre>#!\/bin\/bash\r\nclear\r\nchemin_sauvegarde_racine='\/root\/sauve_guacamole'\r\n# jour de la semaine\r\ndate_of_week=$(date +%u)\r\n# Tableau de jour\r\ntableau_jours[1]='lundi'\r\ntableau_jours[2]='mardi'\r\ntableau_jours[3]='mercredi'\r\ntableau_jours[4]='jeudi'\r\ntableau_jours[5]='vendredi'\r\ntableau_jours[6]='samedi'\r\ntableau_jours[7]='dimanche'\r\n\r\nchemin_sauvegarde_jour=$chemin_sauvegarde_racine\r\nchemin_sauvegarde_jour+=\"\/${tableau_jours[$date_of_week]}\"\r\n#echo ${tableau_jours[$date_of_week]}\r\necho \"repertoire \u00e0 sauvegarder : $chemin_sauvegarde_jour\"\r\n\r\n#######################################################\r\n### Cr\u00e9ation des r\u00e9pertoires jours s'il n'existe pas\r\nif [ -d $chemin_sauvegarde_racine ]\r\nthen\r\n        echo \"R\u00e9pertoire existant : $chemin_sauvegarde_racine\"\r\nelse\r\n        echo \"R\u00e9pertoire \u00e0 cr\u00e9er : $chemin_sauvegarde_racine\"\r\n        mkdir $chemin_sauvegarde_racine\r\nfi\r\n\r\nif [ -d $chemin_sauvegarde_jour ]\r\nthen\r\n        echo \"R\u00e9pertoire existant : $chemin_sauvegarde_jour\"\r\nelse\r\n        echo \"R\u00e9pertoire \u00e0 cr\u00e9er : $chemin_sauvegarde_jour\"\r\n        mkdir $chemin_sauvegarde_jour\r\nfi\r\n\r\n\r\n######################################################\r\n##  Copie fichiers\r\n\/bin\/cp -f -v \/etc\/httpd\/conf\/httpd.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/httpd\/conf.d\/auth_cas.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/httpd\/conf.d\/proxypass.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/httpd\/conf.d\/guacamole.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/httpd\/conf.d\/ssl.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/httpd\/conf.modules.d\/10-auth_cas.conf $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/usr\/share\/tomcat\/.guacamole\/guacamole.properties $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/pki\/tls\/certs\/cas.pem $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/pki\/tls\/certs\/nom_serveur.crt $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/pki\/tls\/private\/nom_serveur.key $chemin_sauvegarde_jour\r\n\/bin\/cp -f -v \/etc\/pki\/tls\/certs\/DigiCertCA.crt $chemin_sauvegarde_jour\r\n\r\n######################################################\r\n## Export base de donn\u00e9es\r\nmysqldump -u root guacamole_db &gt; $chemin_sauvegarde_jour\/sauve_guacamole_db_.sql<\/pre>\n<p>&nbsp;<\/p>\n<p><u>Remarque sur le mot de passe pour l\u2019export de la base de donn\u00e9es : <\/u><\/p>\n<p>pour que \u00ab mysqldump \u00bb ne demande pas de mot de passe au sein du script , il faut cr\u00e9er dans le r\u00e9pertoire home du compte ex\u00e9cutant le fichier de configuration \u00ab .my.cnf \u00bb et qui doit comprendre les lignes suivantes :<\/p>\n<pre>[mysqldump]\r\nuser=root\r\npassword=mot_de_passe_du_compte<\/pre>\n<p>Ce qui au final doit donner le r\u00e9sultat suivant (pour lundi) :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-382 aligncenter\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/02\/guacamole_sauve.png\" alt=\"\" width=\"277\" height=\"210\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_sauve.png 442w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/02\/guacamole_sauve-300x227.png 300w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"II275Automatisation_de_la_sauvegarde\"><\/span>II.2.7.5Automatisation de la sauvegarde<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>La sauvegarde sera lanc\u00e9e une fois par jour \u00e0 l\u2019aide du crontab. Il sera utilis\u00e9 les r\u00e9pertoires d\u00e9di\u00e9s dont celui qui est attribu\u00e9 \u00e0 un lancement par jour.<\/p>\n<p>En mode console :<\/p>\n<pre># Se positionner dans le r\u00e9pertoire cron daily\r\ncd \/etc\/cron.daily\/\r\n# faire un lien symbolique vers le script\r\nln -s \/home\/suroot\/sauvegarde_guacamole.sh sauvegarde_guacamole.sh<\/pre>\n<pre># si cela n\u2019a pas \u00e9t\u00e9 fait \u00e0 rendre executable le script\r\nchmod +x  \/home\/suroot\/sauvegarde_guacamole.sh<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I Pr\u00e9sentation C&rsquo;est un reverse proxy html\/rdp tr\u00e8s prometteur ! Il est Open source et permet, \u00e0 travers une interface web (full html5), de faire de la prise en main de bureau. Il supporte les protocoles suivants : rdp ;<\/p>\n","protected":false},"author":1,"featured_media":302,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-_systeme"],"_links":{"self":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":15,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":387,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions\/387"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/media\/302"}],"wp:attachment":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}