stage_2018_-_le_castel:projet

Stage 2018 - Le Castel

Points à prendre en compte :

  • paquet ttf-mscorefonts-installer (polices Microsoft)
  • paquet pcmanfm : gestionnaire de fichier
  • :!: pilotes (firmware-amd-graphics) pour carte AMD sur PC HP
  • crontab d'extinction automatique
  • paquet notepadqq
  • paquets pour développement web : apache2, php7, mariadb-server, phpmyadmin
  • playbooks :
    • base : roles base et web
    • dvlpt : netbeans (cf script pour alias apache)

:!: Cela efface l'intégralité des données présentes dans le disque, vérifié bien le disque choisi et déplacer toutes les données que vous souhaitez garder avant de faire cette manipulation.

PXE: L'amorçage PXE (sigle de Pre-boot eXecution Environment) permet à une station de travail de démarrer depuis le réseau en récupérant une image de système d'exploitation qui se trouve sur un serveur

Par PXE:

  • Allumer l'ordinateur
  • Choisir l'option “Network” (F12)
  • Choisir “Install”
  • Suivre les étapes pour la langue (Français)
  • Donner un nom à l'ordinateur (sio21?-??)
  • Donner le nom de domaine (sio.lan)
  • Compte Superutilisateur root/root
  • Compte utilisateur sio/sio
  • Choisir “Utiliser un disque entier” » Choisir disque » /home séparée » Terminer
  • Langue archive: France » ftp.fr.debian.org
  • Logiciel à installer: Xfce ; Serveur SSH ; Utilitaires usuels du système
  • Important Oui pour GRUB
  • Terminer l'installation et l'ordinateur redémarrera

par clé USB

Par clé USB (clé vierge » image Debian 9)

  • Brancher la clé avant d'allumer l'ordinateur

Pour: DELL (F11) ACER / HP (F12)

  • Choisir l'option “Boot” » “USB” » “Install”
  • Suivre les étapes pour la langue (Français)
  • Donner un nom à l'ordinateur (sio21?-??) Ch
  • Donner le nom de domaine (sio.lan)
  • Compte Superutilisateur root/root
  • Compte utilisateur sio/sio
  • Choisir disque à partitionner :!: Ne pas choisir la clé USB
  • Choisir “Utiliser un disque entier” » Choisir disque » /home séparée » Terminer
  • Langue archive: France » ftp.fr.debian.org
  • Logiciel à installer: Xfce ; Serveur SSH ; Utilitaires usuels du système
  • Important Oui pour GRUB
  • Terminer l'installation et l'ordinateur redémarrera

partie finale

Cette partie installe ansible git puis télécharge le playbook http://depl/siost.git

Ce playbook installe l'interface graphique xfce, virtualbox, …

#>   curl depl/inst-siost| sh 

Nous avons installés les machines de la salle 214/215 en linux(debian9) avec la clé USB. Tout d'abord nous installions sans environnement graphique. Une fois ceci installé nous exécutions notre script “inst-215-hp”. Celui ci installe les premiers paquets dont nous avons besoins, notamment l'environnement graphique xfce4 ainsi que les paquets de bases comme mc tcpdump sudo etc… Il installe également virtualbox etc.

voici le script:

!/bin/bash
 
export http_proxy=http://10.121.38.1:8080
export https_proxy=http://10.121.38.1:8080
 
sed -ib 's/main$/main contrib non-free/' /etc/apt/sources.list
 
apt update -y
apt upgrade -y
 
apt install -y sudo mc vim tcpdump ttf-mscorefonts-installer
if [ $? = 0 ] ; then
        apt install -y firmware-amd-graphics
fi
apt install -y xfce4 xfce4-goodies net-tools
apt install -y apache2 php mariadb-server
#apt install -y  netbeans
apt install -y task-print-server
#apt remove -y netbeans
apt install -y gvfs gvfs-backends pcmanfm
apt install -y firefox-esr firefox-esr-l10n-fr
apt install -y chromium chromium-l10n
apt install -y ansible geany
apt install libreoffice libreoffice-l10n-fr
 
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- |sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- |sudo apt-key add -
 
