ajout copy on code blocks
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
d6a206acda
commit
c24a564510
@ -1,30 +1,30 @@
|
|||||||
# Sauvegarder des données
|
# Sauvegarder des données
|
||||||
|
|
||||||
1. Lister les partitions:
|
1. Lister les partitions:
|
||||||
```
|
``` { .copy }
|
||||||
lsblk
|
lsblk
|
||||||
```
|
```
|
||||||
2. Identifier la partition contenant les fichiers à sauvegarder
|
2. Identifier la partition contenant les fichiers à sauvegarder
|
||||||
3. Monter la partition
|
3. Monter la partition
|
||||||
```
|
``` { .copy }
|
||||||
mkdir /mnt/nom_du_dossier
|
mkdir /mnt/nom_du_dossier
|
||||||
mount /dev/sdXy /mnt/nom_du_dossier
|
mount /dev/sdXy /mnt/nom_du_dossier
|
||||||
```
|
```
|
||||||
4. Cibler le dossier à sauvegarder
|
4. Cibler le dossier à sauvegarder
|
||||||
```
|
``` { .copy }
|
||||||
ls /mnt/nom_du_dossier
|
ls /mnt/nom_du_dossier
|
||||||
```
|
```
|
||||||
5. Créer le dossier de réception sur le serveur de backup:
|
5. Créer le dossier de réception sur le serveur de backup:
|
||||||
```
|
``` { .copy }
|
||||||
ssh -p 5555 bellinuxien@192.168.1.75
|
ssh -p 5555 bellinuxien@192.168.1.75
|
||||||
mkdir /home/bellinuxien/BACKUPS/nom-de-dossier
|
mkdir /home/bellinuxien/BACKUPS/nom-de-dossier
|
||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
6. Copier le dossier utilisateur vers le dossier sur le serveur de backup:
|
6. Copier le dossier utilisateur vers le dossier sur le serveur de backup:
|
||||||
```bash
|
``` { .copy }
|
||||||
rsync -ah -e "ssh -p 5555" /mnt/nom_du_dossier bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ --info=progress2 && sync
|
rsync -ah -e "ssh -p 5555" /mnt/nom_du_dossier bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ --info=progress2 && sync
|
||||||
```
|
```
|
||||||
7. Rapatrier les fichiers du serveur de backup vers une machine:
|
7. Rapatrier les fichiers du serveur de backup vers une machine:
|
||||||
```bash
|
``` { .copy }
|
||||||
rsync -ah -e "ssh -p 5555" bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ /mnt/nom_du_dossier --info=progress2 && sync
|
rsync -ah -e "ssh -p 5555" bellinuxien@192.168.1.75:/home/bellinuxien/BACKUPS/nom_du_dossier/ /mnt/nom_du_dossier --info=progress2 && sync
|
||||||
```
|
```
|
||||||
|
|||||||
@ -11,66 +11,66 @@ declare -a MA_LIST
|
|||||||
### Modification de la liste
|
### Modification de la liste
|
||||||
|
|
||||||
1. Ajout d'éléments
|
1. Ajout d'éléments
|
||||||
```
|
``` { .copy }
|
||||||
MA_LIST=(1er_element 2nd_element)
|
MA_LIST=(1er_element 2nd_element)
|
||||||
MA_LIST+=("3eme élément avec des espaces")
|
MA_LIST+=("3eme élément avec des espaces")
|
||||||
MA_LIST[3]="4eme élémént"
|
MA_LIST[3]="4eme élémént"
|
||||||
```
|
```
|
||||||
2. Changement de valeur d'un élément
|
2. Changement de valeur d'un élément
|
||||||
```
|
``` { .copy }
|
||||||
MA_LIST[0]="la nouvelle valeur qu'on met pour le 1er élément"
|
MA_LIST[0]="la nouvelle valeur qu'on met pour le 1er élément"
|
||||||
MA_LIST[1]="la valeur pour le 2eme élément"
|
MA_LIST[1]="la valeur pour le 2eme élément"
|
||||||
```
|
```
|
||||||
3. Traitement sur l'ensemble des éléments
|
3. Traitement sur l'ensemble des éléments
|
||||||
- en utilisant la liste des index `${!MA_LIST[@]}`:
|
- en utilisant la liste des index `${!MA_LIST[@]}`:
|
||||||
```
|
``` { .copy }
|
||||||
for i in "${!MA_LIST[@]}" ; do
|
for i in "${!MA_LIST[@]}" ; do
|
||||||
echo "index = $i - value = ${MA_LIST[i]}"
|
echo "index = $i - value = ${MA_LIST[i]}"
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
- en utilisant la liste des valeurs `${MA_LIST[@]}`
|
- en utilisant la liste des valeurs `${MA_LIST[@]}`
|
||||||
```
|
``` { .copy }
|
||||||
for i in "${MA_LIST[@]}" ; do
|
for i in "${MA_LIST[@]}" ; do
|
||||||
echo "value = ${i}"
|
echo "value = ${i}"
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
- nombre d'éléments:
|
- nombre d'éléments:
|
||||||
```
|
``` { .copy }
|
||||||
echo "nombre d'éléments : ${MA_LIST[]}
|
echo "nombre d'éléments : ${MA_LIST[]}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Les tableaux (`associative arrays`)
|
## Les tableaux (`associative arrays`)
|
||||||
|
|
||||||
### Création d'un tableau
|
### Création d'un tableau
|
||||||
```
|
``` { .copy }
|
||||||
declare -A MY_ARRAY
|
declare -A MY_ARRAY
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Ajout d'éléments
|
1. Ajout d'éléments
|
||||||
```
|
``` { .copy }
|
||||||
MY_ARRAY=([clé1]=1er_element [clé2]=2nd_element)
|
MY_ARRAY=([clé1]=1er_element [clé2]=2nd_element)
|
||||||
MY_ARRAY+=([clé3]="3eme élément avec des espaces")
|
MY_ARRAY+=([clé3]="3eme élément avec des espaces")
|
||||||
MY_ARRAY[dernière_clé]="4eme élément"
|
MY_ARRAY[dernière_clé]="4eme élément"
|
||||||
```
|
```
|
||||||
2. Changement de valeur d'un élément
|
2. Changement de valeur d'un élément
|
||||||
```
|
``` { .copy }
|
||||||
MY_ARRAY[clé1]="la nouvelle valeur qu'on met pour l'élément associé à `clé1`"
|
MY_ARRAY[clé1]="la nouvelle valeur qu'on met pour l'élément associé à `clé1`"
|
||||||
```
|
```
|
||||||
3. Traitement sur l'ensemble des éléments
|
3. Traitement sur l'ensemble des éléments
|
||||||
- en utilisant la liste des clés `${!MY_ARRAY[@]}`:
|
- en utilisant la liste des clés `${!MY_ARRAY[@]}`:
|
||||||
```
|
``` { .copy }
|
||||||
for i in "${!MY_ARRAY[@]}" ; do
|
for i in "${!MY_ARRAY[@]}" ; do
|
||||||
echo "key = $i - value = ${MY_ARRAY[i]}"
|
echo "key = $i - value = ${MY_ARRAY[i]}"
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
- en utilisant la liste des valeurs `${MY_ARRAY[@]}`
|
- en utilisant la liste des valeurs `${MY_ARRAY[@]}`
|
||||||
```
|
``` { .copy }
|
||||||
for i in "${MY_ARRAY[@]}" ; do
|
for i in "${MY_ARRAY[@]}" ; do
|
||||||
echo "value = ${i}"
|
echo "value = ${i}"
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
- nombre d'éléments:
|
- nombre d'éléments:
|
||||||
```
|
``` { .copy }
|
||||||
echo "nombre d'éléments : ${MY_ARRAY[]}
|
echo "nombre d'éléments : ${MY_ARRAY[]}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -11,12 +11,12 @@ De même, la commande peut permettre de travailler sur un système devenu inacce
|
|||||||
## Utilisation
|
## Utilisation
|
||||||
|
|
||||||
:bulb: Repérer le disque du système d'exploitation que l'on souhaite "chrooter"
|
:bulb: Repérer le disque du système d'exploitation que l'on souhaite "chrooter"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
lsblk
|
lsblk
|
||||||
```
|
```
|
||||||
|
|
||||||
- Monter les partitions nécessaires
|
- Monter les partitions nécessaires
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mount /dev/sda2 /mnt # exemple pour un disque sda2
|
sudo mount /dev/sda2 /mnt # exemple pour un disque sda2
|
||||||
|
|
||||||
sudo mount --bind /dev /mnt/dev
|
sudo mount --bind /dev /mnt/dev
|
||||||
@ -26,19 +26,19 @@ sudo mount --bind /run /mnt/run
|
|||||||
```
|
```
|
||||||
|
|
||||||
- Connexion:
|
- Connexion:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo chroot /mnt
|
sudo chroot /mnt
|
||||||
```
|
```
|
||||||
|
|
||||||
:warning: A partir de cette commande, toutes les autres commandes saisies s'éffectuent sur le système cible
|
:warning: A partir de cette commande, toutes les autres commandes saisies s'éffectuent sur le système cible
|
||||||
|
|
||||||
- Réparer le GRUB:
|
- Réparer le GRUB:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
grub-install /dev/sda
|
grub-install /dev/sda
|
||||||
```
|
```
|
||||||
|
|
||||||
- Réparer le système d'exploitation:
|
- Réparer le système d'exploitation:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
apt --fix-broken install
|
apt --fix-broken install
|
||||||
dpkg --configure -a
|
dpkg --configure -a
|
||||||
apt install -f
|
apt install -f
|
||||||
@ -46,12 +46,12 @@ apt install --reinstall apt
|
|||||||
```
|
```
|
||||||
|
|
||||||
- Pour se déconnecter:
|
- Pour se déconnecter:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
|
|
||||||
- Démonter le système de fichier:
|
- Démonter le système de fichier:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo umount -a /mnt
|
sudo umount -a /mnt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -6,12 +6,12 @@ On utilise un **Here Tag**, qui est souvent `EOF`mais que vous pouvez nommer com
|
|||||||
|
|
||||||
#### Multi-lignes SANS Heredoc (avec `\n`)
|
#### Multi-lignes SANS Heredoc (avec `\n`)
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
text=$'premièreligne\ndeuxièmeligne'
|
text=$'premièreligne\ndeuxièmeligne'
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Utilisation dans une variable
|
#### Utilisation dans une variable
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ MA_VARIABLE=$(cat <<EOF
|
visiteur@domani:~$ MA_VARIABLE=$(cat <<EOF
|
||||||
premiere ligne
|
premiere ligne
|
||||||
deuxième ligne
|
deuxième ligne
|
||||||
@ -23,7 +23,7 @@ deuxième ligne
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Utilisation pour écrire dans un fichier
|
#### Utilisation pour écrire dans un fichier
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ cat <<EOF1 > file.txt
|
visiteur@domani:~$ cat <<EOF1 > file.txt
|
||||||
premiere ligne
|
premiere ligne
|
||||||
deuxième ligne
|
deuxième ligne
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
## Repérer les partitions disponibles
|
## Repérer les partitions disponibles
|
||||||
|
|
||||||
Quelques commandes sont utiles pour connaître l'état des disques, des partitions et des points de montage
|
Quelques commandes sont utiles pour connaître l'état des disques, des partitions et des points de montage
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo fdisk -l
|
sudo fdisk -l
|
||||||
sudo df -H
|
sudo df -H
|
||||||
```
|
```
|
||||||
@ -19,38 +19,39 @@ On utilise la commande udiskctl qui nous permet de monter un disque externe ou u
|
|||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt install udisks2
|
sudo apt install udisks2
|
||||||
```
|
```
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
#### Monter une partition
|
#### Monter une partition
|
||||||
```
|
``` { .bash .copy }
|
||||||
udiskct --mount -b /dev/sdb1
|
udiskct --mount -b /dev/sdb1
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Démonter une partition
|
#### Démonter une partition
|
||||||
```
|
``` { .bash .copy }
|
||||||
udiskctl unmount -b /dev/sdb1
|
udiskctl unmount -b /dev/sdb1
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Éjecter proprement une clé usb
|
#### Éjecter proprement une clé usb
|
||||||
```
|
``` { .bash .copy }
|
||||||
udiskctl power-off -b /dev/sdb
|
udiskctl power-off -b /dev/sdb
|
||||||
```
|
```
|
||||||
|
|
||||||
## Avec mount
|
## Avec mount
|
||||||
|
|
||||||
Avec la commande mount, il est nécessaire de bien définir les options de montage
|
Avec la commande mount, il est nécessaire de bien définir les options de montage:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo mkdir -p /mnt/cle
|
sudo mkdir -p /mnt/cle
|
||||||
sudo mount /dev/sdb1 /mnt/cle
|
sudo mount /dev/sdb1 /mnt/cle
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour démonter une clé
|
Pour démonter une clé:
|
||||||
```
|
|
||||||
|
``` { .bash .copy }
|
||||||
sudo umount /mnt/cle
|
sudo umount /mnt/cle
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
# nmcli
|
# nmcli
|
||||||
|
|
||||||
Scanner le reseau
|
Scanner le reseau
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nmcli d wifi
|
nmcli d wifi
|
||||||
```
|
```
|
||||||
Se connecter au reseau pour la première fois
|
Se connecter au reseau pour la première fois
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nmcli d wifi connect <SSID> -a
|
nmcli d wifi connect <SSID> -a
|
||||||
```
|
```
|
||||||
Se connection à un reseau existant
|
Se connection à un reseau existant
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nmcli con <SSID>
|
nmcli con <SSID>
|
||||||
```
|
```
|
||||||
Changer les serveurs DNS
|
Changer les serveurs DNS
|
||||||
@ -25,6 +25,6 @@ Méthode degeulasse
|
|||||||
|
|
||||||
Méthode clean
|
Méthode clean
|
||||||
/!\ À faire pour chaque point d'accès /!\
|
/!\ À faire pour chaque point d'accès /!\
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nmcli con mod <SSID> ipv4.dns "80.67.169.12 80.67.169.40" ipv4.ignore-auto-dns yes
|
nmcli con mod <SSID> ipv4.dns "80.67.169.12 80.67.169.40" ipv4.ignore-auto-dns yes
|
||||||
```
|
```
|
||||||
|
|||||||
@ -24,13 +24,13 @@
|
|||||||
|
|
||||||
Insérez deux disques durs dans votre ordinateur Linux, puis ouvrez une fenêtre de terminal. Exécutez la commande suivante pour vérifier le nom du dispositif.
|
Insérez deux disques durs dans votre ordinateur Linux, puis ouvrez une fenêtre de terminal. Exécutez la commande suivante pour vérifier le nom du dispositif.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo fdisk -l
|
sudo fdisk -l
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
linux fdisk partition
|
linux fdisk partition
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Vous pouvez voir que le mien est /dev/sdb et /dev/sdc.
|
|||||||
|
|
||||||
- Ensuite, exécutez les deux commandes suivantes pour créer une nouvelle table de partition MBR sur les deux disques durs. (Remarque : cela effacera toutes les partitions et les données existantes de ces deux disques durs. Assurez-vous de sauvegarder vos données.)
|
- Ensuite, exécutez les deux commandes suivantes pour créer une nouvelle table de partition MBR sur les deux disques durs. (Remarque : cela effacera toutes les partitions et les données existantes de ces deux disques durs. Assurez-vous de sauvegarder vos données.)
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo parted /dev/sdb mklabel msdos
|
sudo parted /dev/sdb mklabel msdos
|
||||||
sudo parted /dev/sdc mklabel msdos
|
sudo parted /dev/sdc mklabel msdos
|
||||||
```
|
```
|
||||||
@ -47,7 +47,7 @@ Vous pouvez créer une table de partition GPT en remplaçant "msdos" par "gpt",
|
|||||||
|
|
||||||
Ensuite, utilisez la commande fdisk pour créer une nouvelle partition sur chaque disque et formatez-les en tant que système de fichiers Linux autodétecté en RAID. Commencez par le faire sur /dev/sdb.
|
Ensuite, utilisez la commande fdisk pour créer une nouvelle partition sur chaque disque et formatez-les en tant que système de fichiers Linux autodétecté en RAID. Commencez par le faire sur /dev/sdb.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo fdisk /dev/sdb
|
sudo fdisk /dev/sdb
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -73,25 +73,25 @@ Suivez les mêmes instructions pour créer une partition Linux autodétectée en
|
|||||||
[MDADM](https://fr.wikipedia.org/wiki/Mdadm) est utilisé pour gérer les dispositifs MD (multiples dispositifs), également connus sous le nom de RAID logiciel Linux.
|
[MDADM](https://fr.wikipedia.org/wiki/Mdadm) est utilisé pour gérer les dispositifs MD (multiples dispositifs), également connus sous le nom de RAID logiciel Linux.
|
||||||
??? note "Pour installer mdadm selon votre distribution de Linux"
|
??? note "Pour installer mdadm selon votre distribution de Linux"
|
||||||
=== "Debian/Ubuntu"
|
=== "Debian/Ubuntu"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install mdadm
|
sudo apt install mdadm
|
||||||
```
|
```
|
||||||
=== "CentOS/Redhat"
|
=== "CentOS/Redhat"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo yum install mdadm
|
sudo yum install mdadm
|
||||||
```
|
```
|
||||||
=== "SUSE"
|
=== "SUSE"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo zypper install mdadm
|
sudo zypper install mdadm
|
||||||
```
|
```
|
||||||
=== "Arch Linux"
|
=== "Arch Linux"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo pacman -S mdadm
|
sudo pacman -S mdadm
|
||||||
```
|
```
|
||||||
|
|
||||||
Examinons les deux dispositifs:
|
Examinons les deux dispositifs:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --examine /dev/sdb /dev/sdc
|
sudo mdadm --examine /dev/sdb /dev/sdc
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ sudo mdadm --examine /dev/sdb /dev/sdc
|
|||||||
|
|
||||||
Vous pouvez voir que les deux sont de type "fd" (Linux autodétecté en RAID). À ce stade, il n'y a pas de configuration RAID sur /dev/sdb1 et /dev/sdc1, ce qui peut être déduit avec cette commande:
|
Vous pouvez voir que les deux sont de type "fd" (Linux autodétecté en RAID). À ce stade, il n'y a pas de configuration RAID sur /dev/sdb1 et /dev/sdc1, ce qui peut être déduit avec cette commande:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
|||||||
|
|
||||||
#### Exécutez la commande suivante pour créer un RAID 1. Le lecteur logique sera nommé /dev/md0.
|
#### Exécutez la commande suivante pour créer un RAID 1. Le lecteur logique sera nommé /dev/md0.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
|
sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
|
|||||||
|
|
||||||
Maintenant, nous pouvons le vérifier avec :
|
Maintenant, nous pouvons le vérifier avec :
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
cat /proc/mdstat
|
cat /proc/mdstat
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ cat /proc/mdstat
|
|||||||
|
|
||||||
Vous pouvez voir que md0 est actif et qu'il s'agit d'une configuration RAID 1. Pour obtenir des informations plus détaillées sur /dev/md0, vous pouvez utiliser les commandes ci-dessous :
|
Vous pouvez voir que md0 est actif et qu'il s'agit d'une configuration RAID 1. Pour obtenir des informations plus détaillées sur /dev/md0, vous pouvez utiliser les commandes ci-dessous :
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --detail /dev/md0
|
sudo mdadm --detail /dev/md0
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ sudo mdadm --detail /dev/md0
|
|||||||
|
|
||||||
Pour obtenir des informations détaillées sur chaque dispositif RAID, exécutez cette commande :
|
Pour obtenir des informations détaillées sur chaque dispositif RAID, exécutez cette commande :
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -145,20 +145,20 @@ sudo mdadm --examine /dev/sdb1 /dev/sdc1
|
|||||||
|
|
||||||
#### Formatez-le en système de fichiers ext4.
|
#### Formatez-le en système de fichiers ext4.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mkfs.ext4 /dev/md0
|
sudo mkfs.ext4 /dev/md0
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Créer un point de montage /mnt/raid1 et montez le lecteur RAID 1
|
#### Créer un point de montage /mnt/raid1 et montez le lecteur RAID 1
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mkdir /mnt/raid1
|
sudo mkdir /mnt/raid1
|
||||||
sudo mount /dev/md0 /mnt/raid1
|
sudo mount /dev/md0 /mnt/raid1
|
||||||
```
|
```
|
||||||
|
|
||||||
Vous pouvez utiliser cette commande pour vérifier la quantité d'espace disque dont vous disposez.
|
Vous pouvez utiliser cette commande pour vérifier la quantité d'espace disque dont vous disposez.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
df -h /mnt/raid1
|
df -h /mnt/raid1
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -168,29 +168,29 @@ df -h /mnt/raid1
|
|||||||
|
|
||||||
#### Sauvegarder notre configuration RAID1 avec la commande suivante:
|
#### Sauvegarder notre configuration RAID1 avec la commande suivante:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
|
sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID=c7a2743d:f1e0d872:b2ad29cd:e2bee48c
|
ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID=c7a2743d:f1e0d872:b2ad29cd:e2bee48c
|
||||||
- devices=/dev/sdb1,/dev/sdc1
|
- devices=/dev/sdb1,/dev/sdc1
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! tip "Sur certaines distributions Linux telles que CentOS, le fichier de configuration pour mdadm se trouve dans /etc/mdadm/mdadm.conf. Vous devrez exécuter la commande suivante pour générer une nouvelle image initramfs après avoir exécuté la commande ci-dessus."
|
!!! tip "Sur certaines distributions Linux telles que CentOS, le fichier de configuration pour mdadm se trouve dans /etc/mdadm/mdadm.conf. Vous devrez exécuter la commande suivante pour générer une nouvelle image initramfs après avoir exécuté la commande ci-dessus."
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo update-initramfs -u
|
sudo update-initramfs -u
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! note "Pour monter automatiquement le lecteur logique RAID 1 au démarrage, ajouter une entrée dans le fichier /etc/fstab"
|
!!! note "Pour monter automatiquement le lecteur logique RAID 1 au démarrage, ajouter une entrée dans le fichier /etc/fstab"
|
||||||
=== "base"
|
=== "base"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
/dev/md0 /mnt/raid1 ext4 defaults 0 0
|
/dev/md0 /mnt/raid1 ext4 defaults 0 0
|
||||||
```
|
```
|
||||||
=== "avançé (pour voir le volume RAID dans le gestionnaire de fichiers)"
|
=== "avançé (pour voir le volume RAID dans le gestionnaire de fichiers)"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
/dev/md0 /mnt/raid1 ext4- defaults,x-gvfs-show 0 0
|
/dev/md0 /mnt/raid1 ext4- defaults,x-gvfs-show 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ sudo update-initramfs -u
|
|||||||
|
|
||||||
Si vous ne souhaitez plus utiliser le RAID, exécutez la commande suivante pour le supprimer.
|
Si vous ne souhaitez plus utiliser le RAID, exécutez la commande suivante pour le supprimer.
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo umount /mnt/raid1
|
sudo umount /mnt/raid1
|
||||||
sudo mdadm --remove /dev/md0
|
sudo mdadm --remove /dev/md0
|
||||||
```
|
```
|
||||||
@ -206,7 +206,7 @@ sudo mdadm --remove /dev/md0
|
|||||||
Ensuite, éditez le fichier mdadm.conf et commentez la définition RAID :
|
Ensuite, éditez le fichier mdadm.conf et commentez la définition RAID :
|
||||||
|
|
||||||
!!! note "Editez le fichier /etc/fstab et commentez la ligne qui active le montage automatique du dispositif RAID"
|
!!! note "Editez le fichier /etc/fstab et commentez la ligne qui active le montage automatique du dispositif RAID"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
#ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=bionic:0 UUID=76c80bd0:6b1fe526:90807435:99030af9
|
#ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=bionic:0 UUID=76c80bd0:6b1fe526:90807435:99030af9
|
||||||
# devices=/dev/sda1,/dev/sdb1
|
# devices=/dev/sda1,/dev/sdb1
|
||||||
```
|
```
|
||||||
|
|||||||
@ -11,7 +11,7 @@ On utilise ensuite la valeur saisie stockée dans une variable.
|
|||||||
Utilisez [`HereDoc`](heredoc.md) pour afficher du contenu sur plusieurs lignes!
|
Utilisez [`HereDoc`](heredoc.md) pour afficher du contenu sur plusieurs lignes!
|
||||||
|
|
||||||
#### Usage minimal
|
#### Usage minimal
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ read
|
visiteur@domani:~$ read
|
||||||
mot
|
mot
|
||||||
visiteur@domani:~$ echo $REPLY
|
visiteur@domani:~$ echo $REPLY
|
||||||
@ -19,7 +19,7 @@ mot
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Définissez la variable qui contient le résultat, au lieu du défaut `$REPLY`
|
#### Définissez la variable qui contient le résultat, au lieu du défaut `$REPLY`
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ read MAREPONSE
|
visiteur@domani:~$ read MAREPONSE
|
||||||
truc
|
truc
|
||||||
visiteur@domani:~$ echo $MAREPONSE
|
visiteur@domani:~$ echo $MAREPONSE
|
||||||
@ -27,7 +27,7 @@ truc
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Utilisez ++space++, ou n'importe quel caractère pour délimiter la fin de la réponse
|
#### Utilisez ++space++, ou n'importe quel caractère pour délimiter la fin de la réponse
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ read '-d '
|
visiteur@domani:~$ read '-d '
|
||||||
truc visiteur@domani:~$
|
truc visiteur@domani:~$
|
||||||
|
|
||||||
@ -36,20 +36,20 @@ trucAvisiteur@domani:~$
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Utiliser `read -s` pour garder secrète la saisie de l'utilisateur
|
#### Utiliser `read -s` pour garder secrète la saisie de l'utilisateur
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ read -s
|
visiteur@domani:~$ read -s
|
||||||
visiteur@domani:~$ echo $REPLY
|
visiteur@domani:~$ echo $REPLY
|
||||||
secret
|
secret
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Utilisez `read -p` pour afficher un message avant la saisie (pas de retour à la ligne)
|
#### Utilisez `read -p` pour afficher un message avant la saisie (pas de retour à la ligne)
|
||||||
```
|
``` { .bash .copy }
|
||||||
visiteur@domani:~$ read -p "Continuez ? (y/n) : "
|
visiteur@domani:~$ read -p "Continuez ? (y/n) : "
|
||||||
Continuez ? (y/n) : y
|
Continuez ? (y/n) : y
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Répéter l'invite de saisie tant que la valeur n'est pas correcte
|
#### Répéter l'invite de saisie tant que la valeur n'est pas correcte
|
||||||
```
|
``` { .bash .copy }
|
||||||
until [[ $VALUE ]] ; do
|
until [[ $VALUE ]] ; do
|
||||||
read -p "Enter value for $var : " VALUE;
|
read -p "Enter value for $var : " VALUE;
|
||||||
done ;
|
done ;
|
||||||
@ -57,7 +57,7 @@ Continuez ? (y/n) : y
|
|||||||
|
|
||||||
#### Avec une itération dans une liste
|
#### Avec une itération dans une liste
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
for var in ${VAR_LIST[@]}; do
|
for var in ${VAR_LIST[@]}; do
|
||||||
VALUE=""
|
VALUE=""
|
||||||
until [[ $VALUE ]] ; do
|
until [[ $VALUE ]] ; do
|
||||||
|
|||||||
@ -1,24 +1,29 @@
|
|||||||
# Screen
|
# Screen
|
||||||
|
|
||||||
1.Installation
|
1.Installation
|
||||||
|
``` { .bash .copy }
|
||||||
sudo apt install screen
|
sudo apt install screen
|
||||||
|
```
|
||||||
|
|
||||||
2.Pour démarrer une nouvelle session:
|
2.Pour démarrer une nouvelle session:
|
||||||
|
``` { .bash .copy }
|
||||||
screen -S nom-de-la-session
|
screen -S nom-de-la-session
|
||||||
|
```
|
||||||
|
|
||||||
3.Pour laisser la session en arrière plan
|
3.Pour laisser la session en arrière plan
|
||||||
|
``` { .bash .copy }
|
||||||
++ctrl+a+d++
|
++ctrl+a+d++
|
||||||
|
```
|
||||||
|
|
||||||
4.Pour lister les sessions existantes:
|
4.Pour lister les sessions existantes:
|
||||||
|
``` { .bash .copy }
|
||||||
screen -ls
|
screen -ls
|
||||||
|
```
|
||||||
|
|
||||||
5.Pour se reconnecter :
|
5.Pour se reconnecter :
|
||||||
|
``` { .bash .copy }
|
||||||
screen -r nom-de-la-session
|
screen -r nom-de-la-session
|
||||||
|
```
|
||||||
|
|
||||||
**See [https://linuxize.com/post/how-to-use-linux-screen/](https://linuxize.com/post/how-to-use-linux-screen/)**
|
**See [https://linuxize.com/post/how-to-use-linux-screen/](https://linuxize.com/post/how-to-use-linux-screen/)**
|
||||||
|
|
||||||
|
|||||||
@ -2,53 +2,75 @@
|
|||||||
|
|
||||||
## Remove a key from known hosts:
|
## Remove a key from known hosts:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh-keygen -f "/home/user/.ssh/known_hosts" -R "key_name"
|
ssh-keygen -f "/home/user/.ssh/known_hosts" -R "key_name"
|
||||||
|
```
|
||||||
|
|
||||||
## Create a key:
|
## Create a key:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh-keygen -o -a 100 -t ed25519 -C user@email #create an ED25519 key
|
ssh-keygen -o -a 100 -t ed25519 -C user@email #create an ED25519 key
|
||||||
ssh-keygen -b 4096 -t rsa -C user@email #create a RSA key
|
ssh-keygen -b 4096 -t rsa -C user@email #create a RSA key
|
||||||
ssh-add newkey #add newkey to your SSH agent
|
ssh-add newkey #add newkey to your SSH agent
|
||||||
ssh-add *
|
ssh-add *
|
||||||
ssh-add .
|
ssh-add .
|
||||||
|
```
|
||||||
|
|
||||||
## List existing keys:
|
## List existing keys:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh-add -l
|
ssh-add -l
|
||||||
|
```
|
||||||
## Display a key:
|
## Display a key:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
cat /home/user/.ssh/key_name
|
cat /home/user/.ssh/key_name
|
||||||
|
```
|
||||||
|
|
||||||
## Display a key fingerprint (with random art image):
|
## Display a key fingerprint (with random art image):
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh-keygen -lvf key_name
|
ssh-keygen -lvf key_name
|
||||||
|
```
|
||||||
|
|
||||||
## Enable SSH agent:
|
## Enable SSH agent:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
eval $(ssh-agent -s)
|
eval $(ssh-agent -s)
|
||||||
|
```
|
||||||
|
|
||||||
## Copy a key to a distant server:
|
## Copy a key to a distant server:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh-copy-id user@server #Copy all keys that are registered in SSH agent
|
ssh-copy-id user@server #Copy all keys that are registered in SSH agent
|
||||||
ssh-copy-id -i newkey.pub user@server\n #Copy newkey.pub
|
ssh-copy-id -i newkey.pub user@server\n #Copy newkey.pub
|
||||||
|
```
|
||||||
|
|
||||||
## Remove a key:
|
## Remove a key:
|
||||||
|
|
||||||
Removing a key from a server can be done by editing your `/home/user/.ssh/authorized_keys` file.
|
??? note "Removing a key from a server"
|
||||||
|
It can be done by editing your `/home/user/.ssh/authorized_keys` file.
|
||||||
|
``` { .bash .copy }
|
||||||
|
nano /home/$(whoami)/.ssh/authorized_keys
|
||||||
|
```
|
||||||
|
Type ++ctrl+k++ to delete the line
|
||||||
|
|
||||||
## Connect and copy from a different port number:
|
## Connect and copy from a different port number:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh -p port user@server
|
ssh -p port user@server
|
||||||
scp -P port file user@server:way/
|
scp -P port file user@server:way/
|
||||||
rsync -e ssh -avz /source server:/target
|
rsync -e ssh -avz /source server:/target
|
||||||
rsync -ave ssh server:/source /target
|
rsync -ave ssh server:/source /target
|
||||||
ssh-copy-id -i newkey.pub -p port user@server
|
ssh-copy-id -i newkey.pub -p port user@server
|
||||||
|
```
|
||||||
|
|
||||||
## Connect a distant server in your file browser under Linux using SFTP:
|
## Connect a distant server in your file browser under Linux using SFTP:
|
||||||
|
|
||||||
Type the adress:
|
Type the adress:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
ssh://user@server:port
|
ssh://user@server:port
|
||||||
|
```
|
||||||
|
|
||||||
*See also:* [Enabling a SSH key on a Synology NAS running DSM 6](https://gitlab.com/sakura-lain/ssh-synology-nas-dsm-6/)
|
*Voir aussi:* [Enabling a SSH key on a Synology NAS running DSM 6](https://gitlab.com/sakura-lain/ssh-synology-nas-dsm-6/)
|
||||||
|
|||||||
@ -6,20 +6,22 @@
|
|||||||
|
|
||||||
#### Pour passer à un utilisateur admin :
|
#### Pour passer à un utilisateur admin :
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
su bellinuxien
|
su bellinuxien
|
||||||
```
|
```
|
||||||
#### installer flatpak pour avoir la dernière version de Minetest
|
#### installer flatpak pour avoir la dernière version de Minetest
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install flatpak geany
|
sudo apt install flatpak geany
|
||||||
|
```
|
||||||
|
|
||||||
#### On quitte l'admin avec CTRL+D
|
#### On quitte l'admin avec ++ctrl+d++
|
||||||
|
|
||||||
|
|
||||||
### Partie 2: en tant qu'utilisateur
|
### Partie 2: en tant qu'utilisateur
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
flatpak install flathub net.minetest.Minetest
|
flatpak install flathub net.minetest.Minetest
|
||||||
export MT=.var/app/net.minetest.Minetest/.minetest
|
export MT=.var/app/net.minetest.Minetest/.minetest
|
||||||
@ -28,7 +30,7 @@ export MT=.var/app/net.minetest.Minetest/.minetest
|
|||||||
|
|
||||||
#### Installer le jeu du Garage Numérique
|
#### Installer le jeu du Garage Numérique
|
||||||
```
|
```
|
||||||
cd $MT
|
``` { .bash .copy }cd $MT
|
||||||
mkdir games
|
mkdir games
|
||||||
cd games
|
cd games
|
||||||
git clone https://gitlab.com/garagenum/minetest-lug9000
|
git clone https://gitlab.com/garagenum/minetest-lug9000
|
||||||
@ -41,7 +43,8 @@ git clone https://gitlab.com/garagenum/minetest-lug9000
|
|||||||
|
|
||||||
#### Cloner le projet sur son ordinateur
|
#### Cloner le projet sur son ordinateur
|
||||||
Revenir dans le terminal et écrire:
|
Revenir dans le terminal et écrire:
|
||||||
```
|
|
||||||
|
``` { .bash .copy }
|
||||||
cd $MT
|
cd $MT
|
||||||
mkdir mods && cd mods
|
mkdir mods && cd mods
|
||||||
git clone https://gitlab.com/mon-pseudo/monprojet.git
|
git clone https://gitlab.com/mon-pseudo/monprojet.git
|
||||||
@ -49,7 +52,8 @@ cd monprojet
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Créer le fichier init.lua
|
#### Créer le fichier init.lua
|
||||||
```
|
|
||||||
|
``` { .bash .copy }
|
||||||
geany init.lua&
|
geany init.lua&
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Installer à partir des dépots officiels avec [apt](https://debian-facile.org/u
|
|||||||
|
|
||||||
## Installer .Net
|
## Installer .Net
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
||||||
sudo dpkg -i packages-microsoft-prod.deb
|
sudo dpkg -i packages-microsoft-prod.deb
|
||||||
sudo apt-get update; \
|
sudo apt-get update; \
|
||||||
@ -29,7 +29,7 @@ sudo apt-get update; \
|
|||||||
|
|
||||||
## Installer Mono
|
## Installer Mono
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
|
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
|
||||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||||
echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
|
echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
#### Cliquer sur `Créer un dépôt`.
|
#### Cliquer sur `Créer un dépôt`.
|
||||||
|
|
||||||
#### Une fois le dépôt créé, le cloner sur votre machine locale :
|
#### Une fois le dépôt créé, le cloner sur votre machine locale :
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git clone git@git.legaragenumerique.fr:gitea_username/nom_du_projet.git
|
git clone git@git.legaragenumerique.fr:gitea_username/nom_du_projet.git
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ git clone git@git.legaragenumerique.fr:gitea_username/nom_du_projet.git
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### créer la branch deploy et la pousser:
|
#### créer la branch deploy et la pousser:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git checkout -b deploy
|
git checkout -b deploy
|
||||||
git push -u origin deploy
|
git push -u origin deploy
|
||||||
```
|
```
|
||||||
@ -64,7 +64,7 @@ git push -u origin deploy
|
|||||||
## Mettre à jour son site
|
## Mettre à jour son site
|
||||||
|
|
||||||
- Une fois les modifications éffectuée sur vos fichiers, simplement pousser sur le serveur:
|
- Une fois les modifications éffectuée sur vos fichiers, simplement pousser sur le serveur:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git add *
|
git add *
|
||||||
git commit -m "maj fichier example.html"
|
git commit -m "maj fichier example.html"
|
||||||
git push
|
git push
|
||||||
@ -75,17 +75,17 @@ git push
|
|||||||
## Retirer son site
|
## Retirer son site
|
||||||
|
|
||||||
#### changer de branche (ne plus être sur la branche deploy):
|
#### changer de branche (ne plus être sur la branche deploy):
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git checkout main
|
git checkout main
|
||||||
```
|
```
|
||||||
|
|
||||||
#### supprimer la branch `deploy` locale:
|
#### supprimer la branch `deploy` locale:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git branch -d deploy
|
git branch -d deploy
|
||||||
```
|
```
|
||||||
|
|
||||||
#### supprimer la branch `deploy` distante:
|
#### supprimer la branch `deploy` distante:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push --delete origin deploy
|
git push --delete origin deploy
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
As of debian user we can install with apt
|
As of debian user we can install with apt
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
# install prerequisites
|
# install prerequisites
|
||||||
sudo apt update -qq >/dev/null
|
sudo apt update -qq >/dev/null
|
||||||
sudo apt install -qq -y apt-transport-https
|
sudo apt install -qq -y apt-transport-https
|
||||||
@ -52,7 +52,7 @@ Configure a public/private key pair for ssh root access.
|
|||||||
Run following commands as root:
|
Run following commands as root:
|
||||||
1. As root, run `ssh-keygen`
|
1. As root, run `ssh-keygen`
|
||||||
2. Copy the key to authorized keys for dokku:
|
2. Copy the key to authorized keys for dokku:
|
||||||
```
|
``` { .bash .copy }
|
||||||
cat ~/.ssh/id_rsa.pub |sshcommand acl-add dokku superuser
|
cat ~/.ssh/id_rsa.pub |sshcommand acl-add dokku superuser
|
||||||
```
|
```
|
||||||
3. In setup webpage at `http://<dokku.local>`, paste content from `/root/.ssh/id_rsa.pub` (only the part with `ssh-rsa`).
|
3. In setup webpage at `http://<dokku.local>`, paste content from `/root/.ssh/id_rsa.pub` (only the part with `ssh-rsa`).
|
||||||
@ -61,7 +61,7 @@ Run following commands as root:
|
|||||||
|
|
||||||
## Create app
|
## Create app
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
git clone https://github.com/heroku/python-getting-started
|
git clone https://github.com/heroku/python-getting-started
|
||||||
dokku apps:create python-getting-started
|
dokku apps:create python-getting-started
|
||||||
dokku postgres:create djangodatabase
|
dokku postgres:create djangodatabase
|
||||||
|
|||||||
@ -4,7 +4,7 @@ Ce guide permet d''utiliser l'API de Gitlab / Gitlab avec Bash pour récupérer
|
|||||||
|
|
||||||
## Récupérer la dernière version d'un projet Github
|
## Récupérer la dernière version d'un projet Github
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
curl -s https://api.github.com/repos/[author]/[repository]/releases/latest |\
|
curl -s https://api.github.com/repos/[author]/[repository]/releases/latest |\
|
||||||
grep "browser_download_url.*deb" |\
|
grep "browser_download_url.*deb" |\
|
||||||
cut -d : -f 2,3 |\
|
cut -d : -f 2,3 |\
|
||||||
@ -14,4 +14,4 @@ wget -qi -
|
|||||||
|
|
||||||
## Récupérer la dernière version d'un projet Gitlab
|
## Récupérer la dernière version d'un projet Gitlab
|
||||||
|
|
||||||
```
|
> A faire
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Il permet de stocker son code source en ligne pour y accéder de n'importe où e
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install git -y
|
sudo apt install git -y
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -16,62 +16,62 @@ sudo apt install git -y
|
|||||||
|
|
||||||
- Cloner un dépôt distant sur sa machine locale:
|
- Cloner un dépôt distant sur sa machine locale:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git clone https://gitlab.com/mon-dépôt-distant.git
|
git clone https://gitlab.com/mon-dépôt-distant.git
|
||||||
```
|
```
|
||||||
|
|
||||||
- Initialiser un dossier de projet pour le "pousser" en ligne:
|
- Initialiser un dossier de projet pour le "pousser" en ligne:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
cd mon-projet/
|
cd mon-projet/
|
||||||
git init
|
git init
|
||||||
```
|
```
|
||||||
|
|
||||||
- Ajouter des fichiers au suivi (pour les synchroniser vers un dépôt distant):
|
- Ajouter des fichiers au suivi (pour les synchroniser vers un dépôt distant):
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git add fichier1 fichier2
|
git add fichier1 fichier2
|
||||||
```
|
```
|
||||||
|
|
||||||
- Créer un enregistrement (une version) du code avec un commentaire:
|
- Créer un enregistrement (une version) du code avec un commentaire:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git commit -m "commentaire (exemple: modification du fichier1, ajout fonction test)"
|
git commit -m "commentaire (exemple: modification du fichier1, ajout fonction test)"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Pousser les changements vers le dépôt distant (Gitlab ou Github par exemple):
|
- Pousser les changements vers le dépôt distant (Gitlab ou Github par exemple):
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push
|
git push
|
||||||
```
|
```
|
||||||
|
|
||||||
- Changer de branche dans le projet:
|
- Changer de branche dans le projet:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git checkout nom-de-la-branche
|
git checkout nom-de-la-branche
|
||||||
```
|
```
|
||||||
|
|
||||||
- Créer une nouvelle branche à partir de la branche actuelle:
|
- Créer une nouvelle branche à partir de la branche actuelle:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git branch nom-nouvelle-branche
|
git branch nom-nouvelle-branche
|
||||||
```
|
```
|
||||||
|
|
||||||
- Pousser une branche nouvellement créée en local vers le dépôt distant:
|
- Pousser une branche nouvellement créée en local vers le dépôt distant:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push origin nom-nouvelle-branche
|
git push origin nom-nouvelle-branche
|
||||||
```
|
```
|
||||||
|
|
||||||
- Effacer une branch locale:
|
- Effacer une branch locale:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git branch -d branche-a-effacer
|
git branch -d branche-a-effacer
|
||||||
```
|
```
|
||||||
|
|
||||||
- Effacer une branche du dépôt distant:
|
- Effacer une branche du dépôt distant:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push origin --delete branche-a-effacer
|
git push origin --delete branche-a-effacer
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -81,31 +81,31 @@ git push origin --delete branche-a-effacer
|
|||||||
|
|
||||||
- Cloner un dépôt distant sur sa machine locale:
|
- Cloner un dépôt distant sur sa machine locale:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git clone https://gitlab.com/mon-dépôt-distant.git
|
git clone https://gitlab.com/mon-dépôt-distant.git
|
||||||
```
|
```
|
||||||
|
|
||||||
- Entrer dans le dossier du dépôt et modifier un fichier:
|
- Entrer dans le dossier du dépôt et modifier un fichier:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
cd mon-dépôt-distant/ # modification sur un fichier
|
cd mon-dépôt-distant/ # modification sur un fichier
|
||||||
```
|
```
|
||||||
|
|
||||||
- Ajouter le fichier modifié au suivi:
|
- Ajouter le fichier modifié au suivi:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git add fichier-modifié
|
git add fichier-modifié
|
||||||
```
|
```
|
||||||
|
|
||||||
- Créer un enregistrement de la modification
|
- Créer un enregistrement de la modification
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git commit -m "modif fichier-modifié"
|
git commit -m "modif fichier-modifié"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Pousser les changements sur le dépôt en ligne:
|
- Pousser les changements sur le dépôt en ligne:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push
|
git push
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -113,14 +113,14 @@ git push
|
|||||||
|
|
||||||
- On entre dans le dossier et on l'initialise en tant que dépôt git:
|
- On entre dans le dossier et on l'initialise en tant que dépôt git:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
cd mon-dépôt-local/
|
cd mon-dépôt-local/
|
||||||
git init
|
git init
|
||||||
```
|
```
|
||||||
|
|
||||||
- Ajouter tout les fichiers du dossier au suivi:
|
- Ajouter tout les fichiers du dossier au suivi:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git add *
|
git add *
|
||||||
# ou
|
# ou
|
||||||
git add .
|
git add .
|
||||||
@ -128,19 +128,19 @@ git add .
|
|||||||
|
|
||||||
- Ajouter l'adresse du dépôt distant qui va recevoir le dépôt local:
|
- Ajouter l'adresse du dépôt distant qui va recevoir le dépôt local:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git remote add origin https://gitlab.com/mon-user/mon-nouveau-dépôt.git
|
git remote add origin https://gitlab.com/mon-user/mon-nouveau-dépôt.git
|
||||||
```
|
```
|
||||||
|
|
||||||
- Créer un enregistrement avec un commentaire:
|
- Créer un enregistrement avec un commentaire:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git commit -m "premier push"
|
git commit -m "premier push"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Pousser le nouveau dépôt vers le dépôt distant en ligne:
|
- Pousser le nouveau dépôt vers le dépôt distant en ligne:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git push origin main # ou le nom de la branche
|
git push origin main # ou le nom de la branche
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ git push origin main # ou le nom de la branche
|
|||||||
|
|
||||||
- Récupérer localement les changements du dépôt distant:
|
- Récupérer localement les changements du dépôt distant:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git pull
|
git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -156,31 +156,31 @@ git pull
|
|||||||
|
|
||||||
- Savoir sur quelle branche on se trouve et les branches disponibles localement:
|
- Savoir sur quelle branche on se trouve et les branches disponibles localement:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git branch
|
git branch
|
||||||
```
|
```
|
||||||
|
|
||||||
- Créer une nouvelle branche et basculer vers la nouvelle branche:
|
- Créer une nouvelle branche et basculer vers la nouvelle branche:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git checkout -b nom-nouvelle-branche
|
git checkout -b nom-nouvelle-branche
|
||||||
```
|
```
|
||||||
|
|
||||||
- Connaitre l'état du dépôt local:
|
- Connaitre l'état du dépôt local:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git status
|
git status
|
||||||
```
|
```
|
||||||
|
|
||||||
- Revenir à l'état après le git clone en éffaçant les chagements éffectués:
|
- Revenir à l'état après le git clone en éffaçant les chagements éffectués:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git reset --hard HEAD
|
git reset --hard HEAD
|
||||||
```
|
```
|
||||||
|
|
||||||
- Visualiser les différences entre les fichiers originaux et les fichiers modifiés:
|
- Visualiser les différences entre les fichiers originaux et les fichiers modifiés:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git diff
|
git diff
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ Pour éviter de faire des "git branch" pour savoir dans quelle branche on se tro
|
|||||||
|
|
||||||
??? note "~/.bashrc"
|
??? note "~/.bashrc"
|
||||||
=== "Ajouter à la fin"
|
=== "Ajouter à la fin"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git_branch() {
|
git_branch() {
|
||||||
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
|
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,19 +6,19 @@
|
|||||||
|
|
||||||
- Installer Ollama:
|
- Installer Ollama:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
curl -fsSL https://ollama.com/install.sh | sh
|
curl -fsSL https://ollama.com/install.sh | sh
|
||||||
```
|
```
|
||||||
|
|
||||||
- Télécharger le modèle:
|
- Télécharger le modèle:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ollama pull llama3:latest
|
ollama pull llama3:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
- Lancer le modèle:
|
- Lancer le modèle:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ollama run llama3:latest
|
ollama run llama3:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ ollama run llama3:latest
|
|||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
??? note "Editer le fichier config.json:"
|
??? note "Editer le fichier config.json:"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
{
|
{
|
||||||
"models": [
|
"models": [
|
||||||
{
|
{
|
||||||
@ -56,19 +56,19 @@ ollama run llama3:latest
|
|||||||
|
|
||||||
- Stopper le service:
|
- Stopper le service:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo systemctl stop ollama
|
sudo systemctl stop ollama
|
||||||
```
|
```
|
||||||
|
|
||||||
- Démarrer le service:
|
- Démarrer le service:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo systemctl start ollama
|
sudo systemctl start ollama
|
||||||
```
|
```
|
||||||
|
|
||||||
- Supprimer un modèle:
|
- Supprimer un modèle:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ollama rm <MODEL>
|
ollama rm <MODEL>
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -78,6 +78,6 @@ ollama rm <MODEL>
|
|||||||
|
|
||||||
- Télécharger un modèle:
|
- Télécharger un modèle:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ollama pull <MODEL>
|
ollama pull <MODEL>
|
||||||
```
|
```
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
Par défaut, fprintd et libpam-fprintd sont les paquets faisant fonctionner les lecteurs d'empreintes sur Debian.
|
Par défaut, fprintd et libpam-fprintd sont les paquets faisant fonctionner les lecteurs d'empreintes sur Debian.
|
||||||
Le support est très limité, mais il faut déjà commencer par là
|
Le support est très limité, mais il faut déjà commencer par là
|
||||||
```console
|
``` { .bash .copy }
|
||||||
sudo apt-get install fprintd libpam-fprintd
|
sudo apt-get install fprintd libpam-fprintd
|
||||||
```
|
```
|
||||||
Pour enregistrer l'empreinte :
|
Pour enregistrer l'empreinte :
|
||||||
```console
|
``` { .bash .copy }
|
||||||
fprintd-enroll
|
fprintd-enroll
|
||||||
```
|
```
|
||||||
Si on a de la chance, on a le message
|
Si on a de la chance, on a le message
|
||||||
@ -22,11 +22,11 @@ Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No
|
|||||||
|
|
||||||
## Installation de python-validity
|
## Installation de python-validity
|
||||||
Python-validity est un projet pour élargir le support des lecteurs d'empreintes sur Linux. Pour l'installer sur Debian on passe par le PPA d'Ubuntu
|
Python-validity est un projet pour élargir le support des lecteurs d'empreintes sur Linux. Pour l'installer sur Debian on passe par le PPA d'Ubuntu
|
||||||
```console
|
``` { .bash .copy }
|
||||||
sudo add-apt-repository ppa:uunicorn/open-fprintd
|
sudo add-apt-repository ppa:uunicorn/open-fprintd
|
||||||
```
|
```
|
||||||
Il va falloir modifier les dépôts, car ceux par défauts sont ceux de la toute dernière version d'Ubuntu
|
Il va falloir modifier les dépôts, car ceux par défauts sont ceux de la toute dernière version d'Ubuntu
|
||||||
```console
|
``` { .bash .copy }
|
||||||
# /etc/apt/sources.list.d/uunicorn-ubuntu-open-fprintd-mantic.list
|
# /etc/apt/sources.list.d/uunicorn-ubuntu-open-fprintd-mantic.list
|
||||||
deb http://ppa.launchpad.net/uunicorn/open-fprintd/ubuntu focal main
|
deb http://ppa.launchpad.net/uunicorn/open-fprintd/ubuntu focal main
|
||||||
```
|
```
|
||||||
@ -37,14 +37,14 @@ Pour en savoir plus sur les noms de code d'Ubuntu
|
|||||||
(le nom de code est le premier mot, ex: Focal Fossa : focal)
|
(le nom de code est le premier mot, ex: Focal Fossa : focal)
|
||||||
|
|
||||||
:warning: Keyserver fonctionnelle sur Debian 12.5
|
:warning: Keyserver fonctionnelle sur Debian 12.5
|
||||||
```console
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8D4C774BA6D18F90
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8D4C774BA6D18F90
|
||||||
apt update
|
apt update
|
||||||
sudo apt-get install open-fprintd fprintd-clients python3-validity
|
sudo apt-get install open-fprintd fprintd-clients python3-validity
|
||||||
```
|
```
|
||||||
Une fois installé on réessaye
|
Une fois installé on réessaye
|
||||||
```console
|
``` { .bash .copy }
|
||||||
fprintd-enroll
|
fprintd-enroll
|
||||||
```
|
```
|
||||||
Il faudra appuyer son doigt contre le capteur et le relever, jusqu'au message
|
Il faudra appuyer son doigt contre le capteur et le relever, jusqu'au message
|
||||||
@ -55,7 +55,7 @@ Si jamais l'erreur "No devices available" persiste, il n'y a quasiment aucune so
|
|||||||
|
|
||||||
## Authentification pour sudo
|
## Authentification pour sudo
|
||||||
Par défaut, seulement la session est déblocable avec l'empreinte, pour utiliser sudo
|
Par défaut, seulement la session est déblocable avec l'empreinte, pour utiliser sudo
|
||||||
```console
|
``` { .bash .copy }
|
||||||
pam-auth-update
|
pam-auth-update
|
||||||
```
|
```
|
||||||
Il faudra cocher "Fingerprint authentification" et valider
|
Il faudra cocher "Fingerprint authentification" et valider
|
||||||
|
|||||||
@ -15,7 +15,7 @@ To understand how to use this starter kit, follow the tutorial at [https://docs.
|
|||||||
### Installation de Tiled (éditeur de map)
|
### Installation de Tiled (éditeur de map)
|
||||||
|
|
||||||
- Ouvrir un terminal et copier les commandes suivantes:
|
- Ouvrir un terminal et copier les commandes suivantes:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git clone https://github.com/GregLebreton/adventure-map.git
|
git clone https://github.com/GregLebreton/adventure-map.git
|
||||||
cd adventure-map
|
cd adventure-map
|
||||||
./install.sh
|
./install.sh
|
||||||
@ -29,13 +29,13 @@ tiled
|
|||||||
|
|
||||||
### Installation de npm (server local)
|
### Installation de npm (server local)
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install npm -y
|
sudo apt install npm -y
|
||||||
```
|
```
|
||||||
|
|
||||||
### Utilisation
|
### Utilisation
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
npm install
|
npm install
|
||||||
npm run start
|
npm run start
|
||||||
```
|
```
|
||||||
|
|||||||
@ -8,7 +8,7 @@ A l'origine, nwipe est un fork de la commande dwipe utilisée à l'origine par D
|
|||||||
|
|
||||||
## INSTALLATION
|
## INSTALLATION
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install nwipe
|
sudo apt install nwipe
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ sudo apt install nwipe
|
|||||||
## AFFICHER LES INFORMATIONS DISQUES
|
## AFFICHER LES INFORMATIONS DISQUES
|
||||||
|
|
||||||
Avant d'utiliser nwipe, il est important d'identifier quel disque nous allons effacer, pour ce faire entrez la commande ci-dessous:
|
Avant d'utiliser nwipe, il est important d'identifier quel disque nous allons effacer, pour ce faire entrez la commande ci-dessous:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
lsblk
|
lsblk
|
||||||
```
|
```
|
||||||
Cette commande permet d'obtenir la liste et les caractéristiques des disques et de leurs partitions. (La commande ne nécessite pas les droits administrateurs pour être exécutée).
|
Cette commande permet d'obtenir la liste et les caractéristiques des disques et de leurs partitions. (La commande ne nécessite pas les droits administrateurs pour être exécutée).
|
||||||
@ -25,7 +25,7 @@ Cette commande permet d'obtenir la liste et les caractéristiques des disques et
|
|||||||
<!-- [LSBLK](sblk2.jpg) -->
|
<!-- [LSBLK](sblk2.jpg) -->
|
||||||
|
|
||||||
:warning: veillez bien à démonter les partitions si c'est le cas comme dans l'exemple ci-dessous.
|
:warning: veillez bien à démonter les partitions si c'est le cas comme dans l'exemple ci-dessous.
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo umount /home/user/DISK
|
sudo umount /home/user/DISK
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ sudo umount /home/user/DISK
|
|||||||
## UTILISATION
|
## UTILISATION
|
||||||
|
|
||||||
Pour ouvir Nwipe, utilisez la commande ci-dessous dans le terminal
|
Pour ouvir Nwipe, utilisez la commande ci-dessous dans le terminal
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo nwipe
|
sudo nwipe
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Cloner le projet
|
## Cloner le projet
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
makayabou@domani:~$ git clone https://gitlab.com/garagenum/tools/linux/debian-customizer.git
|
makayabou@domani:~$ git clone https://gitlab.com/garagenum/tools/linux/debian-customizer.git
|
||||||
Clonage dans 'debian-customizer'...
|
Clonage dans 'debian-customizer'...
|
||||||
remote: Enumerating objects: 717, done.
|
remote: Enumerating objects: 717, done.
|
||||||
@ -15,7 +15,7 @@ Résolution des deltas: 100% (858/858), fait.
|
|||||||
|
|
||||||
## Exécuter le script
|
## Exécuter le script
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
cd debian-customizer/
|
cd debian-customizer/
|
||||||
sudo bash install-pxe-server.sh
|
sudo bash install-pxe-server.sh
|
||||||
```
|
```
|
||||||
|
|||||||
@ -2,36 +2,41 @@
|
|||||||
|
|
||||||
|
|
||||||
## Setting up a password for root user just after install:
|
## Setting up a password for root user just after install:
|
||||||
|
``` { .bash .copy }
|
||||||
sudo mysql -u root
|
sudo mysql -u root
|
||||||
|
```
|
||||||
|
|
||||||
## Resetting root password:
|
## Resetting root password:
|
||||||
|
``` { .bash .copy }
|
||||||
sudo mysql_secure_installation
|
sudo mysql_secure_installation
|
||||||
|
```
|
||||||
|
|
||||||
## Creating a user and granting privileges:
|
## Creating a user and granting privileges:
|
||||||
|
``` { .sql .copy }
|
||||||
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
|
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
|
||||||
GRANT ALL ON database_name.* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
|
GRANT ALL ON database_name.* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
|
```
|
||||||
Granting privileges on all databases:
|
Granting privileges on all databases:
|
||||||
|
``` { .sql .copy }
|
||||||
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
|
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
|
||||||
|
```
|
||||||
Changing a user's password:
|
Changing a user's password:
|
||||||
|
``` { .sql .copy }
|
||||||
SET PASSWORD FOR 'user'@'localhost' = PASSWORD('password');
|
SET PASSWORD FOR 'user'@'localhost' = PASSWORD('password');
|
||||||
|
|
||||||
ALTER USER 'user'@'localhost' IDENTIFIED BY 'password';
|
ALTER USER 'user'@'localhost' IDENTIFIED BY 'password';
|
||||||
|
```
|
||||||
|
|
||||||
Listing all users :
|
Listing all users :
|
||||||
|
``` { .sql .copy }
|
||||||
SELECT User, Host, Password FROM mysql.user;
|
SELECT User, Host, Password FROM mysql.user;
|
||||||
|
```
|
||||||
|
|
||||||
Changing a user's associated host (example from host % to host loclahost):
|
Changing a user's associated host (example from host % to host loclahost):
|
||||||
|
``` { .sql .copy }
|
||||||
UPDATE mysql.user SET Host='localhost' WHERE Host='%' AND User='user'
|
UPDATE mysql.user SET Host='localhost' WHERE Host='%' AND User='user'
|
||||||
|
```
|
||||||
|
|
||||||
See also, on users management:
|
See also, on users management:
|
||||||
|
|
||||||
@ -49,18 +54,21 @@ See also, on users management:
|
|||||||
- [Changing MySQL user password](https://linuxacademy.com/blog/linux/changing-mysql-user-password/)
|
- [Changing MySQL user password](https://linuxacademy.com/blog/linux/changing-mysql-user-password/)
|
||||||
|
|
||||||
## Connecting to MySQL:
|
## Connecting to MySQL:
|
||||||
|
``` { .bash .copy }
|
||||||
sudo mysql
|
sudo mysql
|
||||||
|
```
|
||||||
|
|
||||||
## Creating a database:
|
## Creating a database:
|
||||||
|
``` { .sql .copy }
|
||||||
CREATE DATABASE lpic CHARACTER SET 'utf8'; #Beware of encoding
|
CREATE DATABASE lpic CHARACTER SET 'utf8'; #Beware of encoding
|
||||||
|
```
|
||||||
|
|
||||||
## Saving databases (basic level, assuming your user is root):
|
## Saving databases (basic level, assuming your user is root):
|
||||||
|
``` { .bash .copy }
|
||||||
mysqldump -u root -p password database > database.sql #insecure
|
mysqldump -u root -p password database > database.sql #insecure
|
||||||
MYSQL_PWD="password" mysqldump -u root database > database.sql #secure
|
MYSQL_PWD="password" mysqldump -u root database > database.sql #secure
|
||||||
MYSQL_PWD="password" mysqldump -u root --all-databases > database.sql
|
MYSQL_PWD="password" mysqldump -u root --all-databases > database.sql
|
||||||
|
```
|
||||||
|
|
||||||
See also, for more advanced features):
|
See also, for more advanced features):
|
||||||
|
|
||||||
@ -68,28 +76,33 @@ See also, for more advanced features):
|
|||||||
- [Guide de sauvegarde et restauration MySQL](https://www.memoinfo.fr/tutoriels-linux/guide-sauvegarde-restauration-mysql/)
|
- [Guide de sauvegarde et restauration MySQL](https://www.memoinfo.fr/tutoriels-linux/guide-sauvegarde-restauration-mysql/)
|
||||||
|
|
||||||
## Deleting databases:
|
## Deleting databases:
|
||||||
|
``` { .sql .copy }
|
||||||
DROP DATABASE [IF EXISTS] database_name;
|
DROP DATABASE [IF EXISTS] database_name;
|
||||||
|
```
|
||||||
|
|
||||||
## Checking a database encoding (default is UTF8):
|
## Checking a database encoding (default is UTF8):
|
||||||
|
``` { .sql .copy }
|
||||||
SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name";
|
SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name";
|
||||||
|
```
|
||||||
|
|
||||||
See: [How to convert a MySQL database to UTF-8 encoding](https://www.a2hosting.es/kb/developer-corner/mysql/convert-mysql-database-utf-8)
|
See: [How to convert a MySQL database to UTF-8 encoding](https://www.a2hosting.es/kb/developer-corner/mysql/convert-mysql-database-utf-8)
|
||||||
|
|
||||||
## Checking the MySQL version:
|
## Checking the MySQL version:
|
||||||
|
``` { .sql .copy }
|
||||||
SELECT @@version;
|
SELECT @@version;
|
||||||
|
```
|
||||||
|
|
||||||
## Leaving the MySQL prompt:
|
## Leaving the MySQL prompt:
|
||||||
|
``` { .sql .copy }
|
||||||
quit
|
quit
|
||||||
|
```
|
||||||
|
|
||||||
## Stopping/starting/restarting the service:
|
## Stopping/starting/restarting the service:
|
||||||
|
``` { .bash .copy }
|
||||||
sudo systemctl stop mysql
|
sudo systemctl stop mysql
|
||||||
sudo service mysql stop
|
sudo service mysql stop
|
||||||
sudo /etc/init.d/mysqld stop
|
sudo /etc/init.d/mysqld stop
|
||||||
|
```
|
||||||
|
|
||||||
## Courses and tutorials in French:
|
## Courses and tutorials in French:
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Ainsi nous pourrons utiliser le serveur de notre choix pour notre web-applicatio
|
|||||||
|
|
||||||
On installe Nginx à partir des dépôts Debian, de façon à avoir une version stable, avec l'apport des correctifs de sécurité, et qui ne sera jamais cassé par une modification du système.
|
On installe Nginx à partir des dépôts Debian, de façon à avoir une version stable, avec l'apport des correctifs de sécurité, et qui ne sera jamais cassé par une modification du système.
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt upgrade
|
sudo apt upgrade
|
||||||
sudo apt install nginx
|
sudo apt install nginx
|
||||||
@ -24,19 +24,19 @@ Dans votre navigateur, en tapant dabs la barre d'adresse `http://IP_DU_SERVEUR`,
|
|||||||
|
|
||||||
### Installation des dépendances
|
### Installation des dépendances
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
||||||
```
|
```
|
||||||
### Installation de la clé du dépôt Docker
|
### Installation de la clé du dépôt Docker
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ajout du dépôt docker dans le **sources.list**
|
### Ajout du dépôt docker dans le **sources.list**
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo add-apt-repository \
|
sudo add-apt-repository \
|
||||||
"deb [arch=amd64] https://download.docker.com/linux/debian \
|
"deb [arch=amd64] https://download.docker.com/linux/debian \
|
||||||
$(lsb_release -cs) \
|
$(lsb_release -cs) \
|
||||||
@ -45,13 +45,13 @@ sudo add-apt-repository \
|
|||||||
|
|
||||||
### Mise à jour de la liste des paquets et installation de docker
|
### Mise à jour de la liste des paquets et installation de docker
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
|
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ajout de l'utilisateur dans le groupe **docker** pour utiliser docker sans sudo
|
### Ajout de l'utilisateur dans le groupe **docker** pour utiliser docker sans sudo
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo usermod -aG docker $USER
|
sudo usermod -aG docker $USER
|
||||||
newgrp docker
|
newgrp docker
|
||||||
```
|
```
|
||||||
@ -60,7 +60,7 @@ newgrp docker
|
|||||||
## Installation de Docker-Compose
|
## Installation de Docker-Compose
|
||||||
|
|
||||||
### Téléchargement de Docker-Compose
|
### Téléchargement de Docker-Compose
|
||||||
```
|
``` { .bash .copy }
|
||||||
curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
||||||
| grep browser_download_url \
|
| grep browser_download_url \
|
||||||
| grep docker-compose-linux-x86_64 \
|
| grep docker-compose-linux-x86_64 \
|
||||||
@ -70,14 +70,14 @@ curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
|||||||
|
|
||||||
### Mise en place de l'exécutable
|
### Mise en place de l'exécutable
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
chmod +x docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
|
chmod +x docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### Auto-complétion pour Bash
|
### Auto-complétion pour Bash
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo mkdir -p /etc/bash_completion.d
|
sudo mkdir -p /etc/bash_completion.d
|
||||||
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
|
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
|
||||||
source /etc/bash_completion.d/docker-compose
|
source /etc/bash_completion.d/docker-compose
|
||||||
@ -89,7 +89,7 @@ source /etc/bash_completion.d/docker-compose
|
|||||||
|
|
||||||
### Création d'un dossier pour le projet
|
### Création d'un dossier pour le projet
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
mkdir nextcloud && cd nextcloud
|
mkdir nextcloud && cd nextcloud
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
|
|||||||
#### config.php
|
#### config.php
|
||||||
|
|
||||||
??? note "config.php"
|
??? note "config.php"
|
||||||
```
|
``` { .php .copy }
|
||||||
<?php
|
<?php
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'htaccess.RewriteBase' => '/',
|
'htaccess.RewriteBase' => '/',
|
||||||
@ -184,7 +184,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
|
|||||||
#### Internal.php
|
#### Internal.php
|
||||||
|
|
||||||
??? note "Internal.php"
|
??? note "Internal.php"
|
||||||
```
|
``` { .php .copy }
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
@ -411,7 +411,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
|
|||||||
#### mimetypemapping.json
|
#### mimetypemapping.json
|
||||||
|
|
||||||
??? note "mimetypemapping.json"
|
??? note "mimetypemapping.json"
|
||||||
```
|
``` { .json .copy }
|
||||||
{
|
{
|
||||||
"drawio": ["application/x-drawio"],
|
"drawio": ["application/x-drawio"],
|
||||||
"pad": ["application/x-ownpad"],
|
"pad": ["application/x-ownpad"],
|
||||||
@ -623,7 +623,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
|
|||||||
```
|
```
|
||||||
#### Création des dossiers pour les volumes permanents
|
#### Création des dossiers pour les volumes permanents
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo mkdir /data/nextcloud/{data,config,apps,mysql} -p
|
sudo mkdir /data/nextcloud/{data,config,apps,mysql} -p
|
||||||
sudo chown -R www-data:root /data/nextcloud
|
sudo chown -R www-data:root /data/nextcloud
|
||||||
sudo chown -R 999:root /data/nextcloud/mysql
|
sudo chown -R 999:root /data/nextcloud/mysql
|
||||||
@ -634,14 +634,14 @@ sudo chown -R 999:root /data/nextcloud/mysql
|
|||||||
#### redis.conf
|
#### redis.conf
|
||||||
|
|
||||||
??? note "redis.conf"
|
??? note "redis.conf"
|
||||||
```
|
``` { .copy }
|
||||||
requirepass aeazddokpokqsd7676
|
requirepass aeazddokpokqsd7676
|
||||||
```
|
```
|
||||||
|
|
||||||
#### redis.config.php
|
#### redis.config.php
|
||||||
|
|
||||||
??? note "redis.config.php"
|
??? note "redis.config.php"
|
||||||
```php
|
``` { .php .copy }
|
||||||
<?php
|
<?php
|
||||||
if (getenv('REDIS_HOST')) {
|
if (getenv('REDIS_HOST')) {
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
@ -668,7 +668,7 @@ sudo chown -R 999:root /data/nextcloud/mysql
|
|||||||
Nous allons compiler une image d'etherpad en suivant les instructions de **Dockerfile**:
|
Nous allons compiler une image d'etherpad en suivant les instructions de **Dockerfile**:
|
||||||
|
|
||||||
??? info "Dockerfile"
|
??? info "Dockerfile"
|
||||||
```Dockerfile
|
``` { .Dockerfile .copy }
|
||||||
# Etherpad Lite Dockerfile
|
# Etherpad Lite Dockerfile
|
||||||
#
|
#
|
||||||
# https://github.com/ether/etherpad-lite
|
# https://github.com/ether/etherpad-lite
|
||||||
@ -727,7 +727,7 @@ Nous allons compiler une image d'etherpad en suivant les instructions de **Docke
|
|||||||
|
|
||||||
### Copie du projet etherpad sur github
|
### Copie du projet etherpad sur github
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
git clone https://github.com/ether/etherpad-lite.git
|
git clone https://github.com/ether/etherpad-lite.git
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -736,9 +736,7 @@ git clone https://github.com/ether/etherpad-lite.git
|
|||||||
Ce fichier de configuration va déployer une image docker de nextcloud avec collabora et etherpad, avec la base de données mariadb, redis et coturn.
|
Ce fichier de configuration va déployer une image docker de nextcloud avec collabora et etherpad, avec la base de données mariadb, redis et coturn.
|
||||||
|
|
||||||
??? info "docker-compose.yml"
|
??? info "docker-compose.yml"
|
||||||
```yaml
|
``` { .yaml .copy }
|
||||||
version: '3.7'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
nextcloud:
|
nextcloud:
|
||||||
@ -879,14 +877,14 @@ Ce fichier de configuration va déployer une image docker de nextcloud avec coll
|
|||||||
```
|
```
|
||||||
|
|
||||||
Il ne reste plus qu'à démarrer les conteneurs:
|
Il ne reste plus qu'à démarrer les conteneurs:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker-compose up --build -d
|
docker-compose up --build -d
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation de SSL pour Nginx avec Let's Encrypt
|
## Installation de SSL pour Nginx avec Let's Encrypt
|
||||||
|
|
||||||
Let's encrypt est un service qui permet de générer gratuitement un certificat SSL pour le domaine de notre choix.
|
Let's encrypt est un service qui permet de générer gratuitement un certificat SSL pour le domaine de notre choix.
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
|
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
|
||||||
sudo apt install python3-certbot-nginx
|
sudo apt install python3-certbot-nginx
|
||||||
sudo certbot certonly -d nextcloud.mondomaine.fr
|
sudo certbot certonly -d nextcloud.mondomaine.fr
|
||||||
@ -901,7 +899,7 @@ sudo certbot certonly -d pad.mondomaine.fr
|
|||||||
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/nextcloud.mondomaine.fr.conf:
|
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/nextcloud.mondomaine.fr.conf:
|
||||||
|
|
||||||
??? info "nextcloud.mondomaine.fr.conf"
|
??? info "nextcloud.mondomaine.fr.conf"
|
||||||
```
|
``` { .copy }
|
||||||
upstream nextcloud{
|
upstream nextcloud{
|
||||||
server 127.0.0.1:8889;
|
server 127.0.0.1:8889;
|
||||||
}
|
}
|
||||||
@ -982,7 +980,7 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
|
|||||||
|
|
||||||
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -991,7 +989,7 @@ sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/si
|
|||||||
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/pad.mondomaine.fr.conf:
|
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/pad.mondomaine.fr.conf:
|
||||||
|
|
||||||
??? info "pad.mondomaine.fr.conf"
|
??? info "pad.mondomaine.fr.conf"
|
||||||
```
|
``` { .copy }
|
||||||
upstream pad {
|
upstream pad {
|
||||||
server 127.0.0.1:9001;
|
server 127.0.0.1:9001;
|
||||||
}
|
}
|
||||||
@ -1031,12 +1029,11 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
|
|||||||
server_name pad.mondomaine.fr;
|
server_name pad.mondomaine.fr;
|
||||||
return 404; # managed by Certbot
|
return 404; # managed by Certbot
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo ln -s /etc/nginx/sites-available/pad.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
sudo ln -s /etc/nginx/sites-available/pad.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1047,7 +1044,7 @@ sudo ln -s /etc/nginx/sites-available/pad.mondomaine.fr.conf /etc/nginx/sites-en
|
|||||||
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/collabora.mondomaine.fr.conf:
|
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/collabora.mondomaine.fr.conf:
|
||||||
|
|
||||||
??? info "collabora.mondomaine.fr.conf"
|
??? info "collabora.mondomaine.fr.conf"
|
||||||
```
|
``` { .copy }
|
||||||
upstream collabora{
|
upstream collabora{
|
||||||
server 127.0.0.1:9980;
|
server 127.0.0.1:9980;
|
||||||
}
|
}
|
||||||
@ -1106,14 +1103,14 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
|
|||||||
```
|
```
|
||||||
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo ln -s /etc/nginx/sites-available/collabora.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
sudo ln -s /etc/nginx/sites-available/collabora.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
On recharge la configuration de Nginx:
|
On recharge la configuration de Nginx:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo systemctl reload nginx.service
|
sudo systemctl reload nginx.service
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1132,55 +1129,100 @@ Il est nécessaire de récupérer la API KEY générée par etherpad:
|
|||||||
|
|
||||||
On la saisit ensuite dans Nextcloud: `Settings > Administration > Additional settings`
|
On la saisit ensuite dans Nextcloud: `Settings > Administration > Additional settings`
|
||||||
|
|
||||||
## Mise à jour de l'image Docker Nextcloud
|
## Mise à jour Nextcloud (Docker)
|
||||||
|
|
||||||
#### Vérifier la version en production
|
#### Vérifier la version en production
|
||||||
|
|
||||||
> Avant chaque update checker dans les paramètres de base si des indices de table bdd manques ou autre.
|
:warning: Avant chaque update checker dans les paramètres de base si des indices de table bdd manques ou autre. (voir: 6. Indices de table manquants)
|
||||||
|
|
||||||
> L'update s'éffectue par palier de versions (20 vers 21 puis 21 vers 22, etc...)
|
|
||||||
|
|
||||||
#### étapes
|
#### étapes
|
||||||
|
|
||||||
- stopper la stack:
|
##### stopper la stack
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker-compose down
|
docker-compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
- editer le tag de l'image Nextcloud dans le docker-compose.yaml:
|
##### modifier l'image docker de Nextcloud
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nano docker-compose.yml
|
nano docker-compose.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
- Modifier la version d'image vers la version immédiatement supérieure dans le docker-compose.yml
|
!!! tip "Modifier la version d'image vers la version immédiatement supérieure dans le docker-compose.yml"
|
||||||
> Exemple: 20 -> 21
|
```
|
||||||
|
20 -> 21, 21 -> 22
|
||||||
- relançer la stack:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Finir l'update via l'interface web
|
##### Relancer la stack
|
||||||
|
|
||||||
Une fois la mise à jour des applications éffectuée, se connecter et vérifier avec un compte administrateur dans Paramètres -> Vue d'ensemble si certaines tables de la base de donnée ont besoin d'être modifié via une commande explicitement décrite:
|
``` { .bash .copy }
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
Exemple:
|
##### Mettre le container nextcloud web en mode maintenance
|
||||||
|
|
||||||
```bash
|
Mettre Nextcloud en mode maintenance:
|
||||||
docker exec --user www-data -it nextcloud /var/www/html/occ db:add-missing-indices
|
``` { .bash .copy }
|
||||||
|
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --on
|
||||||
|
```
|
||||||
|
|
||||||
|
Lancer l'update: :coffee:
|
||||||
|
``` { .bash .copy }
|
||||||
|
docker exec -u www-data <nextcloud-container> php occ upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
Désactiver le mode maintenance:
|
||||||
|
``` { .bash .copy }
|
||||||
|
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --off
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Vérifier les logs
|
||||||
|
|
||||||
|
Après une mise à jour, vérifier les logs docker pour d'éventuelles erreurs sur des champs de base de donnée ou indices manquants:
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
|
docker logs <nextcloud-database-container>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Indices de table manquants
|
||||||
|
!!! note "Ajouter les indices de table manquants"
|
||||||
|
``` { .bash .copy }
|
||||||
|
docker exec --user www-data -it <nextcloud-database-container> /var/www/html/occ db:add-missing-indices
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note "Modifier le type de champs d'un indice d'une table" (optionnel)"
|
||||||
|
Se connecter dans le conteneur:
|
||||||
|
``` { .bash .copy }
|
||||||
|
docker exec -it <nextcloud-database-container> bash
|
||||||
|
```
|
||||||
|
|
||||||
|
se connecter en tant que user nextcloud:
|
||||||
|
``` { .bash .copy }
|
||||||
|
mariadb -u <nextcloud-user> -p
|
||||||
|
# saisir le password du user nextcloud
|
||||||
|
```
|
||||||
|
|
||||||
|
##### cron job
|
||||||
|
|
||||||
|
``` { .bash .copy }
|
||||||
|
crontab -e
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note "crontab"
|
||||||
|
``` { .bash .copy }
|
||||||
|
*/5 * * * * docker exec -u www-data <NOM_DU_CONTAINER> php -f cron.php
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Commande générique pour ajouter des colonnes manquantes à certaines tables de la BDD
|
##### Commande générique pour ajouter des colonnes manquantes à certaines tables de la BDD
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker exec --user www-data -it <NOM_DU_CONTAINER> /var/www/html/occ <COMMANDE-DB>
|
docker exec --user www-data -it <NOM_DU_CONTAINER> /var/www/html/occ <COMMANDE-DB>
|
||||||
```
|
```
|
||||||
|
|
||||||
??? "Crontab (pour nettoyer Nextcloud régulierement)"
|
??? "Crontab (pour nettoyer Nextcloud régulierement)"
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
crontab -e
|
crontab -e
|
||||||
*/5 * * * * docker exec -u www-data <NOM_DU_CONTAINER> php -f cron.php
|
*/5 * * * * docker exec -u www-data <NOM_DU_CONTAINER> php -f cron.php
|
||||||
```
|
```
|
||||||
|
|||||||
@ -9,13 +9,13 @@
|
|||||||
|
|
||||||
### ARRET DE LA STACK
|
### ARRET DE LA STACK
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker-compose down
|
docker-compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
### modifier l'image docker de Nextcloud
|
### modifier l'image docker de Nextcloud
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
nano docker-compose.yml
|
nano docker-compose.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -26,24 +26,24 @@ nano docker-compose.yml
|
|||||||
|
|
||||||
### Relancer la stack
|
### Relancer la stack
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### Mettre le container nextcloud web en mode maintenance
|
### Mettre le container nextcloud web en mode maintenance
|
||||||
|
|
||||||
Mettre Nextcloud en mode maintenance
|
Mettre Nextcloud en mode maintenance
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --on
|
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --on
|
||||||
```
|
```
|
||||||
|
|
||||||
Lancer l'update :coffee:
|
Lancer l'update :coffee:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker exec -u www-data <nextcloud-container> php occ upgrade
|
docker exec -u www-data <nextcloud-container> php occ upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
Désactiver le mode maintenance
|
Désactiver le mode maintenance
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --off
|
docker exec -u www-data <nextcloud-container> php occ maintenance:mode --off
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -51,13 +51,13 @@ docker exec -u www-data <nextcloud-container> php occ maintenance:mode --off
|
|||||||
|
|
||||||
Après une mise à jour, vérifier les logs docker pour d'éventuelles erreurs sur des champs de base de donnée ou indices manquants:
|
Après une mise à jour, vérifier les logs docker pour d'éventuelles erreurs sur des champs de base de donnée ou indices manquants:
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker logs <nextcloud-database-container>
|
docker logs <nextcloud-database-container>
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Indice de table manquants (opt)
|
#### Indice de table manquants (opt)
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
# Commande pour ajouter des colonnes manquantes à certaines tables de la BDD
|
# Commande pour ajouter des colonnes manquantes à certaines tables de la BDD
|
||||||
docker exec --user www-data -it <nextcloud-database-container> /var/www/html/occ db:add-missing-indices
|
docker exec --user www-data -it <nextcloud-database-container> /var/www/html/occ db:add-missing-indices
|
||||||
```
|
```
|
||||||
@ -65,12 +65,12 @@ docker exec --user www-data -it <nextcloud-database-container> /var/www/html/occ
|
|||||||
#### Modifier le type de champs d'un indice d'une table (opt)
|
#### Modifier le type de champs d'un indice d'une table (opt)
|
||||||
|
|
||||||
Se connecter dans le conteneur:
|
Se connecter dans le conteneur:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
docker exec -it <nextcloud-database-container> bash
|
docker exec -it <nextcloud-database-container> bash
|
||||||
```
|
```
|
||||||
|
|
||||||
se connecter en tant que user nextcloud:
|
se connecter en tant que user nextcloud:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
mariadb -u <nextcloud-user> -p
|
mariadb -u <nextcloud-user> -p
|
||||||
# saisir le password du user nextcloud
|
# saisir le password du user nextcloud
|
||||||
```
|
```
|
||||||
|
|||||||
@ -2,26 +2,27 @@
|
|||||||
|
|
||||||
## List databases
|
## List databases
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
postgres=# \l
|
postgres=# \l
|
||||||
```
|
```
|
||||||
|
|
||||||
## Switch database
|
## Switch database
|
||||||
```
|
``` { .sql .copy }
|
||||||
postgres=# \c db_name
|
postgres=# \c db_name
|
||||||
```
|
```
|
||||||
|
|
||||||
List tables
|
List tables
|
||||||
```
|
``` { .sql .copy }
|
||||||
db_name=# \dt
|
db_name=# \dt
|
||||||
```
|
```
|
||||||
|
|
||||||
Show table content
|
Show table content
|
||||||
```
|
``` { .sql .copy }
|
||||||
db_name=# \d table_name
|
db_name=# \d table_name
|
||||||
```
|
```
|
||||||
|
|
||||||
Modify table
|
Modify table
|
||||||
```
|
``` { .sql .copy }
|
||||||
UPDATE table_name
|
UPDATE table_name
|
||||||
SET column1 = 'value1',
|
SET column1 = 'value1',
|
||||||
column2 = 'value2',
|
column2 = 'value2',
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install openssh-server
|
sudo apt install openssh-server
|
||||||
```
|
```
|
||||||
@ -12,7 +12,7 @@ sudo apt install openssh-server
|
|||||||
### Configuration du serveur ssh
|
### Configuration du serveur ssh
|
||||||
|
|
||||||
!!! note "/etc/ssh/sshd_config"
|
!!! note "/etc/ssh/sshd_config"
|
||||||
```
|
``` { .copy }
|
||||||
# Define a diferent port from default port=22
|
# Define a diferent port from default port=22
|
||||||
Port 43000
|
Port 43000
|
||||||
#
|
#
|
||||||
@ -59,16 +59,17 @@ sudo apt install openssh-server
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Démarrage du serveur ssh
|
### Démarrage du serveur ssh
|
||||||
|
``` { .bash .copy }
|
||||||
sudo systemctl restart sshd.service
|
sudo systemctl restart sshd.service
|
||||||
|
```
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
## Installation de Samba
|
## Installation de Samba
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
``` { .bash .copy }
|
||||||
sudo apt install samba smbclient
|
sudo apt install samba smbclient
|
||||||
|
```
|
||||||
|
|
||||||
### Configuration du serveur
|
### Configuration du serveur
|
||||||
|
|
||||||
@ -102,7 +103,7 @@ sudo apt install openssh-server
|
|||||||
|
|
||||||
#### Création d'un mot de passe sur le serveur
|
#### Création d'un mot de passe sur le serveur
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo smbpassword -a $USER
|
sudo smbpassword -a $USER
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -110,7 +111,7 @@ sudo smbpassword -a $USER
|
|||||||
|
|
||||||
Il est nécessaire de configurer le WORKGROUP pour les clients, afin qu'ils soient autorisés à se connecter au serveur Samba:
|
Il est nécessaire de configurer le WORKGROUP pour les clients, afin qu'ils soient autorisés à se connecter au serveur Samba:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo sed -i 's/WORKGROUP/KTHA-CIE/' /etc/samba/smb.conf
|
sudo sed -i 's/WORKGROUP/KTHA-CIE/' /etc/samba/smb.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -127,18 +128,18 @@ sudo sed -i 's/WORKGROUP/KTHA-CIE/' /etc/samba/smb.conf
|
|||||||
#### Step 1. Créer la clé d'authentification
|
#### Step 1. Créer la clé d'authentification
|
||||||
|
|
||||||
On créé une variable pour le nom de la clé
|
On créé une variable pour le nom de la clé
|
||||||
```
|
``` { .bash .copy }
|
||||||
KEY_PATH=~/.ssh/owner-of-key_rsa
|
KEY_PATH=~/.ssh/owner-of-key_rsa
|
||||||
```
|
```
|
||||||
|
|
||||||
On génère la clé dans le dossier par défaut pour ne pas avoir à indiquer le chemin de la clé avec **-i*** lors d'une connexion avec `ssh`
|
On génère la clé dans le dossier par défaut pour ne pas avoir à indiquer le chemin de la clé avec **-i*** lors d'une connexion avec `ssh`
|
||||||
```
|
``` { .bash .copy }
|
||||||
ssh-keygen -b 4096 -t rsa -N '' -f $KEY_PATH
|
ssh-keygen -b 4096 -t rsa -N '' -f $KEY_PATH
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Step 2. Envoyer la clé publique au serveur
|
#### Step 2. Envoyer la clé publique au serveur
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
ssh-copy-id -i $KEY_PATH $USER@$SERVER_IP
|
ssh-copy-id -i $KEY_PATH $USER@$SERVER_IP
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -147,19 +148,18 @@ ssh-copy-id -i $KEY_PATH $USER@$SERVER_IP
|
|||||||
Script à exécuter:
|
Script à exécuter:
|
||||||
|
|
||||||
!!! note "/etc/cron.daily/backup"
|
!!! note "/etc/cron.daily/backup"
|
||||||
```
|
``` { .copy }
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
rsync -ahv --update --delete --info=backup2,copy2,del2,name1,stats2 --log-file="/home/$USER/backup_log/backup.log.$(date +%Y-%m-%d)" /home/$USER/Documents/ -e 'ssh -p 43000 -i $KEY_PATH $USER@176.151.59.186:/home/$USER/Documents'
|
rsync -ahv --update --delete --info=backup2,copy2,del2,name1,stats2 --log-file="/home/$USER/backup_log/backup.log.$(date +%Y-%m-%d)" /home/$USER/Documents/ -e 'ssh -p 43000 -i $KEY_PATH $USER@176.151.59.186:/home/$USER/Documents'
|
||||||
```
|
```
|
||||||
|
|
||||||
N'oubliez pas de rendre le script exécutable:
|
N'oubliez pas de rendre le script exécutable:
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo chmod +x /etc/cron.daily/backup
|
sudo chmod +x /etc/cron.daily/backup
|
||||||
```
|
```
|
||||||
|
|
||||||
Définition de la tâche cron:
|
Définition de la tâche cron:
|
||||||
|
``` { .bash .copy }
|
||||||
```
|
|
||||||
sudo tee -a /etc/cron.d/backup > /dev/null <<EOT
|
sudo tee -a /etc/cron.d/backup > /dev/null <<EOT
|
||||||
SHELL=/bin/bash
|
SHELL=/bin/bash
|
||||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|||||||
@ -6,7 +6,7 @@ Comment installer Wireshark et capturer le traffic réseau d'un serveur distant
|
|||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo apt install wireshark tcpdump -y
|
sudo apt install wireshark tcpdump -y
|
||||||
```
|
```
|
||||||
> Note: A installer sur le serveur ainsi que sur la machine cliente "streamant" le flux réseau.
|
> Note: A installer sur le serveur ainsi que sur la machine cliente "streamant" le flux réseau.
|
||||||
@ -14,19 +14,19 @@ sudo apt install wireshark tcpdump -y
|
|||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
- Ajouter l'utilisateur au groupe wireshark
|
- Ajouter l'utilisateur au groupe wireshark
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
sudo usermod -aG wireshark $USER
|
sudo usermod -aG wireshark $USER
|
||||||
```
|
```
|
||||||
|
|
||||||
- Récupérer l'interface réseau du serveur distant:
|
- Récupérer l'interface réseau du serveur distant:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ssh -p 2222 remote-user@123.45.67.89
|
ssh -p 2222 remote-user@123.45.67.89
|
||||||
# L'interface connectée au réseau est celle qui donne l'adresse IP publique
|
# L'interface connectée au réseau est celle qui donne l'adresse IP publique
|
||||||
ip a
|
ip a
|
||||||
```
|
```
|
||||||
|
|
||||||
> Note: Il est préférable d'avoir éffectué l'échange de clefs SSH via la commande:
|
> Note: Il est préférable d'avoir éffectué l'échange de clefs SSH via la commande:
|
||||||
```bash
|
``` { .bash .copy }
|
||||||
ssh-copy-id remote-user@server-ip
|
ssh-copy-id remote-user@server-ip
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Ainsi nous pourrons utiliser le serveur de notre choix pour notre web-applicatio
|
|||||||
|
|
||||||
On installe Nginx à partir des dépôts Debian, de façon à avoir une version stable, avec l'apport des correctifs de sécurité, et qui ne sera jamais cassé par une modification du système.
|
On installe Nginx à partir des dépôts Debian, de façon à avoir une version stable, avec l'apport des correctifs de sécurité, et qui ne sera jamais cassé par une modification du système.
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt upgrade
|
sudo apt upgrade
|
||||||
sudo apt install nginx
|
sudo apt install nginx
|
||||||
@ -24,19 +24,19 @@ Dans votre navigateur, en tapant dabs la barre d'adresse `http://IP_DU_SERVEUR`,
|
|||||||
|
|
||||||
### Installation des dépendances
|
### Installation des dépendances
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
||||||
```
|
```
|
||||||
### Installation de la clé du dépôt Docker
|
### Installation de la clé du dépôt Docker
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ajout du dépôt docker dans le **sources.list**
|
### Ajout du dépôt docker dans le **sources.list**
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo add-apt-repository \
|
sudo add-apt-repository \
|
||||||
"deb [arch=amd64] https://download.docker.com/linux/debian \
|
"deb [arch=amd64] https://download.docker.com/linux/debian \
|
||||||
$(lsb_release -cs) \
|
$(lsb_release -cs) \
|
||||||
@ -45,13 +45,13 @@ sudo add-apt-repository \
|
|||||||
|
|
||||||
### Mise à jour de la liste des paquets et installation de docker
|
### Mise à jour de la liste des paquets et installation de docker
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
|
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ajout de l'utilisateur dans le groupe **docker** pour utiliser docker sans sudo
|
### Ajout de l'utilisateur dans le groupe **docker** pour utiliser docker sans sudo
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo usermod -aG docker $USER
|
sudo usermod -aG docker $USER
|
||||||
newgrp docker
|
newgrp docker
|
||||||
```
|
```
|
||||||
@ -60,7 +60,7 @@ newgrp docker
|
|||||||
## Installation de Docker-Compose
|
## Installation de Docker-Compose
|
||||||
|
|
||||||
### Téléchargement de Docker-Compose
|
### Téléchargement de Docker-Compose
|
||||||
```
|
``` { .bash .copy }
|
||||||
curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
||||||
| grep browser_download_url \
|
| grep browser_download_url \
|
||||||
| grep docker-compose-linux-x86_64 \
|
| grep docker-compose-linux-x86_64 \
|
||||||
@ -70,14 +70,14 @@ curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
|||||||
|
|
||||||
### Mise en place de l'exécutable
|
### Mise en place de l'exécutable
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
chmod +x docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
|
chmod +x docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### Auto-complétion pour Bash
|
### Auto-complétion pour Bash
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo mkdir -p /etc/bash_completion.d
|
sudo mkdir -p /etc/bash_completion.d
|
||||||
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
|
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
|
||||||
source /etc/bash_completion.d/docker-compose
|
source /etc/bash_completion.d/docker-compose
|
||||||
@ -89,7 +89,7 @@ source /etc/bash_completion.d/docker-compose
|
|||||||
|
|
||||||
Créer un dossier pour accueillir le projet, et le fichier **docker-compose.yml**:
|
Créer un dossier pour accueillir le projet, et le fichier **docker-compose.yml**:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
mkdir wordpress && cd wordpress
|
mkdir wordpress && cd wordpress
|
||||||
touch docker-compose.yml
|
touch docker-compose.yml
|
||||||
```
|
```
|
||||||
@ -97,9 +97,7 @@ touch docker-compose.yml
|
|||||||
Ce fichier de configuration va déployer une image docker de wordpress et de la base de données mysql.
|
Ce fichier de configuration va déployer une image docker de wordpress et de la base de données mysql.
|
||||||
|
|
||||||
!!! info "docker-compose.yml"
|
!!! info "docker-compose.yml"
|
||||||
```
|
``` { .yaml .copy }
|
||||||
version: '3.3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
@ -132,7 +130,7 @@ Ce fichier de configuration va déployer une image docker de wordpress et de la
|
|||||||
## Installation de SSL pour Nginx avec Let's Encrypt
|
## Installation de SSL pour Nginx avec Let's Encrypt
|
||||||
|
|
||||||
Let's encrypt est un service qui permet de générer gratuitement un certificat SSL pour le domaine de notre choix.
|
Let's encrypt est un service qui permet de générer gratuitement un certificat SSL pour le domaine de notre choix.
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
|
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
|
||||||
sudo apt install python3-certbot-nginx
|
sudo apt install python3-certbot-nginx
|
||||||
sudo certbot -d wordpress.mondomaine.fr
|
sudo certbot -d wordpress.mondomaine.fr
|
||||||
@ -144,7 +142,7 @@ sudo certbot -d wordpress.mondomaine.fr
|
|||||||
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/wordpress.mondomaine.fr.conf:
|
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/wordpress.mondomaine.fr.conf:
|
||||||
|
|
||||||
!!! info "wordpress.mondomaine.fr"
|
!!! info "wordpress.mondomaine.fr"
|
||||||
```
|
``` { .copy }
|
||||||
upstream wpdocker {
|
upstream wpdocker {
|
||||||
server 127.0.0.1:8000;
|
server 127.0.0.1:8000;
|
||||||
}
|
}
|
||||||
@ -191,13 +189,13 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
|
|||||||
```
|
```
|
||||||
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
||||||
```
|
```
|
||||||
|
|
||||||
On recharge la configuration de Nginx:
|
On recharge la configuration de Nginx:
|
||||||
|
|
||||||
```
|
``` { .bash .copy }
|
||||||
sudo systemctl reload nginx.service
|
sudo systemctl reload nginx.service
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ theme:
|
|||||||
- navigation.instant
|
- navigation.instant
|
||||||
- navigation.expand
|
- navigation.expand
|
||||||
- navigation.tabs
|
- navigation.tabs
|
||||||
|
- content.code.copy
|
||||||
plugins:
|
plugins:
|
||||||
#- markdownmermaid
|
#- markdownmermaid
|
||||||
- search:
|
- search:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user