Working on tuto 2
This commit is contained in:
parent
eb5b8cdbce
commit
9225becbc0
10 changed files with 252 additions and 0 deletions
22
tutorial/ansible/Makefile
Normal file
22
tutorial/ansible/Makefile
Normal file
|
@ -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
|
18
tutorial/ansible/ansible.md
Normal file
18
tutorial/ansible/ansible.md
Normal file
|
@ -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
|
25
tutorial/ansible/deploiement-next.md
Normal file
25
tutorial/ansible/deploiement-next.md
Normal file
|
@ -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
|
42
tutorial/ansible/deploiement-svc.md
Normal file
42
tutorial/ansible/deploiement-svc.md
Normal file
|
@ -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
|
||||||
|
------------------------------
|
17
tutorial/ansible/expertise.md
Normal file
17
tutorial/ansible/expertise.md
Normal file
|
@ -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, ...
|
6
tutorial/ansible/packaging.md
Normal file
6
tutorial/ansible/packaging.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
Packaging Debian
|
||||||
|
================
|
||||||
|
|
||||||
|
Prendre un service non intégré pour le packager : youp0m
|
40
tutorial/ansible/setup.md
Normal file
40
tutorial/ansible/setup.md
Normal file
|
@ -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
|
22
tutorial/ansible/tutorial.md
Normal file
22
tutorial/ansible/tutorial.md
Normal file
|
@ -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 à <adlin@nemunai.re> 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
|
54
tutorial/ansible/what.md
Normal file
54
tutorial/ansible/what.md
Normal file
|
@ -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
|
6
tutorial/header.tex
Normal file
6
tutorial/header.tex
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
\usepackage[cm]{fullpage}
|
||||||
|
|
||||||
|
\addto\captionsfrench{
|
||||||
|
\renewcommand{\contentsname}
|
||||||
|
{Sommaire}
|
||||||
|
}
|
Reference in a new issue