diff --git a/tutorial/ansible/Makefile b/tutorial/ansible/Makefile new file mode 100644 index 0000000..d033e3f --- /dev/null +++ b/tutorial/ansible/Makefile @@ -0,0 +1,22 @@ +SOURCES = tutorial.md setup.md what.md ansible.md deploiement-svc.md expertise.md deploiement-next.md packaging.md +PANDOCOPTS = --latex-engine=xelatex \ + --standalone \ + --normalize \ + --number-sections \ + --smart \ + -M lang=fr-FR \ + -M fontsize=12pt \ + -M papersize=a4paper \ + -M mainfont="Linux Libertine O" \ + -M monofont="FantasqueSansMono-Regular" \ + -M sansfont="Linux Biolinum O" \ + --include-in-header=../header.tex + + +all: tutorial.pdf + +tutorial.pdf: ${SOURCES} + pandoc ${PANDOCOPTS} -o $@ $+ + +clean:: + rm tutorial.pdf diff --git a/tutorial/ansible/ansible.md b/tutorial/ansible/ansible.md new file mode 100644 index 0000000..18bf905 --- /dev/null +++ b/tutorial/ansible/ansible.md @@ -0,0 +1,18 @@ +\newpage + +Automatiser la configuration de son SI +======================================= + +Introduction à Ansible +---------------------- + +Présentation du résultat attendu +-------------------------------- + +Mon premier rôle +---------------- + +- Pérenniser les étapes faites précédemment : + - création de l'utilisateur + - recopier les fichiers +- Installation des packages mini diff --git a/tutorial/ansible/deploiement-next.md b/tutorial/ansible/deploiement-next.md new file mode 100644 index 0000000..7240a85 --- /dev/null +++ b/tutorial/ansible/deploiement-next.md @@ -0,0 +1,25 @@ +\newpage + +Déploiement d'un second service web +=================================== + +NextCloud +--------- + +- Utilisation d'un rôle existant (ou création) +- Aïe besoin d'un nom de domaine + + +Noms de domaines +---------------- + +- Utilisation d'un rôle pour avoir un serveur DNS autoritaire (bind) + + +### Rappels sur le DNS + +### Mise en place du résolveur + +### Mise en place du serveur autoritaire + +### Test d'une zone diff --git a/tutorial/ansible/deploiement-svc.md b/tutorial/ansible/deploiement-svc.md new file mode 100644 index 0000000..2cc5222 --- /dev/null +++ b/tutorial/ansible/deploiement-svc.md @@ -0,0 +1,42 @@ +\newpage + +Déploiement d'un service via Ansible +==================================== + +Installation des dépendances +---------------------------- + +- nginx +- php-fpm +- mysql-server + + +Configuration des éléments +-------------------------- + +- hardening nginx +- php + + +Création d'un utilisateur dédié +------------------------------- + + +Création de la base de données +------------------------------ + +- création de la base de données +- création d'un utilisateur dédié +- initialisation de la DB (si besoin) + + +Récupération du code +-------------------- + +- récupération de la tarball +- extraction +- copie et config (chmod/chown) + + +Création de backup via crontab +------------------------------ diff --git a/tutorial/ansible/expertise.md b/tutorial/ansible/expertise.md new file mode 100644 index 0000000..f9e7f84 --- /dev/null +++ b/tutorial/ansible/expertise.md @@ -0,0 +1,17 @@ +\newpage + +Expertise Ansible +================= + + +Les rôles +--------- + +- La séparation en plusieurs rôles (DB, reverse-proxy, ...) +- dépendance de rôles + + +### Utilisation de rôles préconçus + +- Depuis Ansible galaxy, +- GitHub, ... diff --git a/tutorial/ansible/packaging.md b/tutorial/ansible/packaging.md new file mode 100644 index 0000000..ff719b1 --- /dev/null +++ b/tutorial/ansible/packaging.md @@ -0,0 +1,6 @@ +\newpage + +Packaging Debian +================ + +Prendre un service non intégré pour le packager : youp0m diff --git a/tutorial/ansible/setup.md b/tutorial/ansible/setup.md new file mode 100644 index 0000000..bd36933 --- /dev/null +++ b/tutorial/ansible/setup.md @@ -0,0 +1,40 @@ +\newpage + +Mise en place +============= + +Ce TP s'appuie sur une machine virtuelle + + +Gérer le réseau de son hyperviseur +---------------------------------- + +### Pont réseau // switch virtuel + +### NAT + +### Interface physique + +### Vide + + +Démarrer la machine virtuelle +----------------------------- + +### Ajouter un disque vierge + +### Démarrer sur l'ISO + + +Connexion +--------- + +### Requête DHCP + +### Vérification des paramètres IP + +#### Lien + +#### Adresses + +#### Routes diff --git a/tutorial/ansible/tutorial.md b/tutorial/ansible/tutorial.md new file mode 100644 index 0000000..b0cb037 --- /dev/null +++ b/tutorial/ansible/tutorial.md @@ -0,0 +1,22 @@ +--- +title: Administration Linux avancée -- TP n^o^ 2 +subtitle: +author: Pierre-Olivier *nemunaire* Mercier +institute: EPITA +date: Mercredi 7 mars 2018 +... + +Durant ce deuxième TP, nous allons apprendre à déployer des services sur un +serveur, de manière industrielle ! + +La partie 4 de ce TP est un projet à rendre à au plus tard +le **mercredi 21 mars 2018 à 00 h 42 du matin**. Consultez la dernière section +de chaque partie pour plus d'information sur les éléments à rendre. + +En tant que personnes sensibilisées à la sécurité des échanges électroniques, +vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à +[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96) faire +signer votre clef et n'hésitez pas à +[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/). + +\tableofcontents diff --git a/tutorial/ansible/what.md b/tutorial/ansible/what.md new file mode 100644 index 0000000..ece9433 --- /dev/null +++ b/tutorial/ansible/what.md @@ -0,0 +1,54 @@ +\newpage + +Démarrer sur le SI du jour +========================== + +Présentation du système d'information +------------------------------------- + +Accéder à la macine virtuelle +----------------------------- + +Persistance de la configuration réseau +-------------------------------------- + +Édition du `/etc/network/interfaces` + + +Configuration du système de fichiers +------------------------------------ + +### Système initial + +L'ISO monte un OverlayFS avec la première partition du disque qu'il rencontre. + + +#### UnionFS quésako? + + +### Extension du système de fichiers + +#### Création d'un volume LVM chiffré et résilient (bonus) + +#### Création d'un volume LVM basique + +#### Création et montage des systèmes de fichiers + +Édition du `/etc/fstab`. + ++ `/home` ++ `/srv` ++ `/var/backups` + + +### Se mettre à l'aise + +#### Création d'un utilisateur + +Pour administrer la machine, c'est mieux de créer un utilisateur + sudo + +#### Installer un shell et sa recopier sa config + +`chsh` + +#### Rappels sur l'utilisation du shell diff --git a/tutorial/header.tex b/tutorial/header.tex new file mode 100644 index 0000000..94a74c9 --- /dev/null +++ b/tutorial/header.tex @@ -0,0 +1,6 @@ +\usepackage[cm]{fullpage} + +\addto\captionsfrench{ + \renewcommand{\contentsname} + {Sommaire} +}