This commit is contained in:
Florian du Garage Num 2023-10-27 16:50:06 +02:00
commit ee6fc01441
8 changed files with 195 additions and 66 deletions

View File

@ -3,6 +3,7 @@
Cette rubrique répertorie différentes procédures pour réaliser le travail administratif du Garage Numérique.
- [Recadrage des avis de paiement de l'asp](cadrage-asp)
- [ Procédures de compta avec odoo](process-odoo)
- [ Procédures des Ressources Humaines](rh)
- [Procédures comptables](compta)
- [Procédures de compta avec odoo](process-odoo)
- [Procédures des Ressources Humaines](rh)
- [Procédures comptables](compta)
- [Procédures d'installation Windows](windows)

View File

@ -0,0 +1,49 @@
# Installation et activation de produits Microsoft
## Les sites
Une communauté à privilégier pour l'activation de logiciels microsoft est ==r/Piracy==, sur reddit.
Il existe aussi un "megathread" qui regroupe tout les outils et logiciels lié au piratage.
[https://github.com/Shakil-Shahadat/awesome-piracy](https://github.com/Shakil-Shahadat/awesome-piracy).
Il faut éviter les sites comme ==ThePirateBay== qui contiennent enormement de virus.
Il faut aussi éviter les ==recherches directes sur Google==.
Les premiers liens sont souvant des virus, comme KMSPico.
Les =="builds"== qui sont des logiciels avec une interface pour installer et activer les produits Microsoft sont aussi à éviter, il est très facile d'y inclure des virus et ils ne sont pas opensource.
**En général, la meilleure méthode est de télécharger le produit tel quel sur les serveurs Microsoft pour ensuite l'activer avec MAS, qui est un script disponible sur GitHub.**
## Outils
#### [Microsoft Activation Scripts (MAS)](https://github.com/massgravel/Microsoft-Activation-Scripts/releases)
Le meilleur activateur, licences Windows 10 et Office, il permet aussi de changer d'edition de Windows.
Il s'execute dans un terminal en super-utilisateur.
En plus de ça, grâce à sa nature de script, il est totalement transparent contrairement aux outils avec une interface.
Il possible de l'executer directement à partir de powershell
```powershell
irm https://massgrave.dev/get | iex
```
#### [tb.rg-adguard.net](https://tb.rg-adguard.net)
Un site pour télécharger directement les produits Microsoft depuis leurs serveurs.
On peut aussi aller directement sur la [page de téléchargement de Windows](https://www.microsoft.com/fr-fr/software-download/windows10) mais cette page permet seulement de télécharger un outil de mise à jour quand on est déjà sur Windows et semble donner un lien vers les ISO uniquement ==depuis Linux==, il ne permet pas non plus de choisir une version précise.
Il est possible de changer l'user-agent de son navigateur pour acceder à la version "linux" de cette page, ce que beaucoup de personne font.
!!! warning "Avertissement de sécurité"
Ne pas tenir compte du message d'avertissement au moment tu téléchargement, les serveurs de téléchargement de Microsoft sont toujours en HTTP, ce qui génère des alertes de sécurité...
## Activation
L'activation d'un logiciel Microsoft est plutôt simple, voici une procedure complète en détail, pour Office :
#### Téléchargement de Office
Se rendre sur [tb.rg-adguard.net](https://tb.rg-adguard.net) et sélectionner la version souhaitée de Office.
!!! warning "On ne peut selectionner qu'un seul logiciel de la suite office à la fois, pour avoir Word, Excel et Powerpoint par exemple, il faudra les télécharger un par un"
![office-1.png](./office-1.png)
#### Installation de Office
Les fichiers téléchargés sont au format ==iso==.
En double-cliquant dessus Windows les montes dans un lecteur virtuel.
Une fois montée il faut cliquer sur "
Suivre les étapes d'installation
Répeter ces étapes pour chaque logiciel.
#### Activation de Office
!!! info "Penser à installer tout les logiciels avant de les activer, le script permet de tous les activer en même temps"
Il faut executer le script "MAS_AIO.cmd" qui se trouve dans "All-In-One-Version" ==en administrateur==.
Une fois ce script éxecuté on a cette interface
![office-2.png](./office-2.png)
Selectionner ==Online KMS== (2) puis ==KMS Activation== (1)
Le script va chercher et activer tout les produits Microsoft sans licence (y compris la licence Windows).

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -36,7 +36,7 @@ git add fichier1 fichier2
- Créer un enregistrement (une version) du code avec un commentaire:
```bash
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):
@ -63,6 +63,18 @@ git branch nom-nouvelle-branche
git push origin nom-nouvelle-branche
```
- Effacer une branch locale:
```bash
git branch -d branche-a-effacer
```
- Effacer une branche du dépôt distant:
```bash
git push origin --delete branche-a-effacer
```
## Workflow
### Cloner un dépôt distant en local, l'éditer puis pousser les changement
@ -135,13 +147,21 @@ git push origin main # ou le nom de la branche
## Autres commandes utiles
- Savoir sur quelle branche on se trouve:
- Récupérer localement les changements du dépôt distant:
```bash
git pull
```
:warning: Si des changements ont été effectués localement depuis le git clone ou depuis le dernier git pull, git vous avertira qu'il faut remiser les changements (annuler) ou les valider (pousser les changements vers le dépôt distant) pour ne pas écraser ceux-ci avec la version du code se trouvant sur le dépôt distant.
- Savoir sur quelle branche on se trouve et les branches disponibles localement:
```bash
git branch
```
- Créer une nouvelle branche:
- Créer une nouvelle branche et basculer vers la nouvelle branche:
```bash
git checkout -b nom-nouvelle-branche
@ -175,6 +195,7 @@ sudo nano ~/.bashrc
git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]:\[\033[38;5;5m\]\$(git_branch)\[\033[00m\]\$ "
```
![git-branch](git-branch.png)

View File

@ -623,9 +623,11 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
```
#### Création des dossiers pour les volumes permanents
sudo mkdir /data/nextcloud/{data,config,apps,mysql} -p
sudo chown -R www-data:root /data/nextcloud
sudo chown -R 999:root /data/nextcloud/mysql
```bash
sudo mkdir /data/nextcloud/{data,config,apps,mysql} -p
sudo chown -R www-data:root /data/nextcloud
sudo chown -R 999:root /data/nextcloud/mysql
```
### Fichiers de configuration pour Redis
@ -639,7 +641,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
#### redis.config.php
??? note "redis.config.php"
```
```php
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array (
@ -666,7 +668,7 @@ Nous avons besoin de créer les fichiers suivants pour qu'ils soient utilisés p
Nous allons compiler une image d'etherpad en suivant les instructions de **Dockerfile**:
??? info "Dockerfile"
```
```Dockerfile
# Etherpad Lite Dockerfile
#
# https://github.com/ether/etherpad-lite
@ -725,7 +727,7 @@ Nous allons compiler une image d'etherpad en suivant les instructions de **Docke
### Copie du projet etherpad sur github
```
```bash
git clone https://github.com/ether/etherpad-lite.git
```
@ -734,7 +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.
??? info "docker-compose.yml"
```
```yaml
version: '3.7'
services:
@ -765,7 +767,7 @@ Ce fichier de configuration va déployer une image docker de nextcloud avec coll
- ncdata-data:/data
- ncdata-config:/var/www/html/config
- ncdata-apps:/var/www/html/custom_apps
# - ./Internal.php:/var/www/html/lib/private/Session/Internal.php
# - ./Internal.php:/var/www/html/lib/private/Session/Internal.php
networks:
- default
- back
@ -877,20 +879,21 @@ Ce fichier de configuration va déployer une image docker de nextcloud avec coll
```
Il ne reste plus qu'à démarrer les conteneurs:
```
```bash
docker-compose up --build -d
```
## 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.
```
```bash
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 certbot certonly -d nextcloud.mondomaine.fr
sudo certbot certonly -d collabora.mondomaine.fr
sudo certbot certonly -d pad.mondomaine.fr
```
**Les certificats sont alors crés dans `/etc/letsencrypt/nextcloud.mondomaine.fr`!**
## Configuration du **Server Bloc Nginx ** pour nextcloud.mondomaine.fr
@ -900,7 +903,7 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
??? info "nextcloud.mondomaine.fr.conf"
```
upstream nextcloud{
server 127.0.0.1:8889;
server 127.0.0.1:8889;
}
server {
@ -909,56 +912,54 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
} # managed by Certbot
listen 80;
server_name nextcloud.mondomaine.fr;
location /.well-known {
listen 80;
server_name nextcloud.mondomaine.fr;
location /.well-known {
alias /var/www/nextcloud.mondomaine.fr/.well-known;
}
location / {
}
location / {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
}
server {
listen 443 ssl;
server_name nextcloud.mondomaine.fr;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
listen 443 ssl;
server_name nextcloud.mondomaine.fr;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# Upload limit and security
client_max_body_size 10000m;
server_tokens off;
proxy_set_header Host $host;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# Upload limit and security
client_max_body_size 10000m;
server_tokens off;
# SSL parameters
ssl on;
# SSL parameters
ssl on;
ssl_certificate /etc/letsencrypt/live/nextcloud.mondomaine.fr/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/nextcloud.mondomaine.fr/privkey.pem; # managed by Certbot
ssl_session_timeout 30m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 30m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
# ssl_prefer_server_ciphers on;
# log
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
# log
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
# Redirect requests to nextcloud backend server
location / {
proxy_redirect off;
proxy_pass http://nextcloud;
}
# Redirect requests to nextcloud backend server
location / {
proxy_redirect off;
proxy_pass http://nextcloud;
}
rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
@ -973,17 +974,15 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
# location ^/(.*\.php(/.*)?$ {
# proxy_pass fcgi://127.0.0.1:6379/var/www/html/$1;
# }
# common gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
# common gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
```
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
```
```bash
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
```
@ -1015,10 +1014,8 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto https;
}
}
server {
if ($host = pad.mondomaine.fr) {
return 301 https://$host$request_uri;
@ -1035,7 +1032,8 @@ On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sit
return 404; # managed by Certbot
}
```
```
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
```
@ -1108,14 +1106,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:
```
```bash
sudo ln -s /etc/nginx/sites-available/collabora.mondomaine.fr.conf /etc/nginx/sites-enabled/
```
On recharge la configuration de Nginx:
```
```bash
sudo systemctl reload nginx.service
```
@ -1133,3 +1131,56 @@ Il est nécessaire de récupérer la API KEY générée par etherpad:
cat APIKEY.txt
On la saisit ensuite dans Nextcloud: `Settings > Administration > Additional settings`
## Mise à jour de l'image Docker Nextcloud
#### 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.
> L'update s'éffectue par palier de versions (20 vers 21 puis 21 vers 22, etc...)
#### étapes
- stopper la stack:
```bash
docker-compose down
```
- editer le tag de l'image Nextcloud dans le docker-compose.yaml:
```bash
nano docker-compose.yml
```
- Modifier la version d'image vers la version immédiatement supérieure dans le docker-compose.yml
> Exemple: 20 -> 21
- relançer la stack:
```bash
docker-compose up -d
```
> Finir l'update via l'interface web
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:
Exemple:
```bash
docker exec --user www-data -it nextcloud /var/www/html/occ db:add-missing-indices
```
##### Commande générique pour ajouter des colonnes manquantes à certaines tables de la BDD
```bash
docker exec --user www-data -it <NOM_DU_CONTAINER> /var/www/html/occ <COMMANDE-DB>
```
??? "Crontab (pour nettoyer Nextcloud régulierement)"
```bash
crontab -e
*/5 * * * * docker exec -u www-data <NOM_DU_CONTAINER> php -f cron.php
```

View File

@ -172,5 +172,7 @@ nav:
- "Clôture d'exercice": admin/process-odoo/odoo-cutoff.md
- "Recrutement": admin/process-odoo/odoo-recrutement.md
- "Immobilisations": admin/process-odoo/odoo-immo.md
- Windows:
- "Installation": admin/windows/index.md
- "Test": raw_test.md
# - "Test": raw_test.md

5
pyvenv.cfg Normal file
View File

@ -0,0 +1,5 @@
home = /usr/bin
include-system-site-packages = false
version = 3.11.2
executable = /usr/bin/python3.11
command = /usr/bin/python3 -m venv /home/greg/workspace/doc