table des matières
Administration système
M4101C
gestion des disques
2ème année - S4, cours - 2/3 données et sauvegardes
2021-2022
rappels http - client serveur
Marcel Bosc
architectures web
configuration apache et sécurité
le courrier électronique
Département informatique IUT de Villetaneuse Université Paris-13
1ère partie partitions d'un disque dur
gestion des disques ext4
disque dur
500 Giga Octets
Linux
btrfs
fat32
Windows
ntfs
iso9660 CD
9
systèmes de fichiers
99
9
99
9
99
0 ntfs ext4 swap
9
49
MBR partition-1 partition-2 partition-3
ou GPT
noms de périphériques Linux montage de disques
partition 1
SATA / USB (sda1) /
bin usr etc var tmp home
partitions: 1,2,3 ...
/dev/sda /dev/sda1, /dev/sda2, /dev/sda3 ...
/dev/sdb include bin lib
/dev/sdc
/dev/sdd [root@r101 ~]# mount /dev/sda2 /usr
... [root@r101 ~]#
UUID: 31767484-0378-418d-b08e-20e603edab44 partition 2
identifiant unique (sda2)
dans le répertoire : /dev
le fichier /etc/fstab la commande « df »
emplacement
emplacement [dupond@r10102 ~]# df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1 14G 6,7G 6,5G 51% /
/dev/sda1 / ext4 defaults 0 1
/dev/sda3 58G 46G 9,3G 84% /home
/dev/sda2 /usr ext4 defaults 0 1
/dev/hda /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/sdb1 151G 97G 47G 68% /disk2
/dev/sdb1 /mnt/disque-usb1 auto users 0 0 [dupond@r10102 ~]#
sda sdb
système
système de de
fichiers
fichiers
options
options
périphérique sda1: 14Go / sdb1:151Go /disk2
périphérique
sda3: 58Go /home
3ème partie important!
disques pas fiables !
données et sauvegardes
●
●
erreurs humaines mécanique!
mécanique!
●
incendie, vol
●
...
3 à 5 ans...
beaucoup d'heures de travail Les données
sont
données critiques précieuses!
sauvegardes sauvegarde par duplication
copie
tous les
●
facile à faire
"x" jours
●
automatique
●
régulières
●
lieu séparé pas d'historique procédure très simple
●
formats standards équipement simple
pertes de donnée pas
●
vérifier régulièrement! remarquée => définitive !!
sauvegarde incrémentale raid
l'utilisateur voit un plusieurs disques physiques
seul disque virtuel (redondance)
copie des ∆j
changements ∆
raid-1 : mirroring
∆j-1
∆j-2
= +
beaucoup de place!
∆j-3 100G 100G 100G
... raid-5 : parité
historique complet
très grande sécurité = + +
rsnapshot: simple zfs, btrfs: snapshots
200G 100G 100G 100G
raid-5 : parité raid : utilisation
disque raid disque-1 disque-2 disque-3
(virtuel) parité
nombre ! le raid n'est pas une sauvegarde !
01 0 + 1 = 1 impair
11 1 1 0 de 1 il n'y a pas d'historique
00 0 0 0
10 1 + = 0 1
panne disque
01 0 1 1
. . . .
. . . . interruption de service
. . . .
performance
complexité = danger
en pratique:
on peut toujours reconstruire
parité distribué
une valeur manquante
par blocks
3ère partie page html statique
client [Link]
[Link]
navigateur
1
rappels http - client serveur 2
serveur web
affichage
/var/www/[Link]
4 3
[Link]
fichier
répertoire
configuré par
DocumentRoot
internet
très simplifié...
html généré par le serveur html généré par le serveur
client rechercher [Link] rechercher [Link]
"concerts lundi" [Link]
navigateur 1 serveur web 1
2 serveur web 2
logiciel [Link] interpréteur PHP
affichage 4
3
6 génère page html exécution [Link]
montrant les résultats
de recherche
5 html début page
●
html connexion à la BDD
●
3
●
recherche -> requête SQL
internet
base de ●
pour chaque résultat
données 4 générer html avec liens
base de
internet 5 ●
html fin page données
très simplifié...
html
hébergement web classique 4ème partie
client internet [Link]
navigateur [Link]
1 serveur web
2
apache architectures web
affichage
3 PHP
4
html [Link]
fichiers
serveur
développeur
ftp
~/travail/[Link]
très simplifié...
hébergement mutualisé hébergement mutualisé
[Link] <VirtualHost >
ServerName [Link]
[Link] DocumentRoot /var/www/toto
[Link] apache <VirtualHost > ●
plusieurs centaines de sites sur une machine
[Link] ServerName [Link]
DocumentRoot /var/www/titi ●
prix très réduit (0 - 10€ /mois)
<VirtualHost >... ... ...
[Link] ●
bande passante limitée
/var/www/toto ●
processeur partagé : très lent
●
généralement limité à un accès ftp, et outils bdd
/var/www/titi
BDD SQL
●
pas à administrer le serveur
●
toto
●
titi
●
zozo
une
uneseule
seulemachine
machine ●
abc
plusieurs
plusieurssites
sitesweb
web
serveur dédié virtualisation
Virtualisation : exécuter un ou
plusieurs systèmes invités dans très pratique!
un système d'exploitation hôte
logiciels: (bureau) Exemple:
hôte:
hôte: Windows
Windows XP
XP
VirtualBox (libre!)
Parallels
VMware
●
location d'une machine hébergé dans un datacenter ...
●
plus cher : 30€ / mois logiciels: (serveur) invité: Windows XP
invité: Windows XP
xen (libre)
●
contrôle complet sur la machine kvm (libre)
VMware
●
administrateur système requis [Docker]
... invité:
invité: Ubuntu
Ubuntu (Linux)
(Linux)
serveur virtuel serveur virtuel
Une seule
machine physique Machine Physique Serveur de fichiers
Ahmed
root Mach. Virtuelle 1 Mach. Virtuelle 1
Linux Linux
Dupond
root Mach. Virtuelle 2 Mach. Virtuelle 2
Windows Windows
Nguyen
Mach. Virtuelle 3 Mach. Virtuelle 3
root
Solaris Solaris
●
contrôle complet (root) sur la machine ●
machine physique = CPU/RAM
●
performance dépend des autres ●
migration d'une machine physique à une autre
cloud computing haute disponibilité / performance
Mach. Virtuelles Machines Physiques Serveurs de fichiers redondance serveurs
serveurs
un web bdd / fichiers
unsite
siteweb:
web:
plusieurs
plusieursmachines
machines
routeur
internet
●
très souple : changer la machine en un click routeur
de secours
●
moins sensible aux pannes matérielles
●
en pratique : problèmes de performance, prix
5éme partie Que fait Apache ?
[Link]
[Link]
processus Apache
Configuration Apache et sécurité 1) Utiliser config, VirtualHost
2) fichier HTML « statique » demandé
3) Envoyer simplement le fichier
<VirtualHost >
ServerName [Link]
DocumentRoot /var/www
...
[Link]
processus Apache
1) Utiliser config, VirtualHost
2) Fichier PHP « dynamique » demandé
3) Exécuter avec l'interpréteur PHP
4) Transmettre le HTML généré
Contrôle d'accès Apache Droits d'accès aux fichiers
[Link] [Link]
processus Apache
[Link] <Directory /var/www/rep> [Link] processus Apache
Require all denied [Link] www-data
[Link]
</Directory>
[Link]
/var/www/
/var/www/
rep [Link] [Link]
[Link] [Link]
<?php
fopen("rep/[Link]")
?>
[Link] -rw-r----- bosc prof -rw-r--r-- bosc prof
www-data ≠ bosc
www-data prof
Configuration du PHP Administration MySQL
[Link]
/etc/apache2/sites-available/[Link] sauvegarde:
<VirtualHost > instructions SQL
mysqldump -u toto -p mabase > [Link]
ServerName [Link] pour reconstituer
DocumentRoot /var/www
... DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` ( ...
[Link] processus Apache restauration INSERT INTO `users` VALUES (' ...
mysql -u toto -p mabase < [Link] DROP TABLE IF EXISTS `article`;
interpréteur PHP CREATE TABLE `article` ( ...
INSERT INTO `article` VALUES (' ...
création de bases
/etc/php/7.0/apache2/[Link]
CREATE DATABASE mabase;
max_execution_time = 30
memory_limit = 128M création d'utilisateurs sql et droits
error_reporting = E_ALL & ~E_NOTICE
GRANT ALL PRIVILEGES ON mabase.* TO toto@localhost
upload_max_filesize = 2M IDENTIFIED BY 'motdepasse';
include_path = ".:/usr/share/php" FLUSH PRIVILEGES;
redémarrer Apache
Comptes et authentification 6éme partie
! ne pas confondre:
●
comptes système
/etc/passwd
/etc/shadow
le courrier électronique
ex: "etudiant", www-data
●
comptes à l'intérieur d'un logiciel web
ex: Moodle : PHP, SQL
table SQL avec login et mot de passe crypté
●
authentification apache
config Apache ex: .htaccess, .htpasswd
●
utilisateurs SQL
table [Link]
courrier : notions de base courrier : au plus simple
expéditeur récepteur
port
smtp 25
●
MUA : Mail User Agent
MTA
thunderbird, webmail, outlook, ...
MUA
●
MTA : Mail Transfer Agent mais:
sendmail, exim, postfix, exchange
●
récepteur doit rester connecté
●
protocole SMTP
●
expéditeur doit rester connecté
●
sécurité: pas de contrôle / filtrage
serveur de mail rentrant serveur de mail sortant
FAI ou réseau d'entreprise FAI ou réseau d'entreprise FAI ou réseau d'entreprise
expéditeur expéditeur
récepteur récepteur
port port
smtp 25 POP 25 POP
MTA IMAP MUA MTA1 MTA2 IMAP MUA
le serveur mail (MTA) stocke les mails
en attendant que le client (MUA) le serveur mail (MTA1) peut stocker les
vienne les demander par POP ou IMAP mails et ressayer jusqu'à ce que MTA2
les accepte
webmail courrier : scénarios réalistes
FAI ou réseau d'entreprise
expéditeur
récepteur
port
25 http
MTA1 MTA MUA
serveur web
Ce document est distribué librement.
Sous licence GNU FDL :
[Link]
Les originaux sont disponibles au format LibreOffice
[Link]