I. Gorbāns. E-mācību vides MOODLE instalēšana, administrēšana, uzturēšana

6. Pielāgota instalēšana

Vispirms izpildam ieprieksējā sadaļā MOODLE instalēšana uz Ubuntu 8.04 un 10.04 servera aprakstītos punktus 1 līdz 5. Ja vēlamies instalēt jaunāku versiju nekā servera laidiens piedāvā, veicam manuālu versijas lejuplādi un instalēšanu ar rokām. Tipiski pēc tam tāpat nāksies ar rokām veikt atjauninājumus uz nākamājām versijām.

1. Jaunākās versijas manuāla instalēšana

Terminālī:

cd /var/www

Izveido MOODLE portāla atrašanās mapi, uz to Apache sistēmas lietotājam www-data pēc instalācijas pabeigšanas liek lasīšnas un palaišanas-meklēšanas tiesības, bet sākumā var uzlikt pilnu kontroli (0777), lai sarakstās konfigurācijas fails (-R nozīmē rekursīvi, pa visu katalogu dziļumā):

sudo mkdir /var/www/moodle


sudo chmod -R 0770 /var/www/moodle
(jo instalēšanas gaitā Apache, kas irt ar lietotāju www-data jāvar modificēt šīs mapes datus, gatavai sistēmai te varam uzlikt mazliet "paranoisko" 0750 vai 0755). Failu tiesības: 7 - viss atļauts (lasīt, rakstīt, palaist un meklēt), 5- lasīt un palaist. 0 - nekas nav atļauts (sikāk skat. tālāk).

Izveido MOODLE datu mapi, uz to www-data ir pilna kontrole:

sudo mkdir /var/moodledata

sudo chown -R root:www-data /var/moodledata /var/www/moodle

vai

sudo chown -R rootuser:www-data /var/moodledata /var/www/moodle

sudo chmod -R 0770 /var/moodledata

Lejuplādē instalācijas failu arhīvu un atarhivē to mapē /var/www/moodle:

sudo wget http://download.moodle.org/stable19/moodle-latest-19.tgz

sudo tar -zxf moodle-latest-19.tgz

Konfigurē Moodle saitu līdzīgi kā aprakstīts iepriekšējā sadaļā.

Instalāciju pabeidz tīmekļa pārlūkprogrammā, uzmanīgi un uzgaidot izejot vedni:
http://localhost/moodle 
vietā atālināti rakstam 
http://servera_IP_adrese vai DNS_vaards/moodle

Lai MOODLE serveri varētu lietot, ugunsmūrī un maršrutētājā (rooter) ir jābūt atļautiem 80 un 443 (http and https, ja pēdējo lieto) portiem kā uz izejošo, tā visu ienākošo trafiku. Ar

ifconfig

(apskata servera IP adresi) un pārbauda no cita datora, vai strādā.


Ja nepieciešams, rediģējam MOODLE konfigurācijas failu (parasti nevajag):

sudo nano /etc/moodle/config.php

tur, piemēram,

$CFG->wwwroot = 'http://mymoodleserver.dyndns.lv/moodle';

