Installation
ClassBook à forcément besoin d’un 2ème disque dur pour stocker les fichiers utilisateurs, les datas, …
Installation Facile
Pour installer ClassBook Facilement, La première chose à faire est de télécharger le shell script avec cette commande:
$ wget https://raw.githubusercontent.com/classbook-devloppers/linux-server/main/preinstall.sh
et ensuite venir faire un
$ sudo chmod 313 preinstall.sh
et
$ ./preinstall.sh
Note
Pour pouvoir utiliser classbook, il faut que le serveur soit sous Ubuntu Server 22.04, Debian 10 ou WSL
Installer ClassBook en Ligne de Commande
Installer ClassBook en ligne de commande est un peu plus compliqué car c’est l’utilisateur qui exécute les commandes à la place du script et une mauvaise commande peut être un risque pour l’OS ou la machine
Pour installer Classbook en Ligne de Commande nous aurons besoin de :
Git
Nginx
MariaDB
SSH
Samba
PHP
Parted
NPM
1ère Partie : Installations des Paquets
Effectuer les mises à jour du serveur avec
$ sudo apt-get update -y
$ sudo apt update -y
et installer les services Nginx, MariaDB, SSH, Samba, PHP, Git, Parted et NPM avec cette commande :
$ sudo apt install nginx mariadb-server openssh-server samba parted git php npm -y
vous pourrez verifier si voutre serveur web est fonctionnel en entrant son IP ( si vous ne savez pas vous pouvez utiliser la commande
$ ip address
la carte réseau devrait commençer par : « ens » ou « enp »
2ème Partie : Configuration des Applications
Une fois l’étape 1 réussi
confgurer mariadb avec cette commande :
$ sudo mariadb-secure-installation
et répondre aux questions par
Le mot de passe de l’utilisateur, N, N, Y, N, Y, Y,
Une fois ça fait, nous allons configurer le disque dur avec parted :
..note:
si vous êtes plus à l'aise avec un autre logiciel de partitionnage que parted vous pouvez l'utiliser en utilisant la même configuration des systemes de fichiers
Nous aurons besoin de :
Un disque dur avec au moins 100Go d’espace libre
Parted
un accès Super-utilisateur
Nano
> Partie 1 : Configuration des partitions
Sélectionner un disque (souvent /dev/sdb comme deuxième disque) .. note:
Faites attention à bien mettre le nom de votre disque à la place de 'votre_disque'
$ lsblk -d -o NAME,SIZE
Une fois le disque choisi, le partitionner avec ces commandes :
$ sudo parted 'votre_disque' mklabel gpt
$ sudo parted -a opt 'votre_disque' mkpart primary ext4 10G
$ sudo parted -a opt 'votre_disque' mkpart primary ext4 30G
$ sudo parted -a opt 'votre_disque' mkpart primary ext4 40G
$ parted $selected_disk align-check optimal 1
$ sudo mkfs.ext4 'votre_disque' 1
$ sudo mkfs.ext4 'votre_disque' 2
$ sudo mkfs.ext4 'votre_disque' 3
$ sudo e2label 'votre_disque' 1 /classbook/web
$ sudo e2label 'votre_disque' 2 /classbook/smb
$ sudo e2label 'votre_disque' 3 /classbook/datas
Une fois que toutes ces étapes ont été faites, il faut entrer les noms des volumes dans /etc/fstab avec nano : .. code-block:: console
$ sudo nano /etc/fstab
'votre_disque' /classbook/web ext4 defaults 0 0
'votre_disque' /classbook/smb ext4 defaults 0 0
'votre_disque' /classbook/datas ext4 defaults 0 0
Configuration de Samba et Nginx :
Grace aux partitions précédentes, nous pouvons faire la configuration de nginx et samba :
Nous aurons besoin de :
Nano
Nginx
Samba
Un accès Super-utilisateur
> Partie 1 : Configuration de Nginx
Tout d’abord, taper la commande :
$ sudo nano /etc/nginx/sites-availables/classbook
Et dans nano, mettre ce morceau de code :
server {
listen 80;
server_name classbook;
root /classbook/web;
index index.html index.htm;
location /datas {
alias /classbook/datas;
}
}
Et activer le site avec cette commande :
$ ln -s /etc/nginx/sites-available/classbook /etc/nginx/sites-enabled/
Une fois ça fait, il faut rajouter les pages d’erreurs avec cette commande dans :
$ sudo nano /etc/nginx/sites-available/default
et dans nano, ajouter ce morceau de code :
server {
listen 80 default_server;
listen [::]:80 default_server;
root /classbook/web;
index index.html index.htm;
server_name _;
error_page 400 /errors/400.html;
error_page 403 /errors/403.html;
error_page 404 /errors/404.html;
error_page 500 /errors/500.html;
error_page 503 /errors/503.html;
location / {
try_files \$uri \$uri/ =404;
}
}
> Partie 2 : Configuration de Samba
Avant de configurer les partages samba, il faut créer un nouvel utilisateur :
$ sudo smbpasswd classbook
et rentrer un mot de passe
Pour configurer samba ouvrir nano en super-utilisateur avec cette commande :
$ sudo nano /etc/samba/smb.conf
Entrer ce code :
[datas]
path = /classbook/datas
valid users = @admin, classbook
writable = yes
guest ok = no
create mode = 0770
directory mode = 0770
force group = admin
- [shared]
path = /classbook/smb valid users = @admin, classbook writable = yes guest ok = no create mode = 0770 directory mode = 0770 force group = admin
3ème Partie : Configuration de Classbook
Pour pouvoir utiliser classbook, Il nous faut :
Le code source de classbook
Un accès Super-utilisateur
> Étape 1 :
Pour avoir le code source dans le répertoire /classbook/web, il faut aller dans ce répertoire :
$ cd /classbook/web
puis faire :
$ git clone https://github.com/classbook-devloppers/source-code.git
Et installer les packages de NPM avec ces commandes :
$ npm install --global npm@latest
$ npm install --global gulp-cli
3ème Partie : Post-Installation
pour la Post-Installation, redémarrer tout les services, enlever les fichier inutiles et effacer le cache :
$ sudo apt autoremove -y
sudo nginx -s reload && sudo systemctl restart mariadb && sudo systemctl restart smbd && sudo systemctl restart nginx
Une fois ces commandes éxécutés, redémarrer le serveur ( de préference ) avec la commande :
FIN :
Voilà, vous avez réussi à installer classbook sur votre serveur