Pour chacun des composants logiciels suivants (apache, gtk...) :
- prenez le temps de faire une recherche internet. Au minimum, visitez la page principale du logiciel en plus de sa page wikipedia.
- vérifiez que vous comprenez les grandes lignes du logiciel. A quoi il sert, comment il s'insère dans le fonctionnement du système. A quoi il pourrait vous être utile. Imaginez des scénarios d'utilisation.
La [ Salle P202: deuxième partition /dev/sda2) ; Salle P203: 3e partition /dev/nvme0n1p3 ] n'était pas visible avec la commande "df". En effet, il s'agit d'une partition pour le "swap" : lorsque votre ordinateur n'a pas assez de mémoire vive, il utilise cette partition comme un "prolongement" de sa mémoire.
Dans un ordinateur, opération fréquente consistant à vider une portion moins utilisée des données situées en mémoire (page) et à la stoker sur le disque temporairement, permettant à d'autres données d'être traitées pendant ce temps.
Cette opération ralentie le traitement des données, mais permet de disposer d'une mémoire de traitement supérieure à la mémoire réellement disponible : la mémoire virtuelle.
Voir : http://fr.wikipedia.org/wiki/M%C3%A9moire_virtuelle#Swapping
Sur quel périphérique se trouve la partition swap de votre système?
Vous venez de créer deux partitions. Pour l'instant elles ne contiennent rien : c'est juste une série d'octets disponibles. Tapez "sudo fdisk -l" pour obtenir une liste des partitions des périphériques branchés.
Dans des cas très rares, on pourrait utiliser ces partitions directement (en "brut"), mais en général on souhaite y mettre des fichiers, il nous faut donc créer un système de fichiers dessus:
Pour créer un système de fichiers on utilise la commande "mkfs -t ext4 nom-périphérique"
Quelle commande faut-il taper ?
sudo mkfs -t ext4 /dev/nvme0n1
Tapez la commande pour créer le système de fichiers:
sudo mkfs -t ext4 /dev/sda3
ou
sudo mkfs -t ext4 /dev/nvme0n1p4
En général, un système d'exploitation a un système de fichiers natif préféré.
(Ca ne veut pas pour autant dire qu'un système d'exploitation utilise necesairement ce système de fichier)
Faites les liens:
(en cas de doute, cherchez sur internet)
Pour résumer quelle est l'ordre des différentes étapes?
Donnez le nom (uniquement le nom) de la commande permettant de créer une partition.
Donnez le nom (uniquement le nom) de la commande permettant de créer un système de fichiers.
Donnez le nom (uniquement le nom) de la commande permettant d'associer un périphérique (ex: partition d'un disque) à un répertoire.
Dans le fichier fstab suivant:
#
# /etc/fstab
#
/dev/sdb1 / ext4 defaults 1 1
/dev/sdb5 /usr ext4 defaults 1 2
/dev/sdb2 /usr/bin ext4 defaults 0 2
/dev/sdb7 /usr/local ext4 defaults 0 2
/dev/sdb6 /home ext4 defaults 1 2
/dev/sbpcd /mnt/cdrom iso9660 ro,noauto
/dev/fd0 /mnt/floppy ext4 defaults,noauto
/dev/sda1 /root/dosc msdos defaults
/dev/sdb8 /root/dosd msdos defaults
/dev/sdb3 none ignore
/dev/sdb4 none ignore
/proc /proc proc defaults
/dev/sda2 none swap sw
A quel répertoire est associé la deuxième partition se trouvant sur le deuxième disque dur sata ?
Dans le fichier fstab suivant:
#
# /etc/fstab
#
/dev/sdb1 / ext4 defaults 1 1
/dev/sdb5 /usr ext4 defaults 1 2
/dev/sdb2 /usr/bin ext4 defaults 0 2
/dev/sdb7 /usr/local ext4 defaults 0 2
/dev/sdb6 /home ext4 defaults 1 2
/dev/sbpcd /mnt/cdrom iso9660 ro,noauto
/dev/fd0 /mnt/floppy ext4 defaults,noauto
/dev/sda1 /root/dosc msdos defaults
/dev/sdb8 /root/dosd msdos defaults
/dev/sdb3 none ignore
/dev/sdb4 none ignore
/proc /proc proc defaults
/dev/sda2 none swap sw
A quel type de système de fichier est associé la première partition se trouvant sur le premier disque sata ?
La tête de lecture d'un disque dur vole sur un coussin d'air a un dizaine de nanomètres de la surface du disque dur (voir http://fr.wikipedia.org/wiki/Disque_dur) ... par comparaison un cheveu humain a un diamètre d'environ 100 micromètres (soit 10 000 fois plus).
Un disque standard tourne à 7200 tours par minute.
A votre avis, que se passe-il si une poussière rentre dans votre disque dur ?
A votre avis, que se passe-il si votre disque dur prend un coup lorsqu'il est en fonctionnement ?
Les fabriquants de disque dur donnent des durées de vie de leurs disques durs de l'ordre de 3 à 5 ans. Et des garanties de l'ordre de 1 à 3 ans.
Sur des serveurs très sollicités, il arrive de devoir changer des disques tous les ans.
Considérons une personne payée 15 euros de l'heure, donc coûtant 30 euros de l'heure à une entreprise.
Cette personne travaille 35 heures par semaine, 4 semaines par mois.
Quel est le coût pour l'entreprise si, suite à un crash de disque dur, 6 mois de travail sont perdus?
Le raid-5 utilise la parité pour pouvoir récupérer des données en cas de perte d'un disque.
Ici, on a un raid-5 avec 4 disques: donc, pour simplifier, 3 disques de données (A,B,C) et 1 disque de parité (D).
On suppose, pour simplifier, qu'un bit est stocké sur chaque disque.
Le disque de parité est calculé en comptant le nombre de bits à 1. Si ce nombre est pair le résultat est 0, sinon c'est 1.
Calculez les valeur sur le disque de parité.
num. ligne | disque A |
disque B |
disque C | disque D |
1 | 0 |
1 |
1 | ? |
2 | 0 |
0 |
1 | ? |
3 | 1 | 0 |
0 | ? |
4 | 0 |
1 | 1 | ? |
5 | 1 |
1 | 1 | ? |
6 | 1 |
0 |
0 | ? |
Supposons que des données soient sur un raid-5 composé de 5 disques : A, B, C, D et E
Dans cet exemple, les données de parité sont sur E
Une panne survient sur le disque B.
Recalculez, à l'aide de la parité les données perdues sur le disque B.
num. ligne | disque A |
disque B |
disque C | disque D | disque E |
1 | 0 | ? | 0 | 1 | 1 |
2 | 1 | ? | 0 | 1 | 1 |
3 | 1 | ? | 1 | 0 | 1 |
4 | 1 | 1 | 0 | 0 | 0 |
5 | 0 | 1 | 1 | 1 | 1 |
6 | 1 | ? | 1 | 1 | 0 |
De nombreux moyens existent pour transferer des données entre deux machines.
Lisez (sur internet ou avec dans man) des elements sur les trois protocoles suivants:
Syntaxe:
scp source destination
scp utilisateur@nom_machine:chemin utilisateur@nom_machine:chemin
Simplifications nécessaires:
Indice: comment désigne-t-on le répertoire courant (avec un seul caractère)
Non. Rappel:
Syntaxe:
scp source destination
scp utilisateur@nom_machine:chemin utilisateur@nom_machine:chemin
Simplifications nécessaires:
Lancez "sudo wireshark" et démarrez la capture de paquets.
Ensuite copiez des fichiers avec scp, puis arrêtez la capture.
Cherchez les paquets correspondants (ssh).
Est-ce que votre mot de passe apparaît?
Pour pouvoir installer un logiciel il faut d'abord trouver le nom du
paquet correspondant. Vous ne pouvez pas le deviner.
Essayez de trouver le nom du paquet correspondant au client MariaDB (remplacement de MySQL sur debian 11) .
Attention, il y a beaucoup de choix, il faut fouiller un peu.
La liste de commandes se trouve ici
Le nom du paquet est mariadb-client
Installez le.
Quel est le nom du paquet correspondant au serveur MySQL ?
Installez le paquet mariadb-server
MySQL définit des "utilisateurs" avec des droits sur les différentes bases de données et les tables dans ces bases de données.
Les utilisateurs que définit MySQL n'ont rien à voir avec les utilisateurs de votre système (pas les mêmes noms, pas les mêmes mots de passe ... bref rien à voir!)
Par exemple : l'utilisateur "etudiant" qui existe sur votre machine n'existe pas dans MySQL.
Autre exemple : il existe bien un utilisateur "root" dans mysql, mais il n'a aucun lien avec l'utilisateur "root" de votre machine.
Il faut faire attention à ne pas confondre les deux.
Pour des raisons de sécurité, seul l'utilisateur "root" du système, peut se connecter sur l'utilisateur "root" de MySQL, sans mot de passe.
Tapez la commande "sudo mysql -u root"
Cette commande vous permet de vous connecter en tant que "root" MySQL (rien à voir avec le "root" du système).
MySQL définit des bases de données (database). Chaque base de données peut contenir des tables.
Dans l'invite mysql, tapez la commande "SHOW DATABASES;" (n'oubliez pas le ";")
Combien de bases de données sont déjà définies?
CREATE DATABASE essai;
Ensuite utilisez-là (faites en sorte que "essai" soit la table utilisée)USE essai
et vérifiez qu'il n'y ait (pour l'instant) aucune table dans cette base. CREATE TABLE matable (id int,nom text,age int);
GRANT ALL PRIVILEGES ON essai.* TO 'adminessai'@'localhost' IDENTIFIED BY 'motdepasse';
FLUSH PRIVILEGES;
On peut ajouter des fonctionnalités au PHP en installant des "modules".
Tapez "apt search php7.4".
Vous verrez de nombreux paquets dont le nom commence par "php7.4-".
Après l'installation d'un module, il faut redémarrer Apache.
Pour pouvoir acceder à MySQL à partir du PHP, PhpMyAdmin a besoin du module php7.4-mysql
Installez php7.4-mysql
PhpMyAdmin a aussi besoin d'un module lié à "mbstring".
Trouvez le nom du paquet et installez-le.
(pensez à redémarrer votre serveur Apache)
PhpMyAdmin est un logiciel libre vous permettant d'administrer votre base de données à partir d'une interface web.
Pour mieux s'habituer à l'installation de logiciels web, nous allons installer phpmyadmin à partir des sources et non pas à partir du paquet debian (apt).
(donc n'utilisez pas apt install)
Trouvez sur https://www.phpmyadmin.net la section téléchargement (downloads), puis téléchargez et désarchivez le code source du logiciel "phpmyadmin". (on prendra, par exemple, la version autorisant toutes les langues et qui se trouve au format .tar.gz)
Quelle est la version actuelle de ce logiciel que vous téléchargez? (juste les numéros)
PhpMyAdmin utilise les mêmes utilisateurs que MySQL.
Cependant, votre MySQL, par défaut, ne permet pas une connexion de l'utilisateur "root".
Il faut donc créer un autre utilisateur dans mysql:
(en modifiant "exemple" et "motdepasse")
GRANT ALL PRIVILEGES ON *.* TO 'exemple'@'localhost' IDENTIFIED BY 'motdepasse';
FLUSH PRIVILEGES;
Quelle est la version de Wordpress que vous avez téléchargé ?
Désarchivez dans /var/www/html et vérifiez que votre navigateur peut accéder au site à l'adresse http://votre_adresse_ip/wordpress
(pendant l'installation, il faut utiliser http://votre_adresse_ip/wordpress et pas http://localhost/wordpress)
Un message vous indiquant les informations nécessaires est affiché.
On va faire le nécessaire ensemble.
Comme beaucoup de logiciels web, Worpress a besoin d'une base de données.
Quelle commande SQL faut-il taper pour créer la base de données appelée bdd_wordpress ?
Créez la base de données avec la commande mysql suivante:
CREATE DATABASE bdd_wordpress
Maintenant il faut créer un utilisateur MySQL appelée user_bdd_wordpress qui aura les droits sur cette base.
Quelle commande MySQL taper ?
Créez l'utilisateur de la base de données avec la commande suivante:
GRANT ALL PRIVILEGES ON bdd_wordpress.* TO 'user_bdd_wordpress'@'localhost' IDENTIFIED BY 'motdepasse';
FLUSH PRIVILEGES;
Retournez sur votre site Wordpress.
Remplissez les champs.
Puis suivez les instructions vous demandant de créer le fichier wp-config.php
Quel est le nom de la colonne où sont enregistrés les mot de passe ?
Les mots de passe des utilisateurs de Wordpress sont:
Comment s'appelle la table qui contient les données sur les articles que vous avez écrit ?
Dans PhpMyAdmin, modifiez un des le post_content d'un des articles que vous avez crée.
Vérifiez que la modification s'affiche bien sur le site.
Trouvez sur le web une image qui vous plaît et mettez la dans votre répertoire personnel.
Sur Wordpress, cliquez sur le lien "modifier" d'un de vos articles, puis "Ajouter un média".
Ensuite "Choisir des fichiers" et choisissez votre image.
Une erreur s'affiche à droite se plaignant d'un problème de droits d'écriture sur un répertoire.
Quel est le nom de ce répertoire ?
Wordpress vous indique qu'il n'arrive pas à écrire dans wp-content
On a vu que Wordpress est exécuté par Apache, donc par www-data
Retournez dans Wordpress et essayez à nouveau d'ajouter une image à votre article.
Essayez de retrouver l'image dans le répertoire de Wordpress.