(tad ielogošanās būs http://mymoodleserver.dyndns.lv).

2. Vienkāršs ugunsmūra risinājums

Lietderigi ir arī Linux serveriem lietot ugunsmūri, tomēr nelieliem, piemēram, skolas serveriem nav vienmēr obligāti veidot dinamisko ugunsmūri. Vienkāršs un efektīvs risinājums kā serveriem, tā darbstacijām ir fails /etc/hosts.deny, darbstacijām pietiek atkomentēt rindu ALL: PARANOID, bet serveros ir jālaiž cauri nepieciešamie servisi:

# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: some.host.name, .some.domain
# ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.

# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
ALL: PARANOID

sshd: ALL EXCEPT 195.13.152.333, 195.13.152.444, 195.13.152.555
mysqld: ALL EXCEPT 195.13.152.333, 195.13.152.444, 195.13.152.55
mysql: ALL EXCEPT 195.13.152.333, 195.13.152.444, 195.13.152.555
samba: ALL EXCEPT 195.13.152.0/24, 195.13.159.0/24, 213.175.114.0/23
vsftpd: ALL EXCEPT 195.13.152.0/24, 185.13.159.0/24, 213.175.114.0/23
smb: ALL EXCEPT 195.13.152.0/24, 195.13.159.0/24, 213.175.114.0/23
#un veel kas par dns laikam vajag

3. Papildmateriāls: Failu tiesības Linux konsolē

Lai saprastu 1. punktā aprakstītās darbības ar failu tiesībām, atkārtosim pamatliets.

Linux slēpto failu un mapju nosaukumi sākas ar pumktu ".". ar "/" sākas absolūto ceļu norādes no failsistēmas sākuma kataloga. "./" norāda uz to pašu mapi kurā atrodas, bet "../" uz vienu līmeni katalogā augstāku mapi.

Failu īpašības var apsaktīt grafiski tikai daļēji. ls komandai ir apslēgas:
-a rādit slēptos failus
-F marķē direktorijas ar "/" un palaižamos failus ar "*"
-l parāda pilnajā formā
-t biežāk modificētos rāda vispirms
-s rāda failu izmēru 1K blokos
-h rāda failu izmērus ikdienišķā veidā (piem, 4096 vietā 4.0k), kompinē ar -l (ls -hl)
-r parāda failus reversivi
-R parāda direktoriju saturu rekursīvi- pilnībā saturu uzrāda.

Linux ir trīs līmeņu failu piekļuves tiesības: lietotājs-īpašnieks (owner), grupa (group), jebkurš (everyone), to redz grafiski vai ar ls -l, kas atgriež, piemēram,
drwxr-xr-x (direktorijai)
-rw-r--r-- (failam)
pirmais "d" ir direktorijām, "-" failiem. Nākamie 9 simboli ir 3x3 pa grupām- owner, group, everyone. Tiesības ir "r"- read, "w"- write, "x"- execute, un "-" ir denied (nav tiesību). Piem:
-rwx-r--r- ir fails ar kuru īpašnieks var visu, bet citi tikai lasīt
drwx------ ir mape ar kuru īpašnieks var visu bet citi neko.
w bez r nedod, jo nevarēs pierakstīt klāt kad iepriekšējo neredz. Viens lietotājs var būt vairākās grupās (ap 16?), bet uz vienu katalogu var norādīt tikai vienas grupas tiesības, ja kas īpašs, taisa jaunu grupu, kas apvieno divas citas grupas.
Tiesības maina ar chmod komandu stilā who+/-what.
chmod u-w file noņems faila lasīšanas tiesibas no lietotāja paša
chmod go-rwx file noņems citiem tiesības.

Bieži lieto tiesību numerisko pierakstu, kurā pilnas tiesibas ir 777, bet, piemēram 660 ir lietotājam un grupai lasīt un rakstīt. 755- sev visas tiesības bet citiem rakstīt un palaist.
Numeriskā un klasiskā pieraksta atbilstība:
--- -> 0
--x -> 1
-w- -> 2
-wx -> 3
r-- -> 4
r-x -> 5
rw- -> 6
rwx -> 7
kur 4- lasīt (r), 2- rakstīt (w), 1- palaist (x). 4+2+1=7

Failu tiesibas var mainīt ar FTP kjlienta programmām, bet ne visām; der: gFTP, CuteFTP, Voyager FTP, Leech FTP, Total Commander (Windows Commander), WS FTP, Windows Explorer (MS Windows XP My Network Places).

Īpašnieku un grupu norāda ar chown komandu:
sudo chown -R rootuser:www-data /var/moodledata

Tiesības uzliek ar chmod komandu:
sudo chmod -R 0555 /var/www/moodle

Piemērs Web servera mapes sarežģītākai konfigurēšanai:
1. rinda visam lapas direktoriju kokam uzliek owneri root un grupu root;
2. uzliek visam, ka neroot to var vienīgi lasīt;
3. uzliek, ka visi var "executot" (pārmeklēt) mapes;
4. uzliek, ka useri ārpus root grupas var rakstīt apakšmapi ar datiem):
chown -R root:root /mape-ar-lapu
chmod -R 0644 /mape-ar-lapu
chmod -R a+X /mape-ar-lapu
chmod -R o+w /mape-ar-lapu/datu-mape

Sticky bit - tikai owners varēs dzēst:
chmod +t data

Group ID pielikšana (failam kā mapei)
chmod g+s data