cat >/etc/apt/sources.list<<EOT
deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ stretch-updates main contrib non-free
deb http://download.virtualbox.org/virtualbox/debian stretch contrib
EOT
 
apt update
apt upgrade -y
 
apt install -y  virtualbox-5.2
 
cat >/root/crtab<<EOT
0 18 * * * /sbin/poweroff
EOT
 
crontab /root/crtab

Tous les ordinateurs de la salle 211 ont étés réinstallés et renommer.(de 01 à 15). Ils ont été réinstallés en mode PXE. les différents logiciels à dispositions sont à jour. Nous avons constatés que certains câbles Ethernet étais en mauvaise état. (faux contact…)

Ansible c'est quoi ?

Ansible est un outil d'automatisation informatique. Il peut configurer des systèmes, déployer des logiciels et orchestrer des tâches informatiques plus avancées telles que des déploiements continus ou des mises à jour.

Les principaux objectifs d'Ansible sont la simplicité et la facilité d'utilisation. Ansible utilise le langage YAML.

voici notre partie local:

- hosts: localhost
  become: true
  vars:
    proxy_env:
      http_proxy: http://10.121.38.1:8080
      https_proxy: http://10.121.38.1:8080
  pre_tasks:
    - name: Copie apt.conf
      copy:
        src=files/apt.conf
        dest=/etc/apt
    - name: Copie sources.list
      copy:
        src=files/sources.list
        dest=/etc/apt
    - name: copie cerificat virtualbox 2016
      copy:
        src: files/oracle_vbox_2016.asc
        dest: ./oracle_vbox_2016.asc
    - name: Insertion certificat virtualbox 2016
      apt_key:
        file: files/oracle_vbox_2016.asc
    - name: copie cerificat virtualbox
      copy:
        src: files/oracle_vbox.asc
        dest: ./oracle_vbox_2016.asc
    - name: Insertion certificat virtualbox
      apt_key:
        file: files/oracle_vbox.asc
    - name: update repositories
      apt: update_cache=yes
      changed_when: False
    - name: sudo
      apt:
        name: sudo
 
  tasks:
    - include: tasks/users.yml
    - include: tasks/cron.yml
    - include: tasks/packages.yml
    - include: tasks/packages-xfce.yml
    - include: tasks/packages-vbox.yml
    - include: tasks/packages-dvlpt.yml
      tags: ['dvlpt']
    - include: tasks/packages-fusion.yml

Nous avons ensuite plusieurs sous parties ce qui facilite la lisibilité et l'organisation.

script:

#!/bin/bash
 
export http_proxy=http://10.121.38.1:8080
export https_proxy=http://10.121.38.1:8080
 
 
wget http://debian.fusioninventory.org/downloads/fusioninventory-agent_2.4-2_all
 
dpkg -i fusioninventory-agent_2.4-2_all
 
apt install -y --fix-broken
 
#redemarer les service
#systemctl restart fusioninventory-agent
 
 
#start immediate run
#pkill -USR1 -f -P 1 fusioninventory-agent
exit 0

playbook:

- name: copie script inst-fusion
  copy:
    src: files/inst-fusion
    dest: /tmp
    mode: 0755
 
- name: lancement script inst-fusion
  command: /tmp/inst-fusion
  #args:===== Fusioninventory =====
   # chdir: /tmp
 
- name: copie agent.cfg dans /etc/fusioninventory
  copy:
    src: files/agent.cfg
    dest: /etc/fusioninventory
 
- name: restart fusioninventory-agent
  service:
    name: fusioninventory-agent
    state: restarted

le crontab a pour but de programmé une extinction automatique des postes ici nous avons fait en sorte que les machines s'éteignent chaque jours a 18h15 (le fait de ne rien mettre dans “weekday” signal que cela vas s'effectuer tous les jours.

- cron:
    name: "Crontab"
    weekday:
    minute: "15"
    hour: "18"
    job: "ls -alh > /dev/null"

