WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:office365

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

wiki:services:office365 [2018/04/01 22:58]
moog
wiki:services:office365 [2020/06/27 18:16]
Ligne 1: Ligne 1:
-====== Office 365 ====== 
  
-Office 365 est la marque désignant les formules permettant d'obtenir la dernière version de Microsoft Office et un ensemble de services Cloud de Microsoft. 
- 
-<WRAP center round info> 
-Les inscription sont basées sur un script en ruby inspiré de celui qui permet d'obtenir des licences [[wiki:services:dreamspark]] 
-</WRAP> 
- 
-===== Solution actuelle ===== 
- 
-Une nouvelle solution a été implémenté car l'interface graphique de microsoft évolué trop souvent pour que le script sélénium offre une solution stable. 
- 
-La solution tourne sur une machine virtuelle Windows 10 activée avec une licence de 4 ans MSDNA. 
-Le code utilisé est disponible sur le gitlab dans le groupe microsoft. 
- 
-Un fichier README est disponible sur le bureau de la machine pour guider l'administrateur vers les bons dossiers 
- 
-Un serveur apache a été installé dans C:\\Apache24. Pour le lancé, éxecuter: 
-<code> C:\Apache24\bin\httpd.exe -k start </code> 
-Le répertoire contenant le projet git est dans C:\\Apache24\htdocs\office-minet. 
- 
-PHP a été installé dans C:\\php. 
- 
-Il a fallu installer les composants powershell nécessaire pour communiquer avec Ofice 365. https://docs.microsoft.com/fr-fr/office365/enterprise/powershell/connect-to-office-365-powershell 
- 
-Il faut d'ailleurs activer l'éxecution du powershell: 
-<code> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser </code> 
- 
-**Fonctionnement:** 
-On a un formulaire php qui fait la requête LDAP et vérifie que l'utilisateur existe et qu'il est bien qui il prétend être (user,mdp). 
-Puis, le script PHP appel un script powerhsell qui fait les requêtes "in a microsoft way". Puis un message final apparaît sur la page utilisateur lui indiquant soit qu'il a déjà un compte soit qu'il peut se connecter sur portal.office.com.  
- 
-===== Ancienne solution ===== 
- 
-Le script Dreamspark utilise **selenium**, et a donc besoin d'un navigateur pour fonctionner. Il tourne sur la même openVZ que Dreamspark (vm n° 138 sur spirit), qui a besoin d'une IP publique car le https ne passe pas par nos proxys. 
-EDIT: Depuis un certain temps le service tourne dans une KVM séparée à cause de quelques problèmes rencontrés avec xvfb. 
- 
-<code bash> 
-apt-get install ruby iceweasel ruby1.9.1-dev xvfb build-essential 
-gem install net-ldap selenium-webdriver logger 
-</code> 
- 
-Le même service **xvfb** est utilisé pour Dreamspark et Office365 : 
- 
- 
-<code bash> 
-#!/bin/bash 
- 
-XVFB=/usr/bin/Xvfb 
-# XVFBARGS=":99 -fbdir /var/run -ac" 
-XVFBARGS=":99 -nolisten tcp -fbdir /var/run" 
-PIDFILE=/var/run/xvfb.pid 
-case "$1" in 
-  start) 
-    echo -n "Starting virtual X frame buffer: Xvfb" 
-    start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS 
-    echo "." 
-    ;; 
-  stop) 
-    echo -n "Stopping virtual X frame buffer: Xvfb" 
-    start-stop-daemon --stop --quiet --pidfile $PIDFILE 
-    echo "." 
-    ;; 
-  restart) 
-    $0 stop 
-    $0 start 
-    ;; 
-  *) 
-        echo "Usage: /etc/init.d/xvfb {start|stop|restart}" 
-        exit 1 
-esac 
- 
-exit 0 
-</code> 
- 
-Lancement du script en cron : 
- 
-<code bash> 
-38 * * * * root cd /opt/office-script && export DISPLAY=:99 && ruby office.rb 
-</code> 
- 
-Le script est dans ''/opt/office-script''. 
-Les logs sont écrits dans ''/var/log/office-script.log''. 
- 
-==== Fonctionnement du script === 
- 
-  * ''ldap.rb'': permet de vérfier que les mails envoyés proviennent bien des adresses de l'école. 
-  * ''web.rb'': utilise le webdriver de selenium pour faire l'inscription en ligne. 
-  * ''office.rb'': le script principal qui va appeler ''ldap.rb'' pour vérifier les adresses mail et ''web.rb'' pour la procédure d'inscription en ligne. 
- 
-==== Pour obtenir une licence ==== 
- 
-Envoyer un mail (peu importe le contenu du mail) à office@minet.net avec son adresse telecom. 
- 
-==== Migration vers Windows Server ==== 
- 
-<WRAP center round todo 60%> 
-La section est en cours de rédaction 
-</WRAP> 
- 
-=== Installation d'OpenSSH === 
- 
-Le lien suivi est celui-ci : [[https://winscp.net/eng/docs/guide_windows_openssh_server|OpenSSH]]. 
- 
-Note : 
-<code> 
-powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\install-sshd.ps1' 
-powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\install-sshd.ps1' 
-powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\FixHostFilePermissions.ps1' 
-powershell.exe -ExecutionPolicy Bypass -File 'C:\Program Files\OpenSSH\FixUserFilePermissions.ps1' 
-Set-Service sshd -StartupType Automatic 
-Set-Service ssh-agent -StartupType Automatic 
-</code> 
- 
-Il est nécessaire de mettre une règle dans le parefeu. Toujours via PowerShell, on utilise : 
- 
-<code> 
-New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 
-</code> 
- 
-Après installation, les permissions doivent être les suivantes : 
- 
-<code> 
-icacls 'C:\Program Files\OpenSSH\' 
-      . NT SERVICE\TrustedInstaller:(I)(F) 
-        NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F) 
-        NT AUTHORITY\SYSTEM:(I)(F) 
-        NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F) 
-        BUILTIN\Administrators:(I)(F) 
-        BUILTIN\Administrators:(I)(OI)(CI)(IO)(F) 
-        BUILTIN\Users:(I)(RX) 
-        BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE) 
-        CREATOR OWNER:(I)(OI)(CI)(IO)(F) 
-        APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX) 
-        APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE) 
-        APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(RX) 
-        APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE) 
-</code> 
- 
-Pour télécharger via le proxy, il faut spécifier ceci car PowerShell utilise une version antérieure de SSL/TLS: 
- 
-<code> 
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
-</code> 
- 
-Puis, il vient : 
- 
-<code> 
-wget -uri URL -Proxy http://192.168.103.61:82/ -OutFile NOM_du_FICHIER 
-</code> 
- 
-Parfois le copier-collé passe mal via l'interface de Proxmox. La solution pas optimisée du tout est la suivante : 
-  * On partage un dossier de Windows Server, on s'assurant de donner les droits nécessaires dessus 
-  * On monte le dossier depuis son Linux/Windows 
- 
-Pour partager un dossier sans être très fin sur les permissions, on utilise : 
-<code> 
-net share DataShare=c:\Data /GRANT:Administrateur,FULL 
-</code> 
- 
-Remarque : DataShare est un alias, on aurait très bien pu mettre toto. 
-Pour monter le dossier depuis Linux, (en supposant cifs installé) : 
- 
-<code> 
-sudo mount -t cifs //192.168.103.166/DataShare /point/de/montage -o username=Administrateur,password=LE_MOT_DE_PASSE,uid=olivier,gid=olivier,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 
-</code> 
- 
-   
wiki/services/office365.txt · Dernière modification: 2020/06/27 18:16 (modification externe)