aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-man.txt
blob: 542f3ba2ee8e4a8337eaefd98a80ebd9b14c84af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
====== Manuális telepítés ======

==== Az első indítás után ====

A telepítendő szoftverek listája (vagy ezek megfelelői):
  - ''apache2'' - a web szerver (más webszerver is szóbajöhet természetesen)
  - ''php5'', ''php5-mysql'', ''php5-ldap'' (ez utóbbi csak akkor, ha ''ldap'' háttéradatbázist használunk a felhasználók azonosítására)
  - ''mysql-server-5.0'' - A keretrendszer és a napló adatait tároló adatbázis szerver
  - ''recode'' - a nyomtatványok előállításakor használjuk a különböző kódolások közötti konverzióra
  - ''texlive'', ''texlive-plain-extra'', ''texlive-fonts-extra'', ''texlive-fonts-recommended'', ''texlive-lang-hungarian'', ''texlive-latex-extra'', ''cm-super'' - TeX keretrendszer, fontok, makro csomagok
  - ''texlive-xetex'', ''ttf-mscorefonts-installer'' - opcionális (ha a haladási napló nyomtatásához a XeTeX rendszert akarjuk használni)
  - ''gs-common''/''ghostscript'' - a nyomtatáshoz szükséges ps2pdf programot tartalmazzó csomag
  - ''ntp'' - a pontos idő karbantartásához, a munkamenetek lejárati idejének kezeléséhez
  - ''wget'' - a frissítések letöltéséhez
  - ''ssl-cert'' - ha saját tanúsítványt akarunk készíteni a web-szerver számára
  - ''ssh'' - a távoli adminisztráció lehetőségét biztosító szolgáltatás

=== Debian/Ubuntu ===

Belépés után szerkesszük a csomag-források listáját és kommentezzük ki a telepítő CD-re és a forrásokra (src) vonatkozó sorokat:

  editor /etc/apt/sources.list

Majd frissítsük a csomaglistát (ezzel egyúttal ellenőrizzük, hogy nem rontottunk-e el valamit ''sources.list'' állományban)

  apt-get update

És telepítsük a  szükséges csomagokat:

  apt-get install apache2 php5 php5-mysql php5-ldap mysql-server-5.0 recode texlive ... ssh ssl-cert ntp

Ez 3-400MB letöltését jelenti, majd a csomagkezelő telepíti a szoftvereket.

=== SuSE ===

A csomagok telepítésére itt a ''yast'' használatos:

  yast2 -i mc gpm apache2 php5 php5-mysql php5-ldap mysql-server-5.0 recode texlive subversion less ssh php5-mbscript

Az ''ssl-cert'' helyett a ''gensslcert'' programot kell használnunk - a működése lényegében teljesen megegyezik a "debianos" ''ssl-cert''-el.

=== freeBSD ===

A telepítés után tegyünk fel GNU bash-t, mert a frissítő szkriptek ezt igénylik majd, ráadásul a ''/bin/bash'' útvonalon, így ha nem ott lenne, akkor készítsűnk
szimolikus linket!

Szintén a frissítésekhez szükség lesz egy ''md5sum'' nevű szkriptre, ami a linux-ok alatt használatos hasonló nevű alkalmazást helyettesíti
(pontosabban az ''md5sum -c --status'' alakú hívását):

   #!/bin/bash
   
   read inputline
   
   md5sum=`(echo $inputline | cut -d" " -f1)`
   filename=`(echo $inputline | cut -d" " -f2)`
   md5sum_new=`(md5 $filename | tr -d " " | cut -f2 -d=)`
   
   if [ $md5sum = $md5sum_new ]; then
       exit 0
   else
       exit 1
   fi

Ezt a szkriptet helyezzük el valahova a keresési útvolaban lévő könyvtárba.

Utána tegyük fel a felsoroltaknak megfelelő csomagokat... Legnagyobb gondot várhatóan a texlive kiváltása fogja okozni, mert freeBSD-re
csak a korábbi tetex rendszer létezik.

(Aki tud pontosabb leírást, az bátran küldje le a support-ra)

===== MaYoR rendszer telepítése =====

Szedjük le a MaYoR keretrendszer és napló forrását:

  cd /tmp
  wget http://www.mayor.hu/download/current/mayor-base-current.tgz
  wget http://www.mayor.hu/download/current/mayor-naplo-current.tgz

Majd csomagoljuk ki őket közös könyvtárba (pl ''/var/mayor'')

  mkdir /var/mayor
  cd /var/mayor/
  tar xvfz /tmp/mayor-base-current.tgz
  tar xvfz /tmp/mayor-naplo-current.tgz

Végül ellenőrizzük, hogy  a ''/var/mayor/log/mayor-base.rev'' állományba az aktuális revision szám található-e! Ha valamilyen okból nem, akkor kérj segítséget a support@mayor.hu-n!


==== Konfigurációs állományok ====

A MaYoR rendszer konfigurációs állományait a ''/var/mayor/config'' könyvtárban lévő ''*.example'' állományok átnevezésével és szerkesztésével kapjuk.

  mv /var/mayor/config/main-config.php.example /var/mayor/config/main-config.php
  editor /var/mayor/config/main-config.php

Ebben az állományban adhatjuk meg a ''_SITE'' stringet, ami a HTML oldalak ''title'' mezőjében fog megjelenni (általában az intézmény neve), érdemes megváltoztatni a ''_MYSQL_ENCODE_STR'' konstanst, amit a jelszavak kódolásához használunk, valamint a keretrendszer adatbázisának eléréséhez szükséges jelszót - ezt csak a program használja, így bátran adjunk meg akármilyen össze-vissza karaktersort!

  define('_SITE','MaYoR Használó Gimnázium');
  
    define('_MAYOR_DIR','/var/mayor');
    define('_BASEDIR',_MAYOR_DIR.'/www');
    define('_CONFIGDIR',_MAYOR_DIR.'/config');
    define('_LOGDIR',_MAYOR_DIR.'/log');
    define('_LOCKFILE','/var/run/mayor.lock');
    define('_DATADIR',_MAYOR_DIR.'/data');
    define('_DOWNLOADDIR',_MAYOR_DIR.'/download');
  
  // --- Jelszó kódolt tárolásához ----------------------------------------//
  define('_MYSQL_ENCODE_STR','___________');
  
  $MYSQL_DATA['login']['db']  ='mayor_login';
  $MYSQL_DATA['login']['user']='mayor_login';
  $MYSQL_DATA['login']['pw']  ='___________';
  ...

Következnek az egyes hozzáférési szintek (policy) beállításai. A "parent" és "public" policy beállításaiban elég csak a jelszavakat módosítani (az előzőekhez hasonlóan), míg a "private" hozzáférési szint esetén - hacsak nem LDAP alapú azonosítást szeretnénk - még néhány paramétert módosítunk:

''parent-conf.php'', ''public-conf.php'' - csak a jelszavakat írjuk át

  mv /var/mayor/config/parent-conf.php.example /var/mayor/config/parent-conf.php
  editor /var/mayor/config/parent-conf.php
  ...
  mv /var/mayor/config/public-conf.php.example /var/mayor/config/public-conf.php
  editor /var/mayor/config/public-conf.php
  ...
  mv /var/mayor/config/private-conf.php.example /var/mayor/config/private-conf.php
  editor /var/mayor/config/private-conf.php

  ...
      //'backend' => 'ldap',
      'backend' => 'mysql',
      ...
       
       //'ldap hostname' => 'localhost',
       //'ldap protocol version' => 3,
       //'ldap base dn' => 'o=mayor,c=hu',
       //'createAccountScript' => 'accounts.sh'
    
      'mysql db' => 'mayor_private',
      'mysql user' => 'mayor_private',
      'mysql pw' => '________'
  ...

=== A napló modul konfigurációja ===

