I. Gorbāns. E-mācību vides MOODLE instalēšana, administrēšana, uzturēšana
I. Gorbāns. E-mācību vides MOODLE instalēšana, administrēšana, uzturēšana (e-grāmata informātikas skolotājiem, MOODLE menedžeriem, skolu datortīklu administratoriem)
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.
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
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
# /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
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
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).$CFG->wwwroot = 'http://mymoodleserver.dyndns.lv/moodle';
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