Visualiser une révision

[Tuto/HowTo] Partager le dossier /var/www/ entre vos différents serveur web apache2 via syncthing

voxdemonix : révision n°9 (12 janvier 2019 16:34:36)

Mise en place
=============


1. [Installez Syncthing en suivant ce lien](https://www.0rion.netlib.re/forum4/viewtopic.php?f=93&t=281&p=705apt.syncthing.net)

1. Créez un user dédié avec un mot de passe super solide (pas besoin de s'en rappeler)

```
adduser syncthing
```

1. Réglez les droits du nouvel utilisateur.

 * *Placez l'utilisateur _syncthing_ dans le groupe _www-data_. (a checker si adduser ne ferait pas mieux)

```
adduser syncthing www-data
adduser www-data syncthing
```
Prochaine commande à supprimer ? 

```
usermod -a -gG www-data syncthing
```

 * Accordez les permissions sur le dossier. 


```
( chown www-data:www-data -R /var/www/html/ ; chmod 2770 -R /var/www/html/ ; setfacl --default --modify group::rwx /var/www/html/)
```

 * Éditez _`/lib/systemd/system/syncthing@.service_`

```
sudo nano /lib/systemd/system/syncthing@.service
```

 * Dans la section _[Service]_, ajoutez _UMask=0007_ puis, à la ligne suivante, ajoutez _GOMAXPROCS=1_ et enfin à la ligne _ExecStart=_ ajoutez _-home="/home/syncthing/.config/syncthing"_. Comme suit : 

```
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 -home="/home/syncthing/.config/syncthing"
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
UMask=0007
GOMAXPROCS=1

[Install]
WantedBy=multi-user.target
```

1. Dans le fichier _/home/syncthing/.config/syncthing/config.xml_ remplacez

```
<address>127.0.0.1:8384</address>
```

par

```
<address>0.0.0.0:8384</address>
```

1. Sur la WEBUI de syncthing créez un partage et entrez _/var/www/html_ ou un autre sous-dossier au choix. Comme temps entre les scans, indiquez entre 60 et 120 secondes au choix.

1. Ajoutez un cron pour remettre les bons droits (quand syncthing écrit un fichier il aura syncthing comme propriétaire, ça ne devrait pas poser de soucis mais au cas ou, on les corrige)

```
* */10 * * *    chown www-data:www-data -R /var/www/html/
* */10 * * *    chmod 0760 -R /var/www/html/
```

1. Bloquez l'accès à ssh pour l'utilisateur "syncthing".

 * Pour ce faire éditez le fichier _/etc/ssh/sshd_config_. 

```
nano /etc/ssh/sshd_config
```

 * Et ajoutez dedans la ligne suivante puis tapez _CTRL+X_ pour sauvegarder et quitter. 


```
DenyUsers	syncthing
```

1. Lancez le service syncting au démarrage, activez-le puis redémarrez la machine. 

```
sudo systemctl enable syncthing@syncthing.service
sudo systemctl start syncthing@syncthing.service
sudo reboot
```

 *  Note : le nouvel umask ne sera pris en compte qu'après redémarrage de la machine. Avant cela les fichiers ne seront pas créé avec les bonnes permissions.


1. Si a un moment vous souhaitez vérifier le status du service syncthing, lancez la commande suivante :

```
systemctl status syncthing@syncthing.service
```


Farm Link
=========

* [Partager le dossier /var/www/html entre vos différents serveur web apache2 via syncthing](https://wwwiki.0rion.netlib.re/forum4/viewtopic.php?f=107&t=661&p=1603#p1603doku.php?id=tutoriel_fr:tuto_howto_partager_le_dossier_var_entre_vos_differents_serveur_web_apache2_via_syncthing) (article original)