Ինչպես տեղադրել Moodle LMS-ը Ubuntu 24.04 սերվերի վրա


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Կիզակետային Fossa)
  • Ubuntu 16.04 (Xenial Xerus)

Այս էջում

  1. Նախադրյալներ
  2. Կախվածությունների տեղադրում
  3. MariaDB սերվերի կարգավորում
  4. Տվյալների բազայի և օգտագործողի ստեղծում
  5. PHP-ի կարգավորում
  6. Moodle-ի սկզբնական կոդը ներբեռնվում է
  7. Apache վիրտուալ հոսթի կարգավորում
  8. Moodle-ի ապահովում UFW-ի հետ
  9. Moodle-ի ապահովում HTTPS-ով
  10. Moodle-ի տեղադրում
  11. Եզրակացություն

Moodle-ը հանրահայտ բաց կոդով հարթակ է, որն օգտագործվում է կրթական հաստատությունների կողմից ամբողջ աշխարհում՝ առցանց դասընթացներ ստեղծելու, բովանդակությունը կառավարելու և համագործակցային ուսուցումը հեշտացնելու համար: Ubuntu-ում Moodle-ի գործարկումը սովորական ընտրություն է՝ շնորհիվ Ubuntu-ի կայունության, անվտանգության և ծրագրային փաթեթների լայն շրջանակի աջակցության: Գործընթացը ներառում է այնպիսի անհրաժեշտ բաղադրիչների տեղադրում, ինչպիսիք են Apache-ը կամ Nginx-ը որպես վեբ սերվեր, MySQL կամ PostgreSQL՝ որպես տվյալների բազա, և PHP-ը՝ որպես սկրիպտավորման լեզու, որոնք բոլորն էլ լավ աջակցվում են Ubuntu-ում: Այս կարգավորումը թույլ է տալիս հաստատություններին ստեղծել ամուր, մասշտաբային և հարմարեցված առցանց ուսուցման միջավայր, որը կարող է հարմարեցվել հատուկ կրթական կարիքներին:

Այս ձեռնարկում մենք ձեզ ցույց կտանք, թե ինչպես տեղադրել Moodle-ը Ubuntu 24.04 սերվերի վրա: Դուք Moodle-ը կտեղադրեք LAMP Stack-ով, այնուհետև կապահովեք Moodle-ը UFW-ով և HTTPS-ով Certbot-ի և Letsencrypt-ի միջոցով:

Նախադրյալներ

Նախքան սկսելը, համոզվեք, որ ունեք հետևյալը.

  • Ubuntu 24.04 սերվեր:
  • Ոչ արմատական օգտվող, ադմինիստրատորի արտոնություններով:
  • Դոմեյն անուն, որը մատնանշված է սերվերի IP հասցեին:
  • UFW firewall-ը գործում է և աշխատում է:

Կախվածությունների տեղադրում

Moodle-ը PHP-ով գրված բաց կոդով ուսուցման հարթակ է: Moodle-ը տեղադրելու համար ձեզ հարկավոր են Apache/Nginx, MySQL/MariaDB/PostgreSQL և PHP: Այս բաժնում դուք կտեղադրեք LAMP Stack-ը (Linux, Apache, MariaDB և PHP) Ubuntu-ում և տեղադրեք Moodle-ը դրա վերևում:

Սկսելու համար գործարկեք հետևյալ հրամանը և թարմացրեք ձեր Ubuntu փաթեթի ինդեքսը:

sudo apt update

Այժմ կատարեք ստորև նշված հրամանը՝ LAMP Stack (Apache, MariaDB և PHP) կախվածությունները տեղադրելու համար: Մուտքագրեք «Y»՝ տեղադրումը հաստատելու համար:

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php

Տեղադրումն ավարտվելուց հետո ստուգեք Apache ծառայության կարգավիճակը ստորև նշված հրամանով:

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Հետևյալում կարող եք տեսնել, որ Apache վեբ սերվերն աշխատում է:

