Utilisateurs/SiteClubs.md
... ...
@@ -4,7 +4,7 @@ Le ResEl fournit un espace d'hébergement pour que les clubs qui le souhaitent p
4 4
5 5
# Utilisation
6 6
7
-En tant que membre :
7
+## Côté utilisateur
8 8
9 9
On peut avoir la liste des clubs disponibles sur le site https://clubs.resel.fr.
10 10
... ...
@@ -18,6 +18,36 @@ Un webmaster a accès à deux choses :
18 18
- L'accès FTP où est hébergé son site : Connexion en `SFTP` sur `sftp://clubs.resel.fr`, authentification avec son compte ResEl.
19 19
- L'accès PHPMyAdmin, où il peut gérer la base de données SQL si existante, pour le site : Connexion sur `https://phpmyadmin.clubs.resel.fr`, authentification avec son compte ResEl.
20 20
21
+## Côté Admin
22
+
23
+Pour créer un site, il est probable que vous souhaitiez utiliser les [scripts automatisés]().
24
+
25
+Voici cependant la démarche manuelle :
26
+
27
+1. La première chose à faire, si elle n'existe pas, est de créer l'organisation correspondante dans le LDAP. Une organisation ressemble par exemple à ça :
28
+```
29
+cn=rlb,ou=organisations,dc=maisel,dc=enst-bretagne,dc=fr
30
+objectClass: tbClub
31
+cn: rlb
32
+mlInfos: FALSE
33
+orgaName: Rencontres Ludiques de Bretagne (RLB)
34
+```
35
+Copier un modèle existant sans le gidNumber ou voir [le schéma Organisation]() pour plus de détails.
36
+2. Lancer *create_site_from_orga.py*, qui se trouve dans `/srv/scripts` sur Golf, avec en paramètres votre uid et le nom de l'organisation.
37
+3. Relancer Apache.
38
+4. Ajouter l'admin dans la branche des webmestres, ça ressemble à ça :
39
+```
40
+uid=pchapuis,ou=webmasters,dc=maisel,dc=enst-bretagne,dc=fr
41
+objectClass: alias
42
+objectClass: uidObject
43
+aliasedObjectName: uid=pchapuis,ou=people,dc=maisel,dc=enst-bretagne,dc=fr
44
+uid: pchapuis
45
+```
46
+5. Sur la branche *site*, dans le champ `memberUid` ajoutez l'UID correspondant.
47
+
48
+#### Créer une base MySQL
49
+
50
+Si le site nécessite l'utilisation d'une base de données MySQL il faut utiliser le script `/root/old_scripts/create_base.py` avec en argument le nom du site. Attention, le nom de l'organisation ne doit pas excéder 16 caractères, sinon il va falloir entrer l'user à la main.
21 51
22 52
# Fonctionnement
23 53
... ...
@@ -73,7 +103,7 @@ L'authentification est faite via l'authentification PAM classique. Cf [Authentif
73 103
74 104
Les utilisateurs ont donc accès à l'arborescence de tout les clubs, mais autant donnée la [gestion des droits]() faite, ils ne peuvent que toucher aux fichiers d'un site dont ils sont webmestre.
75 105
76
-## La petite subtilité
106
+#### La petite subtilité
77 107
78 108
Parceque c'était trop simple sinon, pour sécuriser ça, d'abord la synchronisation des utilisateurs avec des comptes Linux fait en sorte que le home soit dans `/srv/chrooted_sftp` et aussi, que le shell soit le programme `/usr/bin/spconlyc_umask`. C'est un [programme custom au ResEl](#services-heberg%C3%A9s-configuration_synchronisation-webmestres-sites-via-ldap_la-petite-subtilit%C3%A9) défini sur Golf qui lance un client SFTP.
79 109
... ...
@@ -149,7 +179,43 @@ ou: webmasters
149 179
150 180
## Script de génération des sites
151 181
152
-Pour simplifier la tâche, des scripts sont définis.
182
+Pour simplifier la tâche, des scripts ont été créés. Ils sont dans le dossier `/srv/scripts`. Il ne font pas l'objet d'un versionnage, à faire !
183
+
184
+Le script le plus simple est `create_site.py`
185
+
186
+*Utilisation* :
187
+```bash
188
+# create_site.py <uidadmin> <site_id> <pathtosite> <nomvhost> <nomsite>
189
+create_site.py tjacquin assos-tb /srv/www/oters/assos-tb/ assos-tb.fr Assos-Tb
190
+```
191
+
192
+Ce script permet de créer un site non associé à une organisation.
193
+
194
+L'autre scrpt est `create_site_from_orga.py`
195
+
196
+*Utilisation* :
197
+```bash
198
+# create_site.py <uidadmin> <orga_id> <site_id>
199
+create_site.py tjacquin mangatheque mangatheque
200
+```
201
+
202
+Ce site permet de créer un site associé à une organisation.
203
+
204
+Il y a des scripts de gestion des sites de campagne :
205
+- `precampagne.py`
206
+- `migre_campagne.py`
207
+
208
+Un script pour réparer les bêtises des webmestres sur les permissions `fix_perms.py`.
209
+
210
+Un script pour assigner une IPv6 à un vhost de site `ipv6site.pl`, un grand mystère.
211
+
212
+Un script pour rédiger la configuration Apache d'un site en fonction des infos sur la branche LDAP `conf_apache.py`.
213
+
214
+Un script contenant les variables globales pour tout les scripts précédents `common.py`.
215
+
216
+Et finalement, un script bash qui monitore le nombre de répertoire, parce que sinon le programme décrit dans [la petite subtilité](#services-heberg%C3%A9s-configuration_synchronisation-webmestres-sites-via-ldap_la-petite-subtilit%C3%A9) ne fonctionnera plus !
217
+
218
+Il y a plein d'autre scripts dans le dossier `/root/old_scripts`, mais vu le nom, je suppose qu'il ne faut pas les utiliser.
153 219
154 220
# Lien utiles
155 221
... ...
@@ -159,4 +225,4 @@ Pour simplifier la tâche, des scripts sont définis.
159 225
160 226
# Modifications
161 227
162
-- Mise en place initiale en ???
... ...
\ No newline at end of file
0
+- Mise en place initiale en 2007.
... ...
\ No newline at end of file