Les services

De Ensuelma
Révision datée du 3 janvier 2020 à 04:48 par Kingfredo (discussion | contributions) (apache)
Aller à : navigation, rechercher

On parle de services pour tous composants installés hors de l'installation par défaut, fonctionnant en arrière plan et offrant des mécanismes et valeurs ajoutées.

LDAP-AD/DNS

Service fournissant les bases de l'organisation informatique, la gestion des accès. Idéalement ce service peut être couvert par une infrastructure Microsoft, dans le cadre où celle-ci se justifie à frais raisonnable pour ne pas s'orienter vers des solutions libres

LDAP-AD

Service de base pour garantir l'annuaire et les politiques de la société
L'active directory permet de garantir un ensemble d'activité à travers les leaders du marché

  1. Mise en place d'une infrastructure AD répartie sur 3 sites, appuyant la répartition sur un schéma détaillé

Sinon, mise en place d'un openldap:

  1. Installation de LAMP
  2. Installation d'openLDAP avec Ubuntu 18.04 étapes d'installation
  3. Installation de l'interface de gestion, voici les instructions

WEBMIN

Service de base pour garantir la gestion du l'infrastructure via l'interface Webmin (HTTPS)

  1. Installation du service WEBMIN

DNS

résolution de noms

L'intégration du DNS dans l'active directory promet une dynamique et sécurité suffisante

  1. Installation de base

DHCP

Le service de DHCP doit être couvert par les services Unix, tel un aiguilleur

Proxmox

L’étude du produit Proxmox amène à apprivoiser les concepts de logiciels libres ‘Open Source’ tel que la communauté CEPH, Let’s Encrypt, WebDav et le libvirt. Le logiciel libre est l’outil à utiliser et privilégier dans un cadre économique et certain, car il permet la transparence, l’évolution et le support du produit.

L'hyperconvergence intégré avec 3½ serveurs : 3 Fixes et 1 portable

Voir les détails sur Proxmox

Configuration des noeuds systèmes Proxmox

Portainer GUI avec Docker

L'objectif est d'avoir la possibilité de gérer les conteneurs docker aux mêmes titre que LXC avec Proxmox

Haproxy (Reverse Proxy et Load Balancing)

Service permettant de gérer la répartition de charge des protocoles de publication Web HTTP/HTTPS (SLL/TLS)

  • Ce service est installé sur un serveur dédié (suen01) dont l'infrastructure garantie sa disponibilité
  • Ce service permet le proxy inversé (http://siteweb/liensurunautreserveur) avec redirection de port
  • Ce service garantie la communication sécurisé SSL (TLS) de l'extérieur vers ce serveur (point d'entrée)
  • Toute la charge Web doit passer par ce serveur
  • La configuration détaillé: Haproxy installation
  • Le fichier config Haproxy.cfg

LetsEncrypt

Service accompagnant le haproxy pour assurer le certificat et une reconnaissance du site à travers une communication sécurisée (SSL/TLS)

LetsEncryptHaproxy.jpg
  • Ce service est installé sur le serveur suen01
  • La configuration détaillée de LetsEncrypt

LXD/LXC

Service offrant la virtualisation de machine à l'intérieur de master

  • Ce service est nativement installé sur les serveurs proxmox
  • la configuration LXD/LXC

Découvrir l’utilisation de LXC Tutoriel

Kubernetes

Orchestration des conteneurs essentiellement de type docker

  • Le service maître (autonome grâce à proxmox) permet l'utilisation directe des conteneurs docker à travers une configuration sous LXC
  • la configuration Kunernetes

apache

Plateforme Web qui est utilisé sur:

  • Mael01 avec PHP pour une stabilité de répartition de charge entre serveur
  • Mael02 et 03 sont à définir

Objectif d'améliorer la redondance et le non temps d'arrêt

Utilisation de NGINX

Voir l'installation en Debian de Ningx et PHP

Tomcat

Voir l'installation sur elen03 voir fedora - kafr02 selon ce guide

Cette installation permettra la portion client de Guacamole, voir ces instructions.

php

Service de traitement de langage Web qui est installé sur:

  • Mael01 pour offrir la plateforme Wikimedia

nodejs

Service Web dont l’objectif est l’utilisation de cette plateforme sur tous les serveurs Fronts.

  • L’utilisation du HAProxy est préconisée

PostgreSQL

Service de base de donnée fournissant l’ensemble des données centralisées du site. L’objectif est d’assurer un service mirroir des BD dans le cadre d’une expension de l’infrastructure ou d’une activité élevée. Il est installé sur:

  • Suen02

Voir les possibilités de PostgreSQL Portable

Notions novices

Méthode en bash

Voir le lien: Création utilisateur et DB

Utilisation des bases:

su postgres

Création d'un compte:

createuser <utilisateur>

Création d'une BD:

createdb <basededonnees>

Affectation du mot de passe:

psql
alter user <utilisateur> with encrypted password '<password>';

Affecter les pleins droits sur la BD:

grant all privileges on database <dbname> to <username> ;

Méthode en psql

Création d'une BD:

  1. CREATE DATABASE <basededonnees>;

Création d'un compte:

  1. CREATE USER <utilisateur> WITH password '<utilisateur>';

Affecter les pleins droits sur la BD:

  1. GRANT ALL privileges ON DATABASE <basededonnees> TO <utilisateur>;

Concept de la BD

L’objectif de la base de données est de permettre la rapidité de recherche. L’indexation est l'une des clefs permettant l'accélération de celle-ci La BD relationnelle, probablement la plus connue, est d'usage simple et agréable à l'apprentissage. Elle permet d'évoluer vers d'autres modèles.

Interface de gestion PGADMIN 4

L'installation se fait sur le serveur Web, voici le guide installation PgAdmin 4

WikiMedia

Service de documentation, il fournit la bibliothèque personnelle de l’entité Ensuelma. Ce système est installé sur

  • Mael0X pour le portail
  • Suen0X pour la BD

Fichier de config

Tous les paramètres du portail se situe dans le fichier de config LocalSettings.php

NextCloud

Service de gestion des fichiers, données numériques.

  • Infrastructure en évolution continue... voir NextCloud

Configuration cible

  • Service Web: Mael01 (cloner Mael01 vers les autres)
  • Base de données: Suen02
    • Config: PostgreSQL
  • Répertoire Disque: Utilisation du lecteur USB 'suen01:/mnt/usb/Netbackup/'

Installation NextCloud

Utilisation d’ONLYOFFICE

Lien d'accès: https://docs.fredericcote.com Instance Serveur: ELEN04 Package: Docker

docker run -i -t -d -p 443:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Dataonlyoffice/documentserver

Voir le Guide de configuration

Paramètrage dans l’interface NextCloud

Compilation d'un Serveur de Document avec BD centralisée ;-(

  1. Requiert (peut être un fichier réponse .sdb) l'adresse de la BD (ex. SUEN02), le compte admin (ex. onlyoffice) et le mot de passe de l'instance 'ONLYOFFICE'
  2. Exemple de script de lancement bash sur Ubuntu 18.04 en partant de zéro
#!/bin/bash
#Ce script va permettre d'installer Le 'Document Server de ONLYOFFICE' sans le postgreSQL (une instance centralisée sera créée)
#Accepte l'inclusion d'un fichier paramètre -- facultatif
#Usage: ./<Le Script> [réponse fichier]
#Exemple: ./InstallationDocumentServerOO.sh db.conf
#Requiert le privilège SUDO pour être installé

#Le but est de remplir le questionnaire par l'exécution de ce script
#read -p "Quel est le mot de passe du sudoer?" sudoer
read -p "Quel est le nom de la BD PostreSQL (Nom serveur): " DBHOST
read -p "Mot de passe postgres: " postg
read -p "Utilisateur DB de OnlyOffice" Utilisateur
read -p "Le mot de passe du compte OnlyOffice: " passe

#Lancement des mises à jour
sudo apt-get update
sudo apt-get dist-upgrade -y 

#Lancement des dépendances
sudo apt-get install -yq curl apt-transport-https ca-certificates
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
#Client postgreSQL
sudo apt-get install postgresql-client -y
##Creation de l'instance
psql -h $DBHOST -U postgres -c "CREATE DATABASE onlyoffice;"
echo $postg
psql -h $DBHOST -U postgres -c "CREATE USER $utilisateur WITH password '$passe';"
echo $postg
psql -h $DBHOST -U postgres -c "GRANT ALL privileges ON DATABASE onlyoffice TO $utilisateur;"
echo $postg
#Autres dépendances
sudo apt-get install redis-server rabbitmq-server npm nginx-extras -y 