Ստուգեք MariaDB տվյալների բազայի սերվերը հետևյալ հրամանով. Դուք կտեսնեք, որ MariaDB սերվերն աշխատում է:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Ի վերջո, ստուգեք PHP տարբերակը և միացված ընդլայնումները հետևյալով.

php -v
php -m

Դուք կտեսնեք, որ PHP 8.3-ը տեղադրված է ձեր Ubuntu սերվերում:

MariaDB սերվերի կարգավորում

Կախվածությունները տեղադրվելուց հետո դուք պետք է փոխեք լռելյայն MariaDB պահեստավորման շարժիչը «InnoDB»-ի, որը պահանջվում է Moodle-ի կողմից: Դա կարելի է անել՝ խմբագրելով MariaDB սերվերի կոնֆիգուրացիան: Եվ հետո, դուք նաև կապահովեք MariaDB սերվերի տեղակայումը՝ օգտագործելով «mariadb_secure_installation» կոմունալը:

Բացեք MariaDB սերվերի կազմաձևման ֆայլը «/etc/mysql/mariadb.conf.d/50-server.cnf» «nano» խմբագրիչով:

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Ավելացրեք հետևյալ կոնֆիգուրացիան «[mysqld]» բաժնում: Սա կփոխի լռելյայն պահպանման շարժիչը «innodb»-ի:

innodb_file_format = Barracuda 
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1

Պահպանեք ֆայլը և դուրս եկեք խմբագրիչից:

Այժմ գործարկեք «systemctl» հրամանը ստորև՝ MariaDB սերվերը վերագործարկելու և ձեր փոփոխությունները կիրառելու համար:

sudo systemctl restart mariadb

Ի վերջո, գործարկեք «mariadb_secure_installation» հրամանը ստորև՝ MariaDB արմատային օգտվողը կարգավորելու և ձեր տեղակայումը ապահովելու համար:

sudo mariadb_secure_installation

Գործընթացի ընթացքում ձեզ կհարցնեն հետևյալը.

  • Լռելյայն MariaDB սերվերի առանց արմատային գաղտնաբառի տեղադրման համար սեղմեք ENTER, երբ գաղտնաբառի մասին հարցնում են:
  • MariaDB արմատային օգտվողների համար տեղական նույնականացումը ապահովված է լռելյայնորեն, մուտքագրեք «n», երբ խնդրվում է նույնականացման մեթոդը փոխել «unix_socket»-ի:
  • Մուտքագրեք «Y»՝ նոր MariaDB արմատային գաղտնաբառ ստեղծելու համար: Այնուհետև մուտքագրեք ուժեղ գաղտնաբառը ձեր MariaDB արմատային օգտվողի համար և կրկնեք:
  • MariaDB արմատական օգտագործողի համար հեռակա նույնականացումն անջատելու խնդրանքով, համաձայնության համար մուտքագրեք «Y»:
  • MariaDB սերվերի լռելյայն տեղադրումը գալիս է տվյալների բազայի «փորձարկում» և թույլ է տալիս անանուն օգտագործողին մուտք գործել այն: Մուտքագրեք «Y» երկու կարգավորումների համար՝ կանխադրված տվյալների բազայի «թեստը» հեռացնելու և անանուն արտոնությունը հեռացնելու համար:
  • Վերջապես, մուտքագրեք «Y»՝ աղյուսակի վերաբեռնման արտոնությունները հաստատելու համար:

Տվյալների բազայի և օգտագործողի ստեղծում

Այժմ, երբ դուք կարգավորել եք MariaDB սերվերը, եկեք ստեղծենք նոր տվյալների բազա և օգտվող «mariadb» հաճախորդի միջոցով:

Մուտք գործեք MariaDB սերվեր՝ ստորև «mariadb» հաճախորդի հրամանով: Մուտքագրեք ձեր MariaDB արմատային գաղտնաբառը, երբ ձեզ հուշեն:

sudo mariadb -u root -p

Այժմ կատարեք հետևյալ հարցումները՝ «moodle» նոր տվյալների բազա, «moodle» օգտվող ստեղծելու համար և համոզվեք, որ փոխել եք գաղտնաբառը ձեր տեղեկություններով:

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
QUIT

PHP-ի կարգավորում

Այս բաժնում դուք կխմբագրեք «php.ini» PHP կոնֆիգուրացիան և կփոխեք որոշ կանխադրված արժեքներ, որոնք պահանջվում են Moodle-ի կողմից:

Բացեք PHP կոնֆիգուրացիան '/etc/php/8.3/apache2/php.ini' 'nano' խմբագրիչով:

sudo nano /etc/php/8.3/apache2/php.ini

Փոխեք լռելյայն կոնֆիգուրացիան հետևյալով. Համոզվեք, որ հարմարեցրեք «հիշողության_սահմանը» և «date_timezone» տարբերակները ձեր տեղեկություններով:

memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000

Ավարտելուց հետո պահեք ֆայլը և դուրս եկեք:

Վերջապես, գործարկեք ստորև նշված հրամանը՝ Apache վեբ սերվերը վերագործարկելու և ձեր փոփոխությունները PHP-ում կիրառելու համար:

sudo systemctl restart apache2

Moodle-ի սկզբնական կոդը ներբեռնվում է

Այս պահին դուք տեղադրել և կարգավորել եք LAMP Stack-ը: Ներբեռնենք Moodle-ի սկզբնական կոդը և կազմաձևենք Moodle-ի տեղադրման գրացուցակը:

Գնացեք «/var/www» գրացուցակ և ներբեռնեք Moodle-ի սկզբնական կոդը՝ օգտագործելով «wget» հրամանը: Համոզվեք, որ այցելեք Moodle-ի ներբեռնման էջը՝ վերջին տարբերակի հղումը ստանալու համար: Այս դեպքում դուք կներբեռնեք վերջին կայուն Moodle 40.4-ը:

cd /var/www
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz

Moodle-ը ներբեռնելուց հետո հանեք այն ստորև «tar» հրամանով: Moodle-ի սկզբնական կոդը հասանելի կլինի «/var/www/moodle» գրացուցակում:

tar xvf moodle-latest-404.tgz

Վերջապես, կատարեք ստորև նշված հրամանը՝ «/var/www/moodledata» նոր տվյալների գրացուցակ ստեղծելու համար, փոխեք Moodle գրացուցակի սեփականությունը «www-data» օգտագործողի, և Համոզվեք, որ ինչպես Moodle-ը, այնպես էլ տվյալների գրացուցակը գրավոր են «www-data» օգտվողի կողմից:

sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

Apache վիրտուալ հոսթի կարգավորում

Ներբեռնված Moodle-ով դուք կստեղծեք նոր Apache-ի վիրտուալ հոսթ ֆայլ՝ Moodle-ը գործարկելու համար: Այսպիսով, համոզվեք, որ ձեր տիրույթը պատրաստ է և լուծված է ձեր Ubuntu սերվերի IP հասցեով:

Նախ գործարկեք «a2enmod» հրամանը ստորև՝ «վերագրել» մոդուլն ակտիվացնելու համար:

sudo a2enmod rewrite

Ստեղծեք նոր Apache վիրտուալ հոսթի ֆայլ «/etc/apache2/sites-available/moodle.conf» հետևյալ «nano» խմբագրիչով:

sudo nano /etc/apache2/sites-available/moodle.conf

Տեղադրեք հետևյալ կոնֆիգուրացիան և համոզվեք, որ փոխեք տիրույթի անունը ձեր տեղեկություններով:

<VirtualHost *:80>
 DocumentRoot /var/www/moodle/
 ServerName moodle.howtoforge.local
 ServerAdmin [email 
 
 <Directory /var/www/moodle/>
 Options +FollowSymlinks
 AllowOverride All
 Require all granted
 </Directory>
 ErrorLog /var/log/apache2/moodle_error.log
 CustomLog /var/log/apache2/moodle_access.log combined
</VirtualHost>

Պահպանեք ֆայլը և ավարտին հասցրեք խմբագրիչը:

Այժմ կատարեք հետևյալ հրամանը՝ «moodle.conf» ֆայլը միացնելու և ձեր Apache-ի շարահյուսությունը ստուգելու համար: Եթե ունեք Apache-ի ճիշտ շարահյուսություն, կտեսնեք «Սինտաքսը լավ է»:

sudo a2ensite moodle.conf
sudo apachectl configtest

Ի վերջո, գործարկեք «systemctl» հրամանը՝ Apache-ն վերագործարկելու և ձեր փոփոխությունները կիրառելու համար:

sudo systemctl restart apache2

Moodle-ի ապահովում UFW-ի հետ

Այս քայլում դուք կբացեք HTTP և HTTPS արձանագրությունները UFW-ի (Uncomplicated Firewall) միջոցով: Համոզվեք, որ դուք UFW-ն աշխատում եք նախքան սկսելը:

Գործարկեք ստորև նշված հրամանը՝ «Apache Full» պրոֆիլը UFW-ում միացնելու համար: Դրանով կթույլատրվի HTTP և HTTPS տրաֆիկը։

sudo ufw allow 'Apache Full'

Այժմ ստուգեք UFW-ի միացված կանոնների ցանկը հետևյալով. Դուք կտեսնեք, որ «Apache Full» պրոֆիլը միացված է:

sudo ufw status

Moodle-ի ապահովում HTTPS-ով

Բացի firewall-ից, դուք նաև կստեղծեք SSL/TLS վկայագրեր և կապահովեք Moodle-ը HTTPS-ով: Այս բաժնում դուք կիրականացնեք HTTPS Moodle-ի համար Certbot-ի և Letsencrypt-ի միջոցով: Եթե դուք տեղադրում եք Moodle-ը տեղում, բաց թողեք սա:

Տեղադրեք 'certbot' և 'python3-certbot-apache' փաթեթները հետևյալ հրամանով։

sudo apt install certbot python3-certbot-apache -y

Տեղադրումն ավարտվելուց հետո ստորև գործարկեք «certbot» հրամանը՝ Moodle-ի համար SSL/TLS վկայագրեր ստեղծելու համար: Համոզվեք, որ փոխեք տիրույթի անունը և էլփոստի հասցեն ձեր տեղեկություններով:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d moodle.howtoforge.local

Երբ գործընթացը ավարտվի, ձեր SSL վկայականները հասանելի կլինեն «/etc/letsencrypt/live/domain.com» գրացուցակում, և ձեր Moodle-ի տեղադրումը պետք է ավտոմատ կերպով ապահովվի HTTPS-ով:

Moodle-ի տեղադրում

Այցելեք ձեր Moodle տիրույթի անունը, օրինակ՝ https://moodle.howtoforge.local/ և կտեսնեք տեղադրման հրաշագործը:

Ընտրեք ձեր լռելյայն լեզուն և սեղմեք Հաջորդը:

Մուտքագրեք ձեր տվյալների գրացուցակը Moodle «/var/www/moodledata»-ի համար:

Ընտրեք MariaDB որպես տվյալների բազայի վարորդ:

Մուտքագրեք ձեր MariaDB տվյալների բազայի և օգտագործողի մանրամասները:

Սեղմեք Շարունակել՝ հեղինակային իրավունքի մասին ծանուցումը հաստատելու համար:

Սերվերի ստուգումների բաժնում համոզվեք, որ ձեր միջավայրը պատրաստ է:

Այժմ Moodle-ի տեղադրումը կմշակվի:

Տեղադրումն ավարտվելուց հետո մուտքագրեք նոր ադմինիստրատորի օգտատերը, էլփոստը և գաղտնաբառը Moodle-ի համար:

Այժմ դուք կտեսնեք Moodle-ի վահանակը հետևյալ կերպ.

Եզրակացություն

Շնորհավորում եմ: Դուք ավարտել եք Moodle-ի տեղադրումը Ubuntu 24.04 սերվերի վրա: Դուք տեղադրել եք Moodle 40.4-ը Ubuntu-ում LAMP Stack-ով (Linux, Apache, MariaDB և PHP), և Moodle-ն ապահովել եք UFW-ով (Uncomplicated Firewall) և HTTPS-ով Certbot-ի և Letsencrypt-ի միջոցով: