====== Stage 2018 - Le Castel ====== ===== Directives ===== ==== Postes de travail Linux Debian Stretch salle 214/215 ==== 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) * ===== Installation par défaut(debian 9) ===== :!: ** 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 ==== Debian 9 ==== === 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 * Saisir Proxy: http://10.121.38.1:8080 * 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 * Saisir Proxy: http://10.121.38.1:8080 * 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 ===== Migration salles 214/215 ===== 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</root/crtab< ===== Migration salle 211 ===== 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 ===== 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. ===== Fusioninventory ===== 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 ===== Crontab ===== 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" ===== Dvlpt ===== 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 ===== xfce ===== - 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 ===== packages ===== - name: Install base packages apt: name={{item}} with_items: - vim - mc - tmux - tcpdump - net-tools ===== VirtualBox ===== - 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 ===== Users ===== - 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 ===== Script remove.dvlpt ===== 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 ===== Problème VirtualBox ===== 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 ===== auto proxy firefox ===== 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);' ===== main.yml ===== 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);'