#Preparation des accès à la BD
echo onlyoffice-documentserver onlyoffice/db-host string $DBHOST | sudo debconf-set-selections
echo onlyoffice-documentserver onlyoffice/db-pwd password $passe | sudo debconf-set-selections

#Installation du Document Server
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
sudo echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
sudo apt-get update
sudo apt-get install onlyoffice-documentserver -y


### Refonte du spellchecker 
sudo npm install -g npm
sudo supervisorctl stop all
sudo apt-get install build-essential git
cd /var/www/onlyoffice/documentserver/server/SpellChecker/
sudo mv node_modules/ node_modules_old/
sudo npm install
sudo supervisorctl start all

Maintenance & Sauvegarde

DEDUPLICATION

  • Utilisation de la commande fdupes pour retirer les doublons.

Mettre en place un script d'exécution et de validation automatique en générant un rapport et sélectionnant le bon fichier (le plus récent).

Config Haproxy ajouté

Services VPN

Le service VPN est une installation nécessaire pour garantir les communications entre les différentes zones (serveurs distants) posées aux différents endroits.

  • Liste des serveurs concernés:
    • fredericcote.com
    • datalanding.com
    • datalanding.fr
    • ensuelma.online
    • ensuelma.com

OpenVPN

Tous les détails dans la configuration d'OpenVPN Configuration obsolète

Streisand

EyeFi

Le service eyefi est utilisé depuis 2011, il sert de centralisation des photos à travers la carte SD Wifi. On sait qu'il existe depuis 2005. Simplement avec le temps, la compagnie la gestion des photos centralisé est passée dans les mains de sociétés variés, le nom de eye.fi fut remplacé par mobi eyefi. La plateforme d'accueil des photos devint Keenai au lieu de http://app.eyefi.com/. Différents liens permettent d'établir la méthode d'installation. Eye-fi server 3, ensuite il y a la référence au Eye-fi server 2, et surtout l' Explication originale. Il y a aussi le mec qui explique comment faire un serveur Eye-fi sur linux.

Configuration EyeFi Synology

La procédure employée est celle définie par Eye-fi server 2. C’est-à-dire que of 4 fichiers basiques sont copiés:

  • conf file: /etc/eyefiserver.conf
  • startup script: /etc/init.d/eyefiserver
  • script: /usr/local/bin/eyefiserver.py
  • log file: /var/log/eyefiserver.log (Ce fichier n’est pas copié mais généré à l’exécution du script)

Les fichiers à téléchager sont sur la version 3. Il faut suivre les étapes suivantes:

  • Télécharger sur le Synology le github zippé:
 wget https://github.com/jpage4500/eyefiserver3/archive/master.zip
  • Dézipper le fichier
7z x master.zip
cd eyefiserver3-master/
  • Configuration du fichier eyefiserver.conf
vi eyefiserver.conf

Changer les lignes:

mac_0:00185624d1XX
upload_key_0:11372bdd2cef8dc59d2945694dd550XX
upload_dir:/volume1/MEDIA/PHOTOS/%%Y/%%m-%%b
  • Configuration du fichier eyefi-notify.sh
vi eyefi-notify.sh

Changer les lignes:

sendmail -F "Synology NAS" -f admin@fredericcote.com -t admin@fredericcote.com << EOF
  • Exécuter le script qui va copier et démarrer tout le service EyeFI
sudo ./eyefi-install.sh

Astuce EyeFi serveur

Redémarrer le service:

sudo /usr/local/bin/eyefi-restart.sh

Vérifier les logs:

cat /var/log/eyefiserver.log

Guacamole

Service permettant l'accès web au services RDP et autres (ssh, vnc).
Manuel d'installation Guacamole (site officiel)
Guide d’installation avec Ubuntu 18.04
Sinon, exécuter script d'installation simplifié avec le port 8080

  • Il requiert une BD MySQL
  • Fonctionne seulement si seul

OTP

Service OTP(One-Time Password) permettant la synchronisation de son propre 2ième facteur d'authentification 2FA basé sur la librairie Golang OTP (gotp)