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)
5. Vienkārša instalēšana uz Ubuntu 8.04 LTS un 10.04 LTS
5.2. MOODLE instalēšana uz Ubuntu 8.04 un 10.04 servera
Raugoties MOODLE lietojumā ar nākotnes perspektivu, kurā sagaidāma pāreja uz versiju MOODLE 2.0, ieteicams arī pārinstalēt serveri uz atbilstoši jaunu versiju, šobrīd jaunākā stabilā ilglaicīga atbalsta versija ir Ubuntu Server 10.04 LTS. Par šāda servera instalēšanu lasiet materiālu L. Trukšāns, K. Krampis. Linux servera ieviešana (HTML e-grāmata).
MOODLE 2.0 sistēmas zemākās prasības:
* PHP 5.2.8 (izlaista 08-Dec-2008),
* Datu bāze viena no:
- MySQL 5.0.25 (ieteicams lietot InnoDB storage engine),
- vai PostgreSQL 8.3,
- vai Oracle 10.2,
- vai MS SQL 2005 vai jaunākas to versijas,
* Pilns atbalsts šādām pārlūkprogrammām:
- Firefox 3,
- Safari 3,
- Google Chrome 4,
- Opera 9,
- Microsoft Internet Explorer 7.
MOODLE 1.9 (konspekta tapšanas brīdī augstākā stabilā versija ir Moodle 1.9) ir zemākas servera versiju prasības, bet lietotāja pusē pilns atbalsts mācibu materiālu izstrādes rīkiem ir tikai Firefox un MS IE.
Tipiski Linux serveri tiek instalēti un lietoti bez grafiskās vides, tos administrē attālināti, izmantojot konsoli un ssh2, vai izmantojot tīmekļa pārlūkprogrammā Webmin rīku, retāk administrators sēž pie paša servera, arī tad izmanto konsoles komandas.
Aplūkosim instalāciju ar konsoles komandām. Ja serverim ir pieinstalēts un konfigurēts ssh2 dēmons, tad darbus var veikt attālināti pa tīklu no darbstacijas. Ja izmantojam Ubuntu Linux darbstaciju, palaižam rīku Lietotnes/ Piederumi/ Terminālis, bet ja izmantojam Microsoft Windows darbstaciju, ssh ērti lietot ar programmiņu Putty. Terminālī jeb konsolē rakstam komandu, IP adresi aizvietojot ar jūsu servera adresi:
ssh user@195.13.352.333 -p 1234
kur user ir servera administratīvā lietotāja logins, bet aiz -p 1234 vietā rakstam SSH portu, pēc Enter serveris pieprasīs paroli.
Ja sēžam tieši pie servera, tad uzreiz varam ķerties pie darba, šajā gadījumā ērta ir prakse blakus serverim nolikt datoru, kurā var lasīt instrukcijas grafiskajā vidē.
Tātad: MOODLE vajag tīmekļa serveri jeb Web serveri ar PHP un MySQL datu bāzu servisu, vēlāk vēlams pielikt SSL priekš drošām autentifikācijām.
MOODLE 2.0 sistēmas zemākās prasības:
* PHP 5.2.8 (izlaista 08-Dec-2008),
* Datu bāze viena no:
- MySQL 5.0.25 (ieteicams lietot InnoDB storage engine),
- vai PostgreSQL 8.3,
- vai Oracle 10.2,
- vai MS SQL 2005 vai jaunākas to versijas,
* Pilns atbalsts šādām pārlūkprogrammām:
- Firefox 3,
- Safari 3,
- Google Chrome 4,
- Opera 9,
- Microsoft Internet Explorer 7.
MOODLE 1.9 (konspekta tapšanas brīdī augstākā stabilā versija ir Moodle 1.9) ir zemākas servera versiju prasības, bet lietotāja pusē pilns atbalsts mācibu materiālu izstrādes rīkiem ir tikai Firefox un MS IE.
Tipiski Linux serveri tiek instalēti un lietoti bez grafiskās vides, tos administrē attālināti, izmantojot konsoli un ssh2, vai izmantojot tīmekļa pārlūkprogrammā Webmin rīku, retāk administrators sēž pie paša servera, arī tad izmanto konsoles komandas.
Aplūkosim instalāciju ar konsoles komandām. Ja serverim ir pieinstalēts un konfigurēts ssh2 dēmons, tad darbus var veikt attālināti pa tīklu no darbstacijas. Ja izmantojam Ubuntu Linux darbstaciju, palaižam rīku Lietotnes/ Piederumi/ Terminālis, bet ja izmantojam Microsoft Windows darbstaciju, ssh ērti lietot ar programmiņu Putty. Terminālī jeb konsolē rakstam komandu, IP adresi aizvietojot ar jūsu servera adresi:
ssh user@195.13.352.333 -p 1234
kur user ir servera administratīvā lietotāja logins, bet aiz -p 1234 vietā rakstam SSH portu, pēc Enter serveris pieprasīs paroli.
Ja sēžam tieši pie servera, tad uzreiz varam ķerties pie darba, šajā gadījumā ērta ir prakse blakus serverim nolikt datoru, kurā var lasīt instrukcijas grafiskajā vidē.
Tātad: MOODLE vajag tīmekļa serveri jeb Web serveri ar PHP un MySQL datu bāzu servisu, vēlāk vēlams pielikt SSL priekš drošām autentifikācijām.
1. Sagatavošanās MOODLE instalēšanai
Pakotņu avotu failā /etc/apt/sources.list noņem atkomentējošo restīti # pēdējām rindām, lai atļautu universe jeb Canonical's 'partner' repozitāriju pakas. Failu rediģēt var tikai ar administratora (root) tiesībām, tādēļ komanda sākas ar sudo, izmantosim teksta redaktoru nano:
sudo nano /etc/apt/sources.list
Atjaunina sistēmu:
sudo apt-get update
sudo apt-get dselect-upgrade
Parasti dara:
sudo apt-get update
sudo apt-get upgrade
Ja parādās paziņojums par pārstartēšanas nepieciešmību, to dara (tas ir joku teiciens "dzīve ir par īsu restartiem", kam sekot nevajag), piemēram, ja parādījies jauns kodols (kernel):
sudo reboot
Ideāli, ja Ubuntu serveris ir instalēts kā LAMP server (Linux, Apache2, MySQL, PHP), tad pārejam pie trešā punkta. LAMP pakotņu kopumu vienā paņēmienā var pieinstalēt ar sudo tasksel install lamp-server.
sudo nano /etc/apt/sources.list
Atjaunina sistēmu:
sudo apt-get update
sudo apt-get dselect-upgrade
Parasti dara:
sudo apt-get update
sudo apt-get upgrade
Ja parādās paziņojums par pārstartēšanas nepieciešmību, to dara (tas ir joku teiciens "dzīve ir par īsu restartiem", kam sekot nevajag), piemēram, ja parādījies jauns kodols (kernel):
sudo reboot
Ideāli, ja Ubuntu serveris ir instalēts kā LAMP server (Linux, Apache2, MySQL, PHP), tad pārejam pie trešā punkta. LAMP pakotņu kopumu vienā paņēmienā var pieinstalēt ar sudo tasksel install lamp-server.
2. Gadījumā, ja nav instalēts tīmekļa unn DB serveris, tos instalē
Instalē Apache, ja nav:
sudo apt-get install apache2 libapache2-mod-php5 php5-gd
Pieinstalē nepieciešamās Apache bibliotēkas un moduļus:
sudo apt-get install libapache2-mod-security php5-ldap php5-odbc
Pārstartē Apache:
sudo /etc/init.d/apache2 restart
Instalē PHP, ja nav:
PHP5 tiek instalēts kā Apache modulis:sudo apt-get install php5 libapache2-mod-php5
Lai varētu darbināt PHP skriptus komandrindā, pieinstalē:
sudo apt-get install php5-cli
Instalē MySQL, ja nav:
sudo apt-get install mysql-server php5-mysqlSpiež Y uz jautājumu.
Aizvieto NewRootDatabasePassword ar labu paroli, minimums 16 simboli garu un kompleksu. Starp -p un paroli nav atstarpes aiznākamajā rindā:
mysqladmin –u root password NewRootDatabasePassword
mysqladmin -u root -h localhost password NewRootDatabasePassword -pNewRootDatabasePassword
mysqladmin -u root -h localhost password NewRootDatabasePassword -pNewRootDatabasePassword
Vienkāršākais veids kā pieinstalēt Apache2, PHP un MySQL ir konsolē ierakstīt:
sudo tasksel
un negrafiskās izvēles zilajā logā no servera lomu saraksta izvēlēties LAMP.
Vienkāršāko darbu izpildes veidu bieži var atrast, pirms darbu sākšanas, instrukciju izlasot līdz galam.
Ja kādas pakas instalācija ir neveiksmīga, to var atinstalēt ar
sudo apt-het remove --purge pakasvards
atslēga --purge novāks arī kļūdainos konfigurācijas failus (tipiski - bez tās Linux konfigurācijas failus nedzēš, jo tā vajag augšupatjaunināšanas gadījumā).
3. Apache aizsardzība
Vispārzināma relatīvi mazas "dzelžu" jaudas serveru problēma ir pakalpojuma atteice sakarā ar kaitniecisku pārslodzi (ja skat. Wikipedia par DoS un DDoS). Šīs problēmas vienkāršs un samērā efektīvs risinājums ir Apache2 modulis mod_evasive, kas neļauj no 1 IP adreses sekundē veikt lieki daudz pieprasījumu.
Uz Debian un Ubuntu serveriem moduļa instalācija ir vienkārša:
apt-get install libapache2-mod-evasive
Par evasive moduļa darbību liecina draudzīgs izteikums "Forbidden", ja strauji refrešo kādu lappusi (vecajai Ubuntu 6.06 versijā šis modulis nav pieejams, līdz ar to ir iemeslis pāriet uz jaunāku). Šis risinājums tomēr ir vienkāršāk, kā mocīties ar IPS, mod_security, mod_qos un sarežģītiem ugunsmūriem., tomēr ļoti lielas slodzes serveriem ir nepieciešams veidot dinamisko ugunsmūri.
Ļoti lielo serveru administratoriem šī problēmiņa nav aik aktuāla, jo viņi kaitēkļus "ņem uz masu". Katrā ziņā atteikties no Apache2 security moduļa diez vai vajag, tāpēc 2. punkta instalācijās tas bija iekļauts, ja to izlaidāt:
apt-get install libapache2-mod-security
(ja konkrētai versijai tas neder, tad libapache-mod-security).
PHP drošības uzlabošanai var aizliegt php.ini failā dažas PHP funkcijas:
disable_functions = dl,system,exec,passthru,shell_exec
Terminālī rakstam:
sudo apt-get install moodle
Uzmanīgi sekojam dialogam monitorā.
Tiks pieinstalētā dotā servera laidienā iekļautā MOODLE versija ar atjauninājumiem. Šādai pieejai ir savi plusi - MOODLE atjauninājumi notiks automātiski reizē ar operētājsistēmas atjauninājumiem bez speciālām manipulācijām. Mīnusi - ar laiku izrādisies, ja jums nav jaunākā MOODLE versija.
Ja MOODLE e-mācibu videi ir www.nic.lv vai līdzvērtīgā reģistrā izveidots DNS vārds, tad /etc/apache2/sites-available jāizveido atbilstošs konfigurācijas fails, piemēram:
cd /etc/apache2/sites-available
sudo cp default moodlevirtualhost
ar šada tipa saturu:
virtuālo hostu fails ir jāpielinko /etc/apache2/sites-enabled un jāpārstartē Apache2:
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) portiem kāuz izejošo, tā visu ienākošo trafiku.
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
Uz Debian un Ubuntu serveriem moduļa instalācija ir vienkārša:
apt-get install libapache2-mod-evasive
Par evasive moduļa darbību liecina draudzīgs izteikums "Forbidden", ja strauji refrešo kādu lappusi (vecajai Ubuntu 6.06 versijā šis modulis nav pieejams, līdz ar to ir iemeslis pāriet uz jaunāku). Šis risinājums tomēr ir vienkāršāk, kā mocīties ar IPS, mod_security, mod_qos un sarežģītiem ugunsmūriem., tomēr ļoti lielas slodzes serveriem ir nepieciešams veidot dinamisko ugunsmūri.
Ļoti lielo serveru administratoriem šī problēmiņa nav aik aktuāla, jo viņi kaitēkļus "ņem uz masu". Katrā ziņā atteikties no Apache2 security moduļa diez vai vajag, tāpēc 2. punkta instalācijās tas bija iekļauts, ja to izlaidāt:
apt-get install libapache2-mod-security
(ja konkrētai versijai tas neder, tad libapache-mod-security).
PHP drošības uzlabošanai var aizliegt php.ini failā dažas PHP funkcijas:
disable_functions = dl,system,exec,passthru,shell_exec
4. Izveido Moodle datu bāzi
Izveido datu bāzi moodle un lietotāju moodle-user (var dot slepenākus nosaukumus) MySQL datu bāzu vadības sistēmā. To var darīt ari ar phpMyAdmin rīku vai phpAdministrator utilītu, vai komadrindā:mysql -u root -p
> CREATE DATABASE moodle;
> CREATE DATABASE moodle;
> GRANT ALL ON moodle.* TO moodle-user@localhost IDENTIFIED BY 'NewMoodleDatabasePassword';
> FLUSH PRIVILEGES;
> QUIT
> QUIT
5. Instalē citas noderīgas lietas
Instalē pārējo, tajā skaitā antivīrusu ClamAV, kas pārbaudīs augšuplādētos failus, kā arī varēs administrators manuāli noskanēt datu direktorijas (aizsardzību reālā laika režīmā tas nepiedāvā, un to arī Linux serverim nevajag).Terminālī rakstam:
sudo apt-get install ntp-simple openssh-server unattended-upgrades
sudo apt-get install unzip zip aspell-en aspell-fr aspell-de aspell-es
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
sudo /etc/init.d/apache2 restart
sudo apt-get install clamav-base clamav-freshclam clamav
sudo apt-get install unzip zip aspell-en aspell-fr aspell-de aspell-es
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
sudo /etc/init.d/apache2 restart
sudo apt-get install clamav-base clamav-freshclam clamav
6. Beidzot instalējam MOODLE
Instalējot komandrindā, viss ir vienkārši:sudo apt-get install moodle
Uzmanīgi sekojam dialogam monitorā.
Tiks pieinstalētā dotā servera laidienā iekļautā MOODLE versija ar atjauninājumiem. Šādai pieejai ir savi plusi - MOODLE atjauninājumi notiks automātiski reizē ar operētājsistēmas atjauninājumiem bez speciālām manipulācijām. Mīnusi - ar laiku izrādisies, ja jums nav jaunākā MOODLE versija.
Ja MOODLE e-mācibu videi ir www.nic.lv vai līdzvērtīgā reģistrā izveidots DNS vārds, tad /etc/apache2/sites-available jāizveido atbilstošs konfigurācijas fails, piemēram:
cd /etc/apache2/sites-available
sudo cp default moodlevirtualhost
ar šada tipa saturu:
<VirtualHost *:80>
ServerAdmin webmaster@mymoodleserver.dyndns.org
#
DocumentRoot /usr/share/moodle/
ServerName mymoodleserver.dyndns.org
ServerAlias www.mymoodleserver.dyndns.org mymoodleserver.dyndns.org
#RewriteEngine On
#RewriteOptions inherit
</VirtualHost>
ServerAdmin webmaster@mymoodleserver.dyndns.org
#
DocumentRoot /usr/share/moodle/
ServerName mymoodleserver.dyndns.org
ServerAlias www.mymoodleserver.dyndns.org mymoodleserver.dyndns.org
#RewriteEngine On
#RewriteOptions inherit
</VirtualHost>
virtuālo hostu fails ir jāpielinko /etc/apache2/sites-enabled un jāpārstartē Apache2:
sudo ln -s /etc/apache2/sites-available/moodlevirtualhost /etc/apache2/sites-enabled
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 restart
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) portiem kāuz izejošo, tā visu ienākošo trafiku.
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';
Tomēr MOODLE instalēšana no Ubuntu repozitārijiem nedos jaunāko versiju , tā, piemēram, Ubuntu 10.04 LTS iznāca 2010. gada aprīlī, bet MOODLE 2.0 - novembrī, tātad - šī MOODLE versija būs tikai nākamajā Ubuntu LTS laidienā. Toties aplūkotā instalācija automātiski saņems versijas atjauninājumus. Līdz ar to viegli ieraudzīt, ka jaunāko versiju ieviešanai arī šis nebija optimālākais risinājums un instalēsim manuāli.