Doc-geting-started » Historique » Version 22
Joël Cuissinat, 09/01/2013 16:43
1 | 1 | Philippe Caseiro | h1. Premiers pas |
---|---|---|---|
2 | 1 | Philippe Caseiro | |
3 | 6 | Lionel Morin | Dans ce document vous trouverez toutes les étapes pour utiliser le dépôt standard Eole pour le packaging. |
4 | 1 | Philippe Caseiro | |
5 | 6 | Lionel Morin | L'idée de départ de ce dépôt est de fournir un outil qui vous permet de disposer d'un environnement prêt à l'emploi |
6 | 1 | Philippe Caseiro | pour construire un paquet "Eole". |
7 | 1 | Philippe Caseiro | |
8 | 1 | Philippe Caseiro | Il suffit de mettre les fichiers dans les bons répertoires. |
9 | 1 | Philippe Caseiro | |
10 | 1 | Philippe Caseiro | h2. Le dépôt |
11 | 1 | Philippe Caseiro | |
12 | 7 | Lionel Morin | Voici l’arborescence type d'un dépôt "standardisé" : |
13 | 1 | Philippe Caseiro | |
14 | 2 | Philippe Caseiro | * */src/* |
15 | 1 | Philippe Caseiro | ** *<appli>-<version>/* |
16 | 1 | Philippe Caseiro | ** *plugins-<version>/nom/* |
17 | 1 | Philippe Caseiro | ** *lang-<version>/nom/* |
18 | 1 | Philippe Caseiro | * */tmpl/* |
19 | 1 | Philippe Caseiro | * */dicos/* |
20 | 1 | Philippe Caseiro | * */pretemplate/* |
21 | 1 | Philippe Caseiro | * */posttemplate/* |
22 | 1 | Philippe Caseiro | * */postservice/* |
23 | 20 | Joël Cuissinat | * */diagnose/* |
24 | 20 | Joël Cuissinat | * */firewall/* |
25 | 1 | Philippe Caseiro | * */sql/* |
26 | 1 | Philippe Caseiro | ** *gen/* |
27 | 1 | Philippe Caseiro | ** *updates/* |
28 | 1 | Philippe Caseiro | ** *conf/* |
29 | 1 | Philippe Caseiro | *** *gen/* |
30 | 1 | Philippe Caseiro | *** *updates/* |
31 | 1 | Philippe Caseiro | *** *pwd/* |
32 | 1 | Philippe Caseiro | * */sso/* |
33 | 1 | Philippe Caseiro | ** *filtres/* |
34 | 1 | Philippe Caseiro | ** *user-info/* |
35 | 1 | Philippe Caseiro | * */ldap/* |
36 | 1 | Philippe Caseiro | ** *pwd/* |
37 | 19 | Joël Cuissinat | * */ead/* |
38 | 21 | Joël Cuissinat | ** *actions/* |
39 | 21 | Joël Cuissinat | ** *perms/* |
40 | 21 | Joël Cuissinat | ** *roles/* |
41 | 22 | Joël Cuissinat | * */zephir/* |
42 | 22 | Joël Cuissinat | ** *configs/* |
43 | 22 | Joël Cuissinat | ** *srv/* |
44 | 20 | Joël Cuissinat | * */lib/* |
45 | 20 | Joël Cuissinat | ** *eole/* |
46 | 20 | Joël Cuissinat | ** *<source>/* |
47 | 1 | Philippe Caseiro | * */sharenvole/* |
48 | 3 | Philippe Caseiro | * _Makefile_ |
49 | 3 | Philippe Caseiro | * _eole.mk_ |
50 | 3 | Philippe Caseiro | * _apps.mk_ |
51 | 1 | Philippe Caseiro | |
52 | 1 | Philippe Caseiro | Commentaires : |
53 | 1 | Philippe Caseiro | |
54 | 1 | Philippe Caseiro | table{border:1px solid black}. |
55 | 9 | Philippe Caseiro | | */src/* | _Répertoire de destination des sources de l'application_ | |
56 | 2 | Philippe Caseiro | | */src/<appli>-<version>/* | _Code source de l'application avec la possibilité de faire cohabiter plusieurs versions lors des mises à jour_ | |
57 | 1 | Philippe Caseiro | | */src/plugins-<version>/* | _Répertoire contenant les plugins externes et ceux développés en interne pour cette version de l'application (un sous-répertoire par plugin)_ | |
58 | 2 | Philippe Caseiro | | */src/lang-<version>/* | _Répertoire des traductions pour cette version (un sous-répertoire par langue)_ | |
59 | 1 | Philippe Caseiro | | */tmpl/* | _Répertoire des templates eole_ | |
60 | 1 | Philippe Caseiro | | */dicos/* | _Répertoire des dictionnaires eole (XX_<appli>.xml[1]) | |
61 | 2 | Philippe Caseiro | | */pretemplate/* | _Répertoire des scripts (shell ou python) de pretemplate_ | |
62 | 1 | Philippe Caseiro | | */posttemplate/* | _Répertoire des scripts (shell ou python) de posttemplate_ | |
63 | 1 | Philippe Caseiro | | */postservice/* | _Répertoire des scripts (shell ou python) de postservice_ | |
64 | 22 | Joël Cuissinat | | */diagnose/* | _Répertoire des scripts de tests diagnose_ | |
65 | 22 | Joël Cuissinat | | */firewall/* | _Répertoire des fichiers eole-firewall (.fw) statiques_ | |
66 | 2 | Philippe Caseiro | | */sql/* | _Répertoire des configurations pour la génération et la gestion des mise à jours des bases de données_ | |
67 | 6 | Lionel Morin | | */sql/gen/* | _Répertoire des scripts sql à exécuter lors de la génération de la base de données_ | |
68 | 6 | Lionel Morin | | */sql/updates* | _Répertoire des scripts sql à exécuter lors de mise à jour de la base de données_ | |
69 | 2 | Philippe Caseiro | | */sql/conf/* | _Répertoire des configurations pour la gestion de la bases de données_ | |
70 | 2 | Philippe Caseiro | | */sql/conf/gen* | _Répertoire du fichier de configuration de génération de la base de données_ | |
71 | 9 | Philippe Caseiro | | */sql/conf/updates* | _Répertoire du fichier de configuration des mises à jour de la base de données_ | |
72 | 1 | Philippe Caseiro | | */sql/conf/passwords* | _Répertoire du fichier de configuration pour la gestion de mots de passe d'accès à la base de données_ | |
73 | 1 | Philippe Caseiro | | */sso/* | _Répertoire des configurations pour la gestion du SSO_ | |
74 | 1 | Philippe Caseiro | | */sso/filtres/* | _Répertoire des filtres sso (<appli>.ini, <appli>_apps.ini)_ | |
75 | 1 | Philippe Caseiro | | */sso/user-info/* | _Répertoire du profil sso (profil_<appli>.py) | |
76 | 1 | Philippe Caseiro | | */ldap/* | _Répertoire des configurations pour la gestion des mots de passe d'accès au serveur ldap_ | |
77 | 22 | Joël Cuissinat | | */ldap/passwords/* | _Répertoire du fichier de configuration du mot de passe ldap (<appli>.ini)_ | |
78 | 22 | Joël Cuissinat | | */ead/* | _Répertoire des configurations pour la gestion des actions EAD_ | |
79 | 22 | Joël Cuissinat | | */ead/actions/* | _Répertoire des configurations pour la gestion des actions de l'EAD_ | |
80 | 22 | Joël Cuissinat | | */ead/perms/* | _Répertoire des configurations pour la gestion des rôles de l'EAD_ | |
81 | 22 | Joël Cuissinat | | */ead/roles/* | _Répertoire des configurations pour la gestion des associations de rôle de l'EAD_ | |
82 | 22 | Joël Cuissinat | | */zephir/* | _Répertoire des configurations pour la gestion des agents Zéphir_ | |
83 | 22 | Joël Cuissinat | | */zephir/configs* | _Répertoire des configurations pour la gestion des configuration d'agents Zéphir_ | |
84 | 22 | Joël Cuissinat | | */zephir/srv* | _Répertoire des configurations pour la gestion des configuration d'agents de service Zéphir_ | |
85 | 22 | Joël Cuissinat | | */lib/* | _Répertoire pour les fichiers de librairie (/usr/lib)_ | |
86 | 22 | Joël Cuissinat | | */lib/eole/* | _Répertoire pour les fichiers de librairie EOLE_ | |
87 | 22 | Joël Cuissinat | | */lib/<source>/* | _Répertoire pour les fichiers de librairie spécifiques à l'application_ | |
88 | 2 | Philippe Caseiro | | */sharenvole/* | _Répertoire des scripts historiques d'aide à l'installation des applications envole (à éviter si possible)_ | |
89 | 6 | Lionel Morin | | Makefile | _Fichier de règles de "compilation"_ | |
90 | 9 | Philippe Caseiro | | eole.mk | _Règles standard Eole ! ne pas changer ce fichier_ | |
91 | 9 | Philippe Caseiro | | apps.mk | _Règles pour l'installation de l'application web._ | |
92 | 1 | Philippe Caseiro | |
93 | 1 | Philippe Caseiro | h2. Etape 1 : Cloner le dépôt |
94 | 3 | Philippe Caseiro | |
95 | 3 | Philippe Caseiro | @git clone http://dev-eole.ac-dijon.fr/git/eole-skeletor@ |
96 | 3 | Philippe Caseiro | <pre> |
97 | 3 | Philippe Caseiro | Cloning into 'eole-skeletor'... |
98 | 3 | Philippe Caseiro | remote: Counting objects: 83, done. |
99 | 3 | Philippe Caseiro | remote: Compressing objects: 100% (71/71), done. |
100 | 3 | Philippe Caseiro | remote: Total 83 (delta 26), reused 0 (delta 0) |
101 | 3 | Philippe Caseiro | Unpacking objects: 100% (83/83), done. |
102 | 3 | Philippe Caseiro | </pre> |
103 | 3 | Philippe Caseiro | |
104 | 3 | Philippe Caseiro | Vous disposez désormais d'un répertoire _eole-skeletor_. |
105 | 7 | Lionel Morin | Ce répertoire contient un exemple type de dépôt standard. |
106 | 3 | Philippe Caseiro | |
107 | 3 | Philippe Caseiro | h2. Etape 2: Créer votre propre dépôt |
108 | 3 | Philippe Caseiro | |
109 | 3 | Philippe Caseiro | Lancer les commandes suivantes : |
110 | 3 | Philippe Caseiro | |
111 | 3 | Philippe Caseiro | @mkdir eole-monappli@ |
112 | 3 | Philippe Caseiro | @cd eole-monappli@ |
113 | 3 | Philippe Caseiro | @git init .@ |
114 | 3 | Philippe Caseiro | @cp ../eole-skeletor/*.mk ../eole-skeletor/Makefile .@ |
115 | 3 | Philippe Caseiro | @git add .@ |
116 | 3 | Philippe Caseiro | @git commit -am "Premier commit : Ajout des fichiers Makefile standard"@ |
117 | 3 | Philippe Caseiro | |
118 | 4 | Philippe Caseiro | <pre> |
119 | 4 | Philippe Caseiro | user@host:code $ mkdir eole-monappli |
120 | 4 | Philippe Caseiro | user@host:code $ cd eole-monappli |
121 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git init . |
122 | 4 | Philippe Caseiro | Initialized empty Git repository in /tmp/eole-monappli/.git/ |
123 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ cp ../eole-skeletor/*.mk ../eole-skeletor/Makefile . |
124 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git add . |
125 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git commit -am "Premier commit : Ajout des fichiers Makefile standard" |
126 | 4 | Philippe Caseiro | [master (root-commit) 1be6951] Premier commit : Ajout des fichiers Makefile standard |
127 | 4 | Philippe Caseiro | 3 files changed, 195 insertions(+) |
128 | 4 | Philippe Caseiro | create mode 100644 Makefile |
129 | 4 | Philippe Caseiro | create mode 100644 apps.mk |
130 | 4 | Philippe Caseiro | create mode 100644 eole.mk |
131 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ |
132 | 4 | Philippe Caseiro | </pre> |
133 | 1 | Philippe Caseiro | |
134 | 10 | Philippe Caseiro | h2. Etape 3: Mise en place des fichiers (Makefile, dico, templates, sources, configurations...) |
135 | 1 | Philippe Caseiro | |
136 | 10 | Philippe Caseiro | La première chose a faire est de mettre à jour le fichier Makefile pour qu'il corresponde a votre application. |
137 | 10 | Philippe Caseiro | Il faut mettre à jour 3 variables, SOURCE, VERSION et PKGAPPS |
138 | 10 | Philippe Caseiro | |
139 | 10 | Philippe Caseiro | * *SOURCE* contiens le nom de votre application |
140 | 10 | Philippe Caseiro | * *VERSION* contiens la version de votre application |
141 | 11 | Philippe Caseiro | * *PKGAPPS* contiens oui ou non, pour répondre à la question "voulez vous générer un paquet _monapplli-apps[2]_" |
142 | 10 | Philippe Caseiro | |
143 | 10 | Philippe Caseiro | |
144 | 7 | Lionel Morin | Pour que le "Makefile" installe votre fichier au bon endroit, il suffit de créer le répertoire adéquat et |
145 | 1 | Philippe Caseiro | d'y mettre votre fichier. |
146 | 7 | Lionel Morin | |
147 | 10 | Philippe Caseiro | |
148 | 7 | Lionel Morin | h3. Exemple d'ajout d'un dictionnaire "Eole" : |
149 | 4 | Philippe Caseiro | |
150 | 4 | Philippe Caseiro | Il suffit de lancer les commandes suivantes : |
151 | 4 | Philippe Caseiro | |
152 | 4 | Philippe Caseiro | @mkdir dicos@ |
153 | 4 | Philippe Caseiro | @cp XX_nom_appli.xml dicos@ |
154 | 4 | Philippe Caseiro | |
155 | 3 | Philippe Caseiro | <pre> |
156 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ mkdir dicos |
157 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls |
158 | 4 | Philippe Caseiro | apps.mk dicos/ eole.mk Makefile |
159 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ cp /emplacement/de/mon/dico/XX_nom_appli.xml dicos |
160 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls dicos |
161 | 4 | Philippe Caseiro | XX_nom_appli.xml |
162 | 1 | Philippe Caseiro | </pre> |
163 | 1 | Philippe Caseiro | |
164 | 1 | Philippe Caseiro | Pour l'ajout d'un template la procédure est la même avec le répertoire tmpl. |
165 | 1 | Philippe Caseiro | |
166 | 1 | Philippe Caseiro | h3. Exemple d'ajout de la génération d'une base de données |
167 | 1 | Philippe Caseiro | |
168 | 1 | Philippe Caseiro | h4. Création de l'arborescence: |
169 | 1 | Philippe Caseiro | |
170 | 4 | Philippe Caseiro | <pre> |
171 | 4 | Philippe Caseiro | ├── sql |
172 | 10 | Philippe Caseiro | │ ├── conf |
173 | 10 | Philippe Caseiro | │ │ ├── gen |
174 | 10 | Philippe Caseiro | │ │ │ └── mon_appi.py |
175 | 10 | Philippe Caseiro | │ │ └── passwords |
176 | 10 | Philippe Caseiro | │ │ └── monappli.ini |
177 | 10 | Philippe Caseiro | │ └── gen |
178 | 10 | Philippe Caseiro | │ ├── premier_script.sql |
179 | 10 | Philippe Caseiro | │ └── second_script.sql |
180 | 4 | Philippe Caseiro | </pre> |
181 | 4 | Philippe Caseiro | |
182 | 4 | Philippe Caseiro | @mkdir -p sql/conf/gen sql/conf/passwords sql/gen@ |
183 | 4 | Philippe Caseiro | |
184 | 4 | Philippe Caseiro | <pre> |
185 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ mkdir -p sql/conf/gen sql/conf/passwords sql/gen |
186 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls -R sql |
187 | 4 | Philippe Caseiro | sql: |
188 | 4 | Philippe Caseiro | conf/ gen/ |
189 | 1 | Philippe Caseiro | |
190 | 1 | Philippe Caseiro | sql/conf: |
191 | 4 | Philippe Caseiro | gen/ passwords/ |
192 | 4 | Philippe Caseiro | |
193 | 4 | Philippe Caseiro | sql/conf/gen: |
194 | 4 | Philippe Caseiro | |
195 | 4 | Philippe Caseiro | sql/conf/passwords: |
196 | 4 | Philippe Caseiro | |
197 | 4 | Philippe Caseiro | sql/gen: |
198 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ tree |
199 | 4 | Philippe Caseiro | sql |
200 | 4 | Philippe Caseiro | ├── conf |
201 | 10 | Philippe Caseiro | │ ├── gen |
202 | 10 | Philippe Caseiro | │ └── passwords |
203 | 4 | Philippe Caseiro | └── gen |
204 | 4 | Philippe Caseiro | </pre> |
205 | 4 | Philippe Caseiro | |
206 | 7 | Lionel Morin | h4. Création des fichiers de configuration |
207 | 4 | Philippe Caseiro | |
208 | 4 | Philippe Caseiro | Pour créer une base de données il faut plusieurs fichiers. |
209 | 4 | Philippe Caseiro | * Un fichier de configuration pour la génération |
210 | 4 | Philippe Caseiro | * Un fichier de configuration pour la gestion des mots de passe d'accès à la base |
211 | 7 | Lionel Morin | * Les scripts SQL pour la création et l'initialisation de la base de données |
212 | 4 | Philippe Caseiro | |
213 | 4 | Philippe Caseiro | h5. Fichier de Configuration pour la génération : |
214 | 4 | Philippe Caseiro | |
215 | 7 | Lionel Morin | Ce fichier contient les instructions nécessaires à la génération de la bases : |
216 | 4 | Philippe Caseiro | |
217 | 4 | Philippe Caseiro | <pre><code class="python"> |
218 | 4 | Philippe Caseiro | #-*-coding:utf-8-*- |
219 | 4 | Philippe Caseiro | ########################################################################### |
220 | 4 | Philippe Caseiro | # Eole NG - 2011 |
221 | 4 | Philippe Caseiro | # Copyright Pole de Competence Eole (Ministere Education - Academie Dijon) |
222 | 4 | Philippe Caseiro | # Licence CeCill cf /root/LicenceEole.txt |
223 | 4 | Philippe Caseiro | # eole@ac-dijon.fr |
224 | 4 | Philippe Caseiro | # |
225 | 4 | Philippe Caseiro | # gepi.py |
226 | 4 | Philippe Caseiro | # |
227 | 4 | Philippe Caseiro | # Création de la base de données mysql de gepi |
228 | 4 | Philippe Caseiro | # |
229 | 4 | Philippe Caseiro | ########################################################################### |
230 | 4 | Philippe Caseiro | """ |
231 | 4 | Philippe Caseiro | Config pour gepi |
232 | 4 | Philippe Caseiro | """ |
233 | 4 | Philippe Caseiro | from eolesql.db_test import db_exists, test_var |
234 | 4 | Philippe Caseiro | |
235 | 4 | Philippe Caseiro | GEPI_TABLEFILENAMES = ['/usr/share/eole/mysql/gepi/gen/gepi-create-0-initeole.sql', |
236 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-1-structure.sql', |
237 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-2-data.sql', |
238 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-3-ajouteole.sql'] |
239 | 4 | Philippe Caseiro | def test(): |
240 | 4 | Philippe Caseiro | """ |
241 | 4 | Philippe Caseiro | test l'existence de la base gepi |
242 | 4 | Philippe Caseiro | """ |
243 | 4 | Philippe Caseiro | return test_var('activer_gepi') and not db_exists('gepi') |
244 | 4 | Philippe Caseiro | |
245 | 4 | Philippe Caseiro | conf_dict = dict(filenames=GEPI_TABLEFILENAMES, |
246 | 4 | Philippe Caseiro | test=test) |
247 | 4 | Philippe Caseiro | </code></pre> |
248 | 5 | Philippe Caseiro | Il faut placer ce fichier dans le répertoire _*sql/conf/gen*_. |
249 | 5 | Philippe Caseiro | |
250 | 5 | Philippe Caseiro | h5. Fichier de configuration de gestion des mots de passe |
251 | 5 | Philippe Caseiro | |
252 | 7 | Lionel Morin | Ce fichier contient les instructions nécessaires au renouvellement des mots de passe |
253 | 7 | Lionel Morin | des utilisateurs ayant accès à la base de données. Les applications disposent d'un utilisateur |
254 | 5 | Philippe Caseiro | qui a des droits d'écriture dans les tables de la base, cet utilisateur a un mot de passe |
255 | 7 | Lionel Morin | qui est renouvelé régulièrement par les mécanismes "Eole". Ce fichier sert à faire en sorte |
256 | 5 | Philippe Caseiro | que la configuration de l'application soit mise à jour lors du changement du mot de passe. |
257 | 5 | Philippe Caseiro | |
258 | 5 | Philippe Caseiro | Voici un exemple de fichier : |
259 | 5 | Philippe Caseiro | |
260 | 5 | Philippe Caseiro | |
261 | 5 | Philippe Caseiro | <pre><code class="bash"> |
262 | 5 | Philippe Caseiro | [gepi] |
263 | 5 | Philippe Caseiro | username=gepi |
264 | 5 | Philippe Caseiro | container=web |
265 | 5 | Philippe Caseiro | template=$dbPass=" |
266 | 5 | Philippe Caseiro | filename=/var/www/html/gepi/secure/connect.inc.php |
267 | 5 | Philippe Caseiro | owner=root:www-data |
268 | 5 | Philippe Caseiro | chmod=660 |
269 | 5 | Philippe Caseiro | </code></pre> |
270 | 5 | Philippe Caseiro | |
271 | 5 | Philippe Caseiro | Quelques petites précisions : |
272 | 7 | Lionel Morin | * username= nom de l'utilisateur utilisé par l'application pour accéder à la base |
273 | 7 | Lionel Morin | * container= nom du conteneur lxc où l'application est hébergée |
274 | 7 | Lionel Morin | * template= chaîne qui préfixe le mot de passe dans le fichier de configuration |
275 | 7 | Lionel Morin | * filname= fichier de configuration à mettre à jour |
276 | 7 | Lionel Morin | * owner= utilisateur et groupe propriétaire du fichier de configuration au format user:group |
277 | 7 | Lionel Morin | * chmod= droits du fichier au format XXX |
278 | 5 | Philippe Caseiro | |
279 | 5 | Philippe Caseiro | Il faut placer ce fichier dans le répertoire _*sql/conf/passwords*_. |
280 | 5 | Philippe Caseiro | |
281 | 5 | Philippe Caseiro | h5. Scripts SQL de création et d'initialisation de la base |
282 | 5 | Philippe Caseiro | |
283 | 7 | Lionel Morin | Un seul script est obligatoire, le script de création (toujours le premier de la liste) |
284 | 5 | Philippe Caseiro | <pre><code class="python"> |
285 | 7 | Lionel Morin | # Liste des fichiers sql à exécuter (dans l'ordre) |
286 | 5 | Philippe Caseiro | GEPI_TABLEFILENAMES = ['/usr/share/eole/mysql/gepi/gen/gepi-create-0-initeole.sql', |
287 | 5 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-1-structure.sql', |
288 | 5 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-2-data.sql', |
289 | 5 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-3-ajouteole.sql'] |
290 | 5 | Philippe Caseiro | </code></pre> |
291 | 5 | Philippe Caseiro | |
292 | 5 | Philippe Caseiro | Dans l'exemple c'est le script _*/usr/share/eole/mysql/gepi/gen/gepi-create-0-initeole.sql*_. |
293 | 5 | Philippe Caseiro | |
294 | 7 | Lionel Morin | Ce script est très souvent un "template" eole car on a besoin d'informations contenues dans la configuration "Eole". |
295 | 5 | Philippe Caseiro | |
296 | 7 | Lionel Morin | Exemple : |
297 | 5 | Philippe Caseiro | |
298 | 5 | Philippe Caseiro | <pre><code class="sql"> |
299 | 7 | Lionel Morin | -- création de la base de données |
300 | 5 | Philippe Caseiro | CREATE DATABASE gepi CHARACTER SET utf8 COLLATE utf8_general_ci; |
301 | 5 | Philippe Caseiro | |
302 | 5 | Philippe Caseiro | -- création du user de la base |
303 | 5 | Philippe Caseiro | grant all privileges on gepi.* to gepi@%%adresse_ip_web identified by 'gepi'; |
304 | 5 | Philippe Caseiro | flush privileges ; |
305 | 5 | Philippe Caseiro | |
306 | 1 | Philippe Caseiro | -- connexion à la base |
307 | 1 | Philippe Caseiro | \r gepi |
308 | 1 | Philippe Caseiro | |
309 | 1 | Philippe Caseiro | |
310 | 1 | Philippe Caseiro | SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; |
311 | 1 | Philippe Caseiro | </code></pre> |
312 | 1 | Philippe Caseiro | |
313 | 1 | Philippe Caseiro | Comme ce fichier est un template il doit être placé dans le répertoire _*tmpl*_ et configuré dans le dico (dicos/XX_nom_appli.xml). |
314 | 1 | Philippe Caseiro | |
315 | 1 | Philippe Caseiro | Les autres fichiers de la liste sont des scripts sql très souvent fournis par l'application et sont à placer dans le répertoire _*sql/gen*_. |
316 | 1 | Philippe Caseiro | |
317 | 1 | Philippe Caseiro | h2. Tester l'installation via le Makefile standard |
318 | 10 | Philippe Caseiro | |
319 | 10 | Philippe Caseiro | Lancer la commandes suivante depuis votre dépôt: |
320 | 10 | Philippe Caseiro | |
321 | 10 | Philippe Caseiro | @DESTDIR=/tmp/monappli make install@ |
322 | 10 | Philippe Caseiro | |
323 | 10 | Philippe Caseiro | <pre> |
324 | 10 | Philippe Caseiro | user@host code/mon_appi $ DESTDIR=/tmp/monappli make install |
325 | 10 | Philippe Caseiro | test ! -d sql/update || install -m 755 -d /tmp/monappli/usr/share/eole/mysql/eole-zarafa/updates |
326 | 10 | Philippe Caseiro | test ! -d sql/conf/gen || install -m 755 -d /tmp/monappli/usr/share/eole/applications/gen |
327 | 10 | Philippe Caseiro | install -m 755 -d /tmp/monappli/usr/share/eole |
328 | 10 | Philippe Caseiro | test ! -d zephir/srv || install -m 755 -d /services |
329 | 10 | Philippe Caseiro | test ! -d sso/user-info || install -m 755 -d /tmp/monappli/usr/share/sso/user_infos |
330 | 10 | Philippe Caseiro | install -m 755 -d /tmp/monappli/usr/share/eole/creole |
331 | 10 | Philippe Caseiro | test ! -d zephir/configs || install -m 755 -d /tmp/monappli/usr/share/zephir/monitor/configs |
332 | 10 | Philippe Caseiro | test ! -d zephir || install -m 755 -d /tmp/monappli/usr/share/zephir |
333 | 10 | Philippe Caseiro | test ! -d sso || install -m 755 -d /tmp/monappli/usr/share/sso |
334 | 10 | Philippe Caseiro | test ! -d lxc || install -m 755 -d /tmp/monappli/usr/share/eole/lxc |
335 | 10 | Philippe Caseiro | test ! -d sharenvole || install -m 755 -d /tmp/monappli/usr/share/envole/eole-zarafa |
336 | 10 | Philippe Caseiro | test ! -d sso/filtres || install -m 755 -d /tmp/monappli/usr/share/sso/app_filters |
337 | 10 | Philippe Caseiro | test ! -d posttemplate || install -m 755 -d /tmp/monappli/usr/share/eole/posttemplate |
338 | 10 | Philippe Caseiro | test ! -d lxc/fstab || install -m 755 -d /tmp/monappli/usr/share/eole/lxc/fstab |
339 | 10 | Philippe Caseiro | test ! -d postservice || install -m 755 -d /tmp/monappli/usr/share/eole/postservice |
340 | 10 | Philippe Caseiro | test ! -d tmpl || install -m 755 -d /tmp/monappli/usr/share/eole/creole/distrib |
341 | 10 | Philippe Caseiro | test ! -d pretemplate || install -m 755 -d /tmp/monappli/usr/share/eole/pretemplate |
342 | 10 | Philippe Caseiro | test ! -d sql/conf/passwords || install -m 755 -d /tmp/monappli/usr/share/eole/applications/passwords |
343 | 10 | Philippe Caseiro | test ! -d sql || install -m 755 -d /tmp/monappli/usr/share/eole/mysql/eole-zarafa |
344 | 10 | Philippe Caseiro | test ! -d dicos || install -m 755 -d /tmp/monappli/usr/share/eole/creole/dicos |
345 | 10 | Philippe Caseiro | test ! -d diagnose || install -m 755 -d /tmp/monappli/usr/share/eole/diagnose/module |
346 | 10 | Philippe Caseiro | test ! -d ldap/passwords || install -m 755 -d /tmp/monappli/usr/share/eole/annuaire/password_files |
347 | 10 | Philippe Caseiro | test ! -d sql/gen || install -m 755 -d /tmp/monappli/usr/share/eole/mysql/eole-zarafa/gen |
348 | 10 | Philippe Caseiro | if [ -d sql/update ]; then for file in `ls -1 sql/update/`; do install -m 644 sql/update/$file /tmp/monappli/usr/share/eole/mysql/eole-zarafa/updates || true; done; fi |
349 | 10 | Philippe Caseiro | if [ -d sql/conf/gen ]; then for file in `ls -1 sql/conf/gen/`; do install -m 644 sql/conf/gen/$file /tmp/monappli/usr/share/eole/applications/gen || true; done; fi |
350 | 10 | Philippe Caseiro | if [ -d zephir/srv ]; then for file in `ls -1 zephir/srv/`; do install -m 644 zephir/srv/$file /services || true; done; fi |
351 | 10 | Philippe Caseiro | if [ -d sso/user-info ]; then for file in `ls -1 sso/user-info/`; do install -m 644 sso/user-info/$file /tmp/monappli/usr/share/sso/user_infos || true; done; fi |
352 | 10 | Philippe Caseiro | if [ -d zephir/configs ]; then for file in `ls -1 zephir/configs/`; do install -m 644 zephir/configs/$file /tmp/monappli/usr/share/zephir/monitor/configs || true; done; fi |
353 | 10 | Philippe Caseiro | if [ -d zephir ]; then for file in `ls -1 zephir/`; do install -m 644 zephir/$file /tmp/monappli/usr/share/zephir || true; done; fi |
354 | 10 | Philippe Caseiro | if [ -d sso ]; then for file in `ls -1 sso/`; do install -m 644 sso/$file /tmp/monappli/usr/share/sso || true; done; fi |
355 | 10 | Philippe Caseiro | if [ -d lxc ]; then for file in `ls -1 lxc/`; do install -m 644 lxc/$file /tmp/monappli/usr/share/eole/lxc || true; done; fi |
356 | 10 | Philippe Caseiro | if [ -d sharenvole ]; then for file in `ls -1 sharenvole/`; do install -m 644 sharenvole/$file /tmp/monappli/usr/share/envole/eole-zarafa || true; done; fi |
357 | 10 | Philippe Caseiro | if [ -d sso/filtres ]; then for file in `ls -1 sso/filtres/`; do install -m 644 sso/filtres/$file /tmp/monappli/usr/share/sso/app_filters || true; done; fi |
358 | 10 | Philippe Caseiro | if [ -d lxc/fstab ]; then for file in `ls -1 lxc/fstab/`; do install -m 644 lxc/fstab/$file /tmp/monappli/usr/share/eole/lxc/fstab || true; done; fi |
359 | 10 | Philippe Caseiro | if [ -d tmpl ]; then for file in `ls -1 tmpl/`; do install -m 644 tmpl/$file /tmp/monappli/usr/share/eole/creole/distrib || true; done; fi |
360 | 10 | Philippe Caseiro | if [ -d sql/conf/passwords ]; then for file in `ls -1 sql/conf/passwords/`; do install -m 644 sql/conf/passwords/$file /tmp/monappli/usr/share/eole/applications/passwords || true; done; fi |
361 | 10 | Philippe Caseiro | if [ -d sql ]; then for file in `ls -1 sql/`; do install -m 644 sql/$file /tmp/monappli/usr/share/eole/mysql/eole-zarafa || true; done; fi |
362 | 10 | Philippe Caseiro | install: omission du répertoire « sql/conf » |
363 | 10 | Philippe Caseiro | if [ -d dicos ]; then for file in `ls -1 dicos/`; do install -m 644 dicos/$file /tmp/monappli/usr/share/eole/creole/dicos || true; done; fi |
364 | 10 | Philippe Caseiro | if [ -d ldap/passwords ]; then for file in `ls -1 ldap/passwords/`; do install -m 644 ldap/passwords/$file /tmp/monappli/usr/share/eole/annuaire/password_files || true; done; fi |
365 | 10 | Philippe Caseiro | if [ -d sql/gen ]; then for file in `ls -1 sql/gen/`; do install -m 644 sql/gen/$file /tmp/monappli/usr/share/eole/mysql/eole-zarafa/gen || true; done; fi |
366 | 10 | Philippe Caseiro | if [ -d posttemplate ]; then for file in `ls -1 posttemplate/`; do install -m 755 posttemplate/$file /tmp/monappli/usr/share/eole/posttemplate || true; done; fi |
367 | 10 | Philippe Caseiro | if [ -d postservice ]; then for file in `ls -1 postservice/`; do install -m 755 postservice/$file /tmp/monappli/usr/share/eole/postservice || true; done; fi |
368 | 10 | Philippe Caseiro | if [ -d pretemplate ]; then for file in `ls -1 pretemplate/`; do install -m 755 pretemplate/$file /tmp/monappli/usr/share/eole/pretemplate || true; done; fi |
369 | 10 | Philippe Caseiro | if [ -d diagnose ]; then for file in `ls -1 diagnose/`; do install -m 755 diagnose/$file /tmp/monappli/usr/share/eole/diagnose/module || true; done; fi |
370 | 10 | Philippe Caseiro | user@host code/mon_appi $ tree /tmp/monappli |
371 | 10 | Philippe Caseiro | /tmp/monappli |
372 | 10 | Philippe Caseiro | └── usr |
373 | 10 | Philippe Caseiro | └── share |
374 | 10 | Philippe Caseiro | └── eole |
375 | 10 | Philippe Caseiro | ├── applications |
376 | 10 | Philippe Caseiro | │ ├── gen |
377 | 10 | Philippe Caseiro | │ └── passwords |
378 | 10 | Philippe Caseiro | ├── creole |
379 | 10 | Philippe Caseiro | │ └── dicos |
380 | 10 | Philippe Caseiro | └── mysql |
381 | 10 | Philippe Caseiro | └── eole-monappli |
382 | 10 | Philippe Caseiro | └── gen |
383 | 10 | Philippe Caseiro | </pre> |
384 | 10 | Philippe Caseiro | |
385 | 18 | Lionel Morin | Votre application a été installée dans _/tmp/monappli_ vous devriez y retrouver une arborescence similaire à celle de l'exemple. |
386 | 10 | Philippe Caseiro | |
387 | 10 | Philippe Caseiro | |
388 | 10 | Philippe Caseiro | fn1. XX = Ordre de traitement du dictionnaire (de 00 à 99). |
389 | 14 | Philippe Caseiro | |
390 | 17 | Philippe Caseiro | fn2. Plus d'informations : http://dev-eole.ac-dijon.fr/projects/envole/wiki/EnvoleMigration23#%C3%89tape-3-la-division-des-paquets |