-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #123 from dbarzin/dev
Documentation
- Loading branch information
Showing
4 changed files
with
621 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,256 @@ | ||
# Procédure d'installation de Deming | ||
|
||
## Configuration recommandée | ||
|
||
- OS : Debian 12 stable | ||
- RAM : 2G | ||
- Disque : 30G | ||
- VCPU 2 | ||
|
||
## Installation | ||
|
||
Installer Debian : | ||
- sans environement de bureau Debian | ||
- avec serveur Web | ||
- avec serveur SSH Web | ||
- avec les utilitaires usuels du système | ||
|
||
Mettre à jour la distribution | ||
|
||
su root -c "apt update" | ||
su root -c "apt upgrade" | ||
|
||
Installer Apache, git, php et composer | ||
|
||
su root -c "apt-get install git composer apache2 libapache2-mod-php php php-mysql php-zip php-gd php-mbstring php-curl php-xml" | ||
|
||
Créer le répertoire du projet | ||
|
||
cd /var/www | ||
su root -c "mkdir deming" | ||
su root -c "chown $USER:$GROUP deming" | ||
|
||
Cloner le projet depuis Github dans /var/www | ||
|
||
cd /var/www | ||
git clone https://www.github.com/dbarzin/deming | ||
|
||
Créer les répertoires temporaires | ||
|
||
cd deming | ||
mkdir -p storage/framework/views | ||
mkdir -p storage/framework/cache | ||
mkdir -p storage/framework/sessions | ||
mkdir -p bootstrap/cache | ||
|
||
|
||
Installer les packages avec composer | ||
|
||
composer install | ||
|
||
Publier tous les actifs publiables à partir des packages des fournisseurs | ||
|
||
php artisan vendor:publish --all | ||
|
||
## MariaDB | ||
|
||
Installer MariaDB | ||
|
||
su root -c "apt install mariadb-server" | ||
|
||
Lancer MariaDB avec les droits root | ||
|
||
su root -c mariadb | ||
|
||
Créer la base de données _deming_ et l'utilisateur _deming_user_ | ||
|
||
CREATE DATABASE deming CHARACTER SET utf8 COLLATE utf8_general_ci; | ||
CREATE USER 'deming_user'@'localhost' IDENTIFIED BY 'demPasssword-123'; | ||
GRANT ALL ON deming.* TO deming_user@localhost; | ||
GRANT PROCESS ON *.* TO 'deming_user'@'localhost'; | ||
|
||
FLUSH PRIVILEGES; | ||
EXIT; | ||
|
||
## Configuration | ||
|
||
Créer un fichier .env dans le répertoire racine du projet : | ||
|
||
cd /var/www/deming | ||
cp .env.example .env | ||
|
||
Mettre les paramètre de connexion à la base de données : | ||
|
||
vi .env | ||
|
||
## .env file | ||
DB_CONNECTION=mysql | ||
DB_HOST=127.0.0.1 | ||
DB_PORT=3306 | ||
DB_DATABASE=deming | ||
DB_USERNAME=deming_user | ||
DB_PASSWORD=demPasssword-123 | ||
|
||
## Créer la base de données | ||
|
||
Exécuter les migrations | ||
|
||
LANG=fr php artisan migrate --seed | ||
|
||
Remarque: la graine est importante (--seed), car elle créera le premier utilisateur administrateur pour vous. | ||
|
||
Générer la clé de l'application | ||
|
||
php artisan key:generate | ||
|
||
Créer le lien de stockage | ||
|
||
php artisan storage:link | ||
|
||
## Peupler la base de données | ||
|
||
Pour importer la base de données avec les attributs de sécurité de la norme 27001:2022 (optionel) | ||
|
||
LANG=fr php artisan db:seed --class=AttributeSeeder | ||
|
||
Peupler la base de données avec la norme ISO 27001:2022 et générer un jeu de tests (optionel) | ||
|
||
php artisan deming:import-framework ./storage/app/repository/ISO27001-2022.fr.xlsx | ||
php artisan deming:generate-tests | ||
|
||
Démarrer l'application avec PHP | ||
|
||
php artisan serve | ||
|
||
ou pour y accéder à l'application depuis un autre serveur | ||
|
||
php artisan serve --host 0.0.0.0 --port 8000 | ||
|
||
L'application est accessible à l'URL [http://127.0.0.1:8000] | ||
|
||
utilisateur : admin@admin.localhost | ||
mot de passe : admin | ||
|
||
L'administrateur utilise la langue anglaise par défaut. Pour changer de langue, allez dans la page de profil de l'utilisateur | ||
(en haut à droite de la page principale). | ||
|
||
Pour importer un référentiel et générer des données de test, allez dans "Configuration" -> "Import" (optionel). | ||
|
||
## Apache | ||
|
||
Pour configurer Apache, modifiez les propriétés du répertoire Deming et accordez les autorisations appropriées au répertoire de stockage avec la commande suivante : | ||
|
||
su root -c "chown -R www-data:www-data /var/www/deming" | ||
su root -c "chmod -R 775 /var/www/deming/storage" | ||
|
||
Ensuite, créez un nouveau fichier de configuration d'hôte virtuel Apache pour servir l'application : | ||
|
||
su root -c "vi /etc/apache2/sites-available/deming.conf" | ||
|
||
Ajouter les lignes suivantes : | ||
|
||
<VirtualHost *:80> | ||
ServerName deming.local | ||
ServerAdmin admin@example.com | ||
DocumentRoot /var/www/deming/public | ||
<Directory /var/www/deming> | ||
AllowOverride All | ||
</Directory> | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ||
CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
</VirtualHost> | ||
|
||
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez l'hôte virtuel Apache et le module de réécriture avec les commandes suivantes : | ||
|
||
su - root -c "a2enmod rewrite" | ||
su - root -c "a2dissite 000-default.conf" | ||
su - root -c "a2ensite deming.conf" | ||
|
||
Enfin, redémarrez le service Apache pour activer les modifications : | ||
|
||
su - root -c "systemctl restart apache2" | ||
|
||
## PHP | ||
|
||
Vous devez définir les valeurs de upload_max_filesize et post_max_size dans votre php.ini (/etc/php/8.2/apache2/php.ini): | ||
|
||
; Taille maximale autorisée pour les fichiers téléchargés. | ||
upload_max_filesize = 10M | ||
|
||
; Doit être supérieur ou égal à upload_max_filesize | ||
post_max_size = 10M | ||
|
||
Après avoir modifié le(s) fichier(s) php.ini, vous devez redémarrer le service Apache pour utiliser la nouvelle configuration. | ||
|
||
su - root -c "systemctl restart apache2" | ||
|
||
## Configuration du mail | ||
|
||
Si vous souhaitez envoyer des mails de notification depuis Deming. | ||
|
||
Installer postfix et mailx | ||
|
||
su root -c "apt install postfix mailutils" | ||
|
||
Configurer postfix | ||
|
||
su root -c "dpkg-reconfigure postfix" | ||
|
||
Puis relancer postfix | ||
|
||
su - root -c "systemctl reload postfix" | ||
|
||
Envoyer un mail de test avec | ||
|
||
echo "Test mail body" | mailx -r "deming@yourdomain.local" -s "Subject Test" yourname@yourdomain.local | ||
|
||
N'oubliez pas de [configurer](https://dbarzin.github.io/deming/config.fr/#notifications) le contenu et la fréquence d'envoi des mails. | ||
|
||
## Sheduler | ||
|
||
Modifier le crontab | ||
|
||
sudo crontab -e | ||
|
||
ajouter cette ligne dans le crontab | ||
|
||
* * * * * cd /var/www/deming && php artisan schedule:run >> /dev/null 2>&1 | ||
|
||
## Mise à jour | ||
|
||
Pour mettre à jour Deming, il faut aller dans le répoertoire de Deming et récupérer les sources | ||
|
||
cd /var/www/deming | ||
git pull | ||
|
||
Migrer la base de données | ||
|
||
php artisan migrate | ||
|
||
Mettre à jour composer | ||
|
||
composer self-update | ||
|
||
Mettre à jour les librairies | ||
|
||
composer update | ||
|
||
Vider les caches | ||
|
||
php artisan optimize:clear | ||
|
||
## Remise à zéro | ||
|
||
Pour repartir d'une base de données vide avec la norme ISO 27001:2022. | ||
|
||
Voici la commande pour recréer la DB : | ||
|
||
php artisan migrate:fresh --seed | ||
|
||
Puis importer les attributs | ||
|
||
php artisan db:seed --class=AttributeSeeder | ||
|
||
Peupler la base de données avec la norme ISO 27001:2022 | ||
|
||
php artisan deming:import-framework ./storage/app/repository/ISO27001-2022.fr.xlsx |
Oops, something went wrong.