celui ci nous servira pour installer les différents logiciel de développements, nous avons mis la ligne “tags: dvlpt” car étant donner que nous ne l'utiliserons pas a chaque installation.Donc lorsque nous installerons une machine “dvlpt” ne s'installera pas, pour l'installer il faudrat utiliser –tags

- name: Install Dvlpt packages
  apt: name={{item}}
  with_items:
    - apache2
    - php
    - mariadb-server
    - phpmyadmin
    - openjdk-8-jre
    - geany
  tags: dvlpt
- name: install driver amd/radeon
  apt:
    name: firmware-amd-graphics
  when: ansible_product_name  == "HP Compaq 6005 Pro SFF PC"
 
- name: Install base packages
  apt: name={{item}}
  with_items:
    - xfce4
    - xfce4-goodies
    - gvfs
    - gvfs-backends
    - task-print-server
    - chromium
    - chromium-l10n
    - firefox-esr
    - firefox-esr-l10n-fr
- name: Install base packages
  apt: name={{item}}
  with_items:
    - vim
    - mc
    - tmux
    - tcpdump
    - net-tools
- name: copie source.list vbox
  copy:
    src: files/sources.list.vbox
    dest: /etc/apt/sources.list
 
- name: update repositories
  apt: update_cache=yes
  changed_when: False
 
- name: Install Vbox packages
  apt: name={{item}}
  with_items:
    - virtualbox-5.2
- name: create ansible user
  user: name=ansible uid=900
 
- name: copy sudoers_ansible
  copy:
    src: files/sudoers_ansible
    dest: /etc/sudoers.d/ansible
    owner: root
    group: root
    mode: 0440

Nous avons réaliser ce script car il arrive parfois de se tromper et d'installer de le playbook avec la partie développement sur une machine qui n'en à pas besoin, par conséquent si cela ce reproduit nous aurons juste à exécuter ce script.

il suffit simplement de l'éxécuter a distance sur la machine sio214-11

#!/bin/bash
 
 
apt remove phpmyadmin mariadb-server openjdk-8-jre geany php -y

Parfois il arrive que virtualBox rencontre certains problèmes au lancement d'une machine virtuelle. le Téléchargement de l'extension pack ne se fait pas correctement, ce problème arrive sans qu'on ne sache pourquoi. Néanmoins nous avons trouver la solution.

il suffit d'entrer cette commande dans votre terminal:

VBoxManage extpack install --replace +le nom de votre ancien extpack

Afin d'avoir un accès a Internet via firefox il faut parametrer le navigateur sur “auto detection du proxy”. pour cela nous avons rajouter ces lignes dans le main.yml de notre playbook. Le but étant de rajouter la ligne pref\(\“network.proxy.type\”, 4\); a la fin du fichier /etc/firefox-esr/firefox-esr.js

le 4 signifie l'auto détection du proxy.

- lineinfile:
    dest: /etc/firefox-esr/firefox-esr.js
    state: present
    regexp: '^pref\(\"network.proxy.type\", 4\);$'
    line: 'pref("network.proxy.type", 4);'

Notre playbook a beaucoup évoluer au cours des dernière semaine comme peut en témoigner le main.yml

- name: Install base packages
  apt: name={{item}}
  with_items:
    - vim
    - mc
    - tmux
    - tcpdump
    - net-tools
 
- name: create ansible user
  user: name=ansible uid=900
 
- name: copy sudoers_ansible
  copy:
    src: sudoers_ansible
    dest: /etc/sudoers.d/ansible
    owner: root
    group: root
    mode: 0440
 
- name: install cron job (ansible-pull)
  cron: user="ansible" name="ansible provision" hour="13,18" job="/usr/bin/ansi$
 
- name: install poweroff cron job
  cron: user="root" name="poweroff" minute="20" hour="18"  job="/sbin/poweroff"
 
- lineinfile:
    dest: /etc/firefox-esr/firefox-esr.js
    state: present
    regexp: '^pref\(\"network.proxy.type\", 4\);$'
    line: 'pref("network.proxy.type", 4);'
  • stage_2018_-_le_castel/projet.txt
  • Dernière modification : 2018/10/16 15:14
  • de 127.0.0.1