Készítsük el a minta alaján saját konfigurációs állományunkat:

  mv /var/mayor/config/module-naplo/config.php.example /var/mayor/config/module-naplo/config.php
  editor /var/mayor/config/module-naplo/config.php

Szerkesztéskor a legfontosabb itt is a jelszavak megváltoztatása.

Majd szintén a minták alapján készítsük el saját intézmény konfigurációs állományunkat ''config-[intézmény rövid neve].php'' néven 
(itt az ''[intézmény rövid neve]'' meg kell egyezzen a felületen később megadandó rövid névvel - lásd: 
[[hogyan:telepites#uj_intezmeny_felvetele|Új intézmény felvétele]] - például: ''vmg'', ''illyes'', ''toldy''...):

  mv /var/mayor/config/module-naplo/config-pl.php.example /var/mayor/config/module-naplo/config-[intézmény rövid neve].php
  editor /var/mayor/config/module-naplo/config-[intézmény rövid neve].php

Ebben az állományban hangolhatjuk a rendszert határidőkkel és egyéb korlátozásokkal...

Van még egy konfigurációs állomány, ami a javascript függvénykönyvtárak betöltését szabályozza, ezen szerkesztenünk nem szükséges:

  mv /var/mayor/config/skin-classic/naplo-config.php.example /var/mayor/config/skin-classic/naplo-config.php

==== MySQL beállítása ====

=== SuSE ===
SuSE alatt a szolgáltatások indítását és a fontosabb beállításokat célszerű a ''yast'' segítségével végezni. Az adatbázisok létrehozása már nem rendszerfüggő, az a Debin/Ubuntu leírás szerint történhet.

=== Debian/Ubuntu ===
A telepítés után ne felejtsük el a MySQL root jelszavát megváltoztatni!

  # mysql
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 8
  Server version: 5.0.32-Debian_7etch5-log Debian etch distribution
  
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  
  mysql> SET PASSWORD=PASSWORD('*****');
  Query OK, 0 rows affected (0.00 sec)

Majd az UTF-8 kódolás beállítása következik:

  cp /var/mayor/install/base/mysql/utf8.cnf /etc/mysql/conf.d/utf8.cnf

Az ''utf8.cnf'' állomány a következőket tartalmazza:

  [client]
    default-character-set = utf8
    
  [mysqld]
    default-character-set = utf8
    default-collation = utf8_hungarian_ci

Ne felejtsük el a szervert újraindítani a beállítások mósosítása után!

  /etc/init.d/mysql restart

=== A keretrendszer adatbázisainak létrehozása ===

Az adatbázisok létrehozásához a MaYoR rendszer könyvtárában találunk minta állományokat. Ezekben legfeljebb az adatbázisok nevét és a jelszavakat kell majd módosítani.

A ''mayor-login.sql''-ben ''%MYSQL_LOGIN_DB%''-t, ''%MYSQL_LOGIN_USER%''-t és ''%MYSQL_LOGIN_PW%''-t cseréljük 
a ''/var/mayor/config/main-config.php''-ban megadott adatbázis, user, jelszó hármasra.

A ''mayor-auth.sql''-ből készítsünk ''mayor-parent.sql'' néven másolatot, melyben a 
''%MYSQL_AUTH_DB%''-t, ''%MYSQL_AUTH_USER%''-t és ''%MYSQL_AUTH_PW%''-t cseréljük 
a ''/var/mayor/config/parent-conf.php''-ben megadottakra.

Végül hasonlóan készítsünk a ''mayor-auth.sql''-ből ''mayor-private'' néven másolatot, melyben a
''%MYSQL_AUTH_DB%''-t, ''%MYSQL_AUTH_USER%''-t és ''%MYSQL_AUTH_PW%''-t cseréljük 
a ''/var/mayor/config/private-conf.php''-ben megadottakra.

Lehet simán editorral végezni a szerkesztéseket, de aki jobban szereti a shell parancsokat, így is eljárhat:

  mkdir /tmp/mysql
  cd /tmp/mysql
  DB=`grep db /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  USER=`grep user /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  PW=`grep pw /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  cat /var/mayor/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
          -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql

  DB=`grep db /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  USER=`grep user /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  PW=`grep pw /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  cat /var/mayor/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
          -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql

  DB=`grep db /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  USER=`grep 'mysql user' /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  PW=`grep pw /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  cat /var/mayor/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
          -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql

Mindenképp ellenőrizzük, hogy a keletkezett állományok jók lettek-e, a jelszavak, azonosítók, adatbázis nevek megfelelők-e. 
Ezek után létrehozzuk az adatbázisokat:

  cat /tmp/mysql/mayor-login.sql | mysql -p
  cat /tmp/mysql/mayor-parent.sql | mysql -p
  cat /tmp/mysql/mayor-private.sql | mysql -p

=== A napló modul adatbázisának létrehozása ===

Az előzőekhez hasonlóan itt is egy meglévő minta állomány segítségével hozzuk létre az adatbázist, melyben kicseréljük a
''%MYSQL_NAPLO_DB%'', ''%MYSQL_NAPLO_USER%'', ''%MYSQL_NAPLO_PW%'', ''%MYSQL_NAPLO_USER_READ%'', %MYSQL_NAPLO_PW_READ%
paramétereket a ''/var/mayor/config/module-naplo/config.php'' megfelelő értékeire - editorral, vagy valahogy így:

  DB=`grep db /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  USER=`egrep 'userWrite.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  USERREAD=`egrep 'userRead.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  PW=`egrep 'pwWrite.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
  PWREAD=`egrep 'pwRead.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`

  cat /var/mayor/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
          -e "s/%MYSQL_NAPLO_PW%/$PW/g"  -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
          -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > /tmp/mysql/base.sql

Ellenőrizzük az elkészült állományt, majd hozzuk léttre az adatábázist:

  cat /tmp/mysql/base.sql | mysql -p


==== A szükséges csoportok és a mayoradmin account létrehozása ====

Ehhez a lépéshez is tartoznak előkészített sql állományok. Először létrehozzuk a mayoradmin felhasználót (induló jelszava 'jelszo') és az
alaprendszer csoportjait, majd a naplóhoz tartozó csoportokat. Az állományoban a ''%MYSQL_PRIVATE_DB%'' sztringet cseréljük ki a
''/var/mayor/config/private-conf.php'' állományban megadott adatbázis névre.

  DB=`grep db /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
  cat /var/mayor/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > /tmp/mysql/private-users.sql
  cat /tmp/mysql/private-users.sql | mysql -p

  cat /var/mayor/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > /tmp/mysql/naplo-users.sql
  cat /tmp/mysql/naplo-users.sql | mysql -p

==== Az Apache Web-szerver beállításai ====

=== SuSE ===

Az Apache2 alapvető konfigurálása és a szolgáltatás elindítása továbbra is a ''yast''-al történik, sőt a megfelelő virtual host létrehozására is van lehetőség, de a megfelelő konfigurációs állományok szerkesztése is jó, univerzális megoldás, mindegyik rendszeren működnie kell.

=== Debian/Ubuntu ===

Először az Apache2 ssl támogatását kell beállítanunk:

  mkdir /etc/apache2/ssl
  make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
  a2enmod ssl
  a2enmod rewrite

A make-ssl-cert feltesz majd néhány egyszrű kérdést - de ettől ne hátráljunk meg...
A MaYoR-t használó intézmények számára kérésre mi is készítünk [[gyik:mayorCA|általunk (MaYoR Hungary) hitelesített]] tanúsítványt.  

Ezek után a MaYoR rendszer site információit állítsuk be - a letöltött minta másolatának értelemszerű szerkesztésével:

  cp /var/mayor/install/base/apache2/mayor /etc/apache2/sites-available
  editor /etc/apache2/sites-available/mayor

Itt a szerver nevére, a portra (alapértelmezett: 443) és az előbb generált SSLCertificateFile elérési útjára kell különösen figyelni.

Majd a default site-ban állítsuk be, hogy csak a 80 porton legyen érvényes (de akár le is tilthatjuk):

  editor /etc/apache2/sites-available/default

  NameVirtualHost *:80
  <virtualhost *:80>

Esetleg irányítsuk át a 80-as port forgalmát a 443-as portra:

  RedirectMatch ^.*$ https://your.mayor.server.hu/

Beállítjuk, hogy a web-szerver a 443-as (https) porton is figyeljen:

  editor /etc/apache2/ports.conf

  Listen 443

Végül engedélyezzük a mayor site-ot és indítsuk újra a web szervert:

  a2ensite mayor
  /etc/init.d/apache2 restart

Ide tartozik még a php5 modul konfigurációja. Az alapbeállításokhoz képest elég egy helyen módosítani a ''/etc/php5/apache2/php.ini'' állományt:

  editor /etc/php5/apache2/php.ini

  memory_limit = 128M	; Maximum amount of memory a script may consume (16MB)

  /etc/init.d/apache2 reload

A memória limitet a nagyobb lekérdezések miatt kell megnövelni - ilyen például a haladási vagy osztályozó naplók nyomtatása.


==== Karbantartást segítő szkriptek ====

Egy egyszerű shell scriptet használhatunk a rendszer frissítésére (''update'') és mentésére (''backup''). Készítsünk először szimbólikus linket, hogy parancssorból könnyen elérhető legyen a szkript:

  ln -s /var/mayor/bin/mayor /usr/local/sbin

Majd készítsünk saját konfigurációs állományokat a mentési és frissítési feladatokhoz:

  cp /var/mayor/config/main.conf.example /var/mayor/config/main.conf
  chmod 600 /var/mayor/config/main.conf
  editor /var/mayor/config/main.conf
  ...

Itt adhatjuk meg a mentési könyvtárat, illetve a MySQL adatbázisok mentéséhez és az adatbázis frissítések elvégzéséhez szükséges 
felhasználói azonosítót és jelszót (dump készítéshez legyen joga és a frissítendő adatbázisokon teljes jogosultságú felhasználó legyen!).
A frissítéssel kapcsolatban beállíthatjuk, hogy mely modulokat frissítsen a parancs (alapértelmezés szerint: mayor-base, mayor-naplo).

A frissítés a ''/var/mayor/log/revision'' állományból tudja, hogy a rendszer épp melyik változaton áll, így ennek kezdeti értékét is be kell állítani.
Erre a célra tökéletesen megfelel, ha a ''/var/mayor/log/mayor-base.rev'' állományt másoljuk le ''revision'' néven:

  cp /var/mayor/log/mayor-base.rev /var/mayor/log/revision

A mentést, frissítést rendszeressé tehetjük, ha egy erre szolgáló szkriptet ''cron''-ból hívunk meg:

  ln -s /var/mayor/bin/etc/cron.daily/mayor /etc/cron.daily

Ez a script alapértelmezés szerint napi mentést és vasárnaponként frissítést végez, de szükség szerint átalakítható (akkor persze a szimbolikus link helyett a skript másolatával érdemes dolgozni).

Tovább növelhetjük a biztonságot, ha a mentést rögtön egy másik számítógépre is átmásoljuk (pl scp-vel).

==== Szimbolikus linkek és jogosultságok ====

A webszerver számára hozzáférhetővé kell tenni bizonyos könyvtárakat:

  chown -R www-data /var/mayor/download
  chown -R www-data /var/mayor/www/wiki/conf
  chown -R www-data /var/mayor/www/wiki/data

A publikus és szülői oldalakon úgy tudjuk elérhetővé tenni az egyes oldalakat, ha szimbolikus linket készítünk a private-on
belüli megfelelőjükre. Például, ha szeretnénk elérhetővé tenni az Órarendet a publikus oldalakon, akkor két szimbolikus linkre
is szükség lesz:

  ln -s /var/mayor/www/policy/private/naplo/tanev/orarend-pre.php /var/mayor/www/policy/public/naplo/tanev/
  ln -s /var/mayor/www/policy/private/naplo/tanev/orarend.php /var/mayor/www/policy/public/naplo/tanev/

Alapértelmezett telepítés esetén elég sok ilyen oldal lesz. A szükséges könyvtárak és linkek elkészítését az alábbi szkript végezheti:

  parentSymlink="naplo/hibabejelento/hibabejelento naplo//szulinap naplo/haladasi/haladasi naplo/haladasi/stat naplo/osztalyozo/diak
      naplo/osztalyozo/jegy naplo/osztalyozo/dolgozat naplo/osztalyozo/bizonyitvany naplo/osztalyozo/stat
      naplo/bejegyzesek/bejegyzesek naplo/tanev/fogadoOra naplo/tanev/helyettesites naplo/tanev/munkaterv naplo/tanev/orarend
      naplo/intezmeny/valtas naplo/hianyzas/diak naplo/hianyzas/diakLista naplo/hianyzas/nap naplo/uzeno/uzeno naplo/ertekeles/ertekeles
      portal/hirek/egyhir"
  
  publicSymlink="naplo/tanev/orarend naplo/tanev/szabadTerem naplo/tanev/helyettesites"
  BASEDIR="/var/mayor"
  POLICIES="parent public"
  
  for POLICY in $POLICIES; do
    eval "LIST=\$${POLICY}Symlink"
    for f in $LIST; do
        DIR=`echo $f | cut -d / -f 1-2`
        if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
            echo "    Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
            mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
        fi
        FILES="$f-pre.php $f.php"
        for file in $FILES; do
            if [ ! -e $BASEDIR/www/policy/$POLICY/$file ]; then
                if [ -f $BASEDIR/www/policy/private/$file ]; then
                    echo "      $BASEDIR/www/policy/private/$file --> $BASEDIR/www/policy/$POLICY/$file"
                    ln -s $BASEDIR/www/policy/private/$file $BASEDIR/www/policy/$POLICY/$file
                else
                    echo "      Hiányzó file: $BASEDIR/www/policy/private/$file"
                fi
            fi
        done
    done
  done

A fenti szkript lépéseit az update folyamat is elvégzi a main.conf-ban rögzített paraméterek alapján. Így, ha kényelmesebb megvárni az első
frissítést (mayor update), akkor azzal is elvégeztethető a feladat.

===== Belépés a MaYoR rendszerbe =====

Ezek után beléphetünk a korábban létrehozott ''mayoradmin'' azonosítóval. A rendszer kötelező jelszóváltoztatást ír elő. Írjuk be a régi, majd kétszer az új jelszót. A sikeres jelszóváltoztatás után végre valóban beléphetünk.

==== Új intézmény felvétele ====

A ''Napló'' menüpontra kattintva a program arra figyelmeztet minket, hogy nincs intézmény felvéve, és rögtön az intézmény felvétel elvégzésére szolgáló oldalra rak.

Adjuk meg az intézmény OM kódját, rövid nevét (egy kisbetűs, ékezet nélküli szó, 3-6 betű), hivatalos nevét, címét (később a napló nyomtatásakor szükség lesz rá), valamint a MySQL rendszergazda jelszavát - hogy létrehozhassa a program az intézményi adatbázist.

Az intézmény felvétele után újabb hibaüzenetet kapunk: nincs érvényes tanév felvéve.


==== Tanévek, szemeszterek felvétele ====

A hibaüzenet után a program az új tanév felvételére szolgáló oldalra továbbít minket. A feladatot itt is elvégezhetjük, de - a betöltendő adatok mennyisége miatt - kényelmesebb lehet egy sql dump állományból betölteni a szemeszterek adatait. A dump állomány például:

  $ cat szemeszter.dump
  LOCK TABLES `szemeszter` WRITE;
  INSERT INTO `szemeszter` VALUES 
  (1997,1,1,'tervezett','1997-09-01','1998-01-31'),(1997,2,2,'tervezett','1998-02-01','1998-06-30'),(1998,1,3,'tervezett','1998-09-01','1999-01-31'),
  (1998,2,4,'tervezett','1999-02-01','1999-06-30'),(1999,1,5,'tervezett','1999-09-01','2000-01-31'),(1999,2,6,'tervezett','2000-02-01','2000-06-30'),
  (2000,1,7,'tervezett','2000-09-01','2001-01-31'),(2000,2,8,'tervezett','2001-02-01','2001-06-30'),(2001,1,9,'tervezett','2001-09-01','2002-01-31'),
  (2001,2,10,'tervezett','2002-02-01','2002-06-30'),(2002,1,11,'tervezett','2002-09-01','2003-01-31'),(2002,2,12,'tervezett','2003-02-01','2003-06-30'),
  (2003,1,13,'tervezett','2003-09-01','2004-01-31'),(2003,2,14,'tervezett','2004-02-01','2004-06-30'),(2004,1,15,'tervezett','2004-09-01','2005-01-31'),
  (2004,2,16,'tervezett','2005-02-01','2005-06-30'),(2005,1,17,'tervezett','2005-09-01','2006-01-31'),(2005,2,18,'tervezett','2006-02-01','2006-06-30'),
  (2006,1,19,'tervezett','2006-09-01','2007-01-19'),(2006,2,20,'tervezett','2007-01-20','2007-06-15'),(2007,1,21,'tervezett','2007-09-03','2008-01-18'),
  (2007,2,22,'tervezett','2008-01-19','2008-06-13'),(2008,1,23,'tervezett','2008-09-01','2009-01-31'),(2008,2,24,'tervezett','2009-02-01','2009-06-30'),
  (2009,1,25,'tervezett','2009-09-01','2010-01-31'),(2009,2,26,'tervezett','2010-02-01','2010-06-30'),(2010,1,27,'tervezett','2010-09-01','2011-01-31'),
  (2010,2,28,'tervezett','2011-02-01','2011-06-30'),(2011,1,29,'tervezett','2011-09-01','2012-01-31'),(2011,2,30,'tervezett','2012-02-01','2012-06-30'),
  (2012,1,31,'tervezett','2012-09-01','2013-01-31'),(2012,2,32,'tervezett','2013-02-01','2013-06-30'),(2013,1,33,'tervezett','2013-09-01','2014-01-31'),
  (2013,2,34,'tervezett','2014-02-01','2014-06-30');
  UNLOCK TABLES;

Fontos, hogy mindegyik 'tervezett' státuszú. Ennek betöltése:

  cat szemeszter.dump | mysql -p intezmeny_[rovid]

Ahol '[rovid]' az intézmény rövid neve.

A szemeszterek betöltése után aktivvá tehetünk tanéveket (tanév megnyitása) - ekkor jönnek létre a tanév adatait tároló adatbázisok. Ehhez a tanév kiválasztása után a MySQL rendszergazdai jelszót kell csak megadnunk.

Ha van aktív tanév, akkor a korábbi hibaüzenet eltűnik és helyette egy kék keretes figyelmeztető üzenetet kapunk, ami arra hívja fel a figyelmet, hogy a tanév adatai nincsenek felvéve (éves munkaterv, órarend, tankörök). 


===== Adatok felvitele =====

Az adatok betöltése a munka legnagyobb része. Fontos, hogy az adatfelvitelnek van egy logikus sorrendje, hiszen az egyes adatok egymásra épülhetnek. Órarendet betölteni például csak akkor van értelme, csak akkor lehet, ha már fent van az összes tanár adata, munkaközösségekbe sorolva, renden vannak a tárgyak, a termek, és ki vannak alakítva a tankörök is.

==== Tanárok felvétele ====

A tanárokat [[naplo:intezmeny:tanar#Tanárok felvétele adatállományból|adatállományból érdemes betölteni]], bár felvehetjük őket egyesével is a felületről.

==== Osztályok felvétele ====

Az új osztályokat (esetleg osztályfőnökkel, de tagok nélkül egyelőre) a felületről vehetjük fel legkönnyebben: [[naplo:intezmeny:osztaly|Napló/Intézményi adatok/Osztályok]].

==== Diákok felvétele ====

A diákokat rögtön osztályokba sorolva vehetjük fel adatállományból: [[naplo:intezmeny:osztaly#Osztály tagjainak felvétele/frissítése adatállományból|Napló/Intézményi adatok/Osztályok]]

==== Munkaközösségek/Tárgyak felvétele ====

A munkaközösség elnevezés kissé félrevezető. Valójában inkább a tanárok végzettségéről van szó, ez határozza meg, hogy ki milyen tárgyat taníthat, milyen órát helyettesíthet szakszerűen. Egy tanár természetesen több munkaközösségbe is beletartozhat.

Az új tárgyakat a felületről vehetjük legkönnyebben: [[naplo:intezmeny:munkakozosseg|Napló/Intézményi adatok/Munkaközösségek]] (munkaközösség vezetőkkel,tagokkal, tárgyakkal).

==== Éves munkaterv betöltése ====

Az éves munkaterv lényege, hogy rögzítse a tanév tanítási napjainak, speciális tanítási napjainak, tanításnélküli munkanapjainak és tanítási szünetek dátumát, valamint több hetes órarend esetén ezek beosztását.

Az éves munkaterv felvétele a [[naplo:tanev:munkaterv|Tanév adatok/Éves munkaterv]] menüpont alatt történhet.

==== Termek adatainak felvétele ====

A temek adatait közvetlenül az intézményi adatbázis ''terem'' táblájába tölthetjük SQL szinten, vagy az [[naplo:admin:import|Admin/Import]] menüpont alatt. A tábla mezői:

  teremId  | smallint(5) unsigned                                                                                                                                                               
  leiras   | varchar(64)                                                                                                                                                                        
  ferohely | tinyint(3) unsigned                                                                                                                                                                
  tipus    | set('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb') 

==== Tankörök felvétele ====

Az egyik legnagyobb feladat - különösen egy épp induló intézmény esetén - a [naplo:intezmeny:tankor|tankörök felvétele]]. Ugyanakkor a tankörök alkotják a rendszer alapját, így ezek felvétele és karbantartása kiemelten fontos feladat.

==== Órarend betöltése ====

Az órarend betöltés talán a másik egnehezebb feladat. Külön nehézsége, hogy általában nem lehet vele előre elkészülni, viszonylag szűk határidő van a betöltésre.
Az órarendet nem a MaYoR rendszerben készyítjük, hanem valamilyen erre a célra készült szoftverrel. A további lépések nagyban függenek a használt programtól.

Alapvetően három lehetőségünk van:
  * Betöltjük az adatokat közvetlenül az ''orarendiOra'' táblába az [[naplo:admin:import|Admin/Import]] menüpont alatt, majd elvégezzük az [[naplo:orarend:orarendTankor|órarend-tankör összerendelést]]
  * Használjuk a prgram által biztosított [[naplo:orarend:orarendbetolto|órarend betöltő]] funkciót, valamelyik import modullal
  * Felvesszük az órarendet "kézzel", tanáronként az [[naplo:orarend:orarendmodositas|Órarend módosítás]] menüpont alatt.

==== Tanári és diák azonosítók generálása ====

Szükség esetén a ''tanar'' és ''diak'' tábla adatait felhasználva generálhatunk felhasználói azonosítókat: [[hogyan:Felhasználói azonosítók generálása]]

==== Szülői adatok felvétele ====

A szülők adatait általában a diákok adatival együtt kapjuk meg, egy táblázatban. A MaYoR rendszerben viszont a szülők adatai külön adattáblába kerülnek. Ez az használat során előnyös (pl. testvér gyerekek szülői adatai csak egy helyen lesznek eltárolva), de a betöltéskor nehézségeket okoz: [[hogyan:Szülői adatok betöltése]].