CentOS 8-ൽ Nginx-നൊപ്പം മൂഡിൽ ലേണിംഗ് പ്ലാറ്റ്ഫോം എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


ശക്തമായ ഓൺലൈൻ പഠന സൈറ്റുകൾ നിർമ്മിക്കുന്നതിനുള്ള ലോകത്തിലെ ഏറ്റവും ജനപ്രിയമായ ലേണിംഗ് മാനേജ്uമെന്റ് സിസ്റ്റമാണ് മൂഡിൽ. നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാൻ കഴിയുന്ന നിരവധി പ്രവർത്തനങ്ങളും വിദ്യാഭ്യാസ ഉപകരണങ്ങളും ഇത് അവതരിപ്പിക്കുന്നു, ഇത് മൂല്യനിർണ്ണയ മാനേജ്മെന്റിനെയും ഇഷ്uടാനുസൃത സർട്ടിഫിക്കറ്റുകളുള്ള ഷിപ്പുകളെയും പിന്തുണയ്ക്കുന്നു. ശക്തമായ ഒരു വീഡിയോ കോൺഫറൻസ് ടൂൾ ഉപയോഗിച്ച് ഇത് തത്സമയം നിങ്ങളുടെ വിദ്യാർത്ഥികളുമായി ആശയവിനിമയം സാധ്യമാക്കുന്നു. കൂടാതെ, ഇത് മൊബൈൽ തയ്യാറാണ്, അതിനാൽ നിങ്ങളുടെ വിദ്യാർത്ഥികൾക്ക് അവരുടെ മൊബൈൽ ഉപകരണങ്ങളിൽ നിന്ന് പഠിക്കാനാകും.

  • ഓപ്പറേറ്റിംഗ് സിസ്റ്റം: LEMP സ്റ്റാക്കിന്റെ ഏറ്റവും കുറഞ്ഞ ഇൻസ്റ്റാളേഷൻ ഇൻസ്റ്റാൾ ചെയ്തു.
  • ഡിസ്ക് സ്പേസ്: മൂഡിലിനായി 200MB, കൂടാതെ 5GB എന്നത് ഉള്ളടക്കം സംഭരിക്കുന്നതിനുള്ള ഒരു യഥാർത്ഥ മിനിമം ആയിരിക്കാം.
  • പ്രോസസർ: 1GHz (മിനിറ്റ്), 2GHz ഡ്യുവൽ കോർ അല്ലെങ്കിൽ അതിൽ കൂടുതൽ ശുപാർശ ചെയ്uതിരിക്കുന്നു.
  • മെമ്മറി: 512MB (മിനിറ്റ്), 1GB അല്ലെങ്കിൽ കൂടുതൽ ശുപാർശ ചെയ്യുന്നു. ഒരു വലിയ പ്രൊഡക്ഷൻ സെർവറിൽ 8GB പ്ലസ് സാധ്യമാണ്.

ഈ പേജിൽ

  • മൂഡിൽ വെബ്uസൈറ്റിനായി ഒരു ഡൊമെയ്uൻ DNS റെക്കോർഡ് സൃഷ്uടിക്കുന്നു
  • CentOS 8 സെർവറിൽ മൂഡിൽ ലേണിംഗ് പ്ലാറ്റ്ഫോം ഇൻസ്റ്റാൾ ചെയ്യുന്നു
  • മൂഡിൽ വെബ്uസൈറ്റ് നൽകുന്നതിന് NGINX കോൺഫിഗർ ചെയ്യുന്നു
  • വെബ് ഇൻസ്റ്റാളർ വഴി മൂഡിൽ ഇൻസ്റ്റാളേഷൻ പൂർത്തിയാക്കുക
  • ലെറ്റ്സ് എൻക്രിപ്റ്റ് ഉപയോഗിച്ച് മൂഡിൽ സൈറ്റിൽ HTTPS പ്രവർത്തനക്ഷമമാക്കുക

1. Moodle ഓൺലൈൻ ലേണിംഗ് സൈറ്റ് ആക്സസ് ചെയ്യാൻ ഉപയോക്താക്കൾ ഉപയോഗിക്കുന്ന ഒരു ഉപഡൊമെയ്ൻ സൃഷ്ടിച്ച് ആരംഭിക്കുക. ഉദാഹരണത്തിന്, നിങ്ങളുടെ ഡൊമെയ്ൻ നാമം testprojects.me ആണെങ്കിൽ, നിങ്ങൾക്ക് learning.testprojects.me എന്ന പേരിൽ ഒരു ഉപഡൊമെയ്ൻ സൃഷ്ടിക്കാൻ കഴിയും.

നിങ്ങളുടെ ഡൊമെയ്ൻ നാമത്തിന്റെ വിപുലമായ DNS ക്രമീകരണങ്ങൾ തുറന്ന് ഇനിപ്പറയുന്ന ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു A റെക്കോർഡ് ചേർക്കുക.

2. Moodle ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ്, നിങ്ങളുടെ സെർവറിൽ ആവശ്യമായ PHP വിപുലീകരണങ്ങൾ ഉണ്ടെന്ന് ഉറപ്പാക്കുക, അവ ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കാം:

# dnf install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. അടുത്തതായി, ഇനിപ്പറയുന്ന രീതിയിൽ Moodle ആപ്ലിക്കേഷനായി ഒരു ഡാറ്റാബേസ് ഉണ്ടാക്കുക.

# mysql -u root -p

തുടർന്ന് ഡാറ്റാബേസ്, ഡാറ്റാബേസ് ഉപയോക്താവ് എന്നിവ സൃഷ്ടിക്കുകയും ഉപയോഗത്തിനായി ഒരു സുരക്ഷിത പാസ്uവേഡ് സൃഷ്ടിക്കുകയും ചെയ്യുക.

MariaDB [(none)]> CREATE DATABASE moodledb;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email ';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

4. ഇപ്പോൾ Moodle-ന്റെ ഏറ്റവും പുതിയ പതിപ്പ് (എഴുതുമ്പോൾ 3.9) ഔദ്യോഗിക മൂഡിൽ പ്രോജക്റ്റ് വെബ്uസൈറ്റിൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യുക, ആർക്കൈവ് ഫയൽ എക്uസ്uട്രാക്uറ്റ് ചെയ്uത് നിങ്ങളുടെ വെബ്uറൂട്ടിലേക്ക് നീക്കുക (/var/www/html/) ഡയറക്uടറി, തുടർന്ന് മൂഡിൽ ഡയറക്uടറിയിലേക്ക് വെബ്uസെർവറിന് പ്രവേശനം അനുവദിക്കുന്നതിന് ഉചിതമായ അനുമതികളും ഉടമസ്ഥാവകാശവും സജ്ജമാക്കുക.

# wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
# tar -xzvf  moodle-latest-39.tgz
# mv moodle /var/www/html/
# chmod 775 -R /var/www/html/moodle
# chown nginx:nginx -R /var/www/html/moodle

5. അടുത്തതായി, മൂഡിൽ ഇന്റർഫേസ് അപ്uലോഡ് ചെയ്uതതോ സൃഷ്uടിക്കുന്നതോ ആയ ഫയലുകളുടെ ലൊക്കേഷനായ moodledata ഡയറക്uടറി സൃഷ്uടിക്കുക, തുടർന്ന് വെബ്uസെർവറിന് അതിലേക്കുള്ള പ്രവേശനം വായിക്കാനും എഴുതാനും അനുവദിക്കുന്നതിന് ഉചിതമായ അനുമതികളും ഉടമസ്ഥാവകാശവും നൽകുക:

# mkdir -p /var/www/html/moodledata
# chmod 770 -R /var/www/html/moodledata
# chown :nginx -R /var/www/html/moodledata

6. അടുത്തതായി, Moodle ഇൻസ്റ്റലേഷൻ ഡയറക്uടറിയിലേക്ക് നീങ്ങി, നൽകിയിരിക്കുന്ന സാമ്പിൾ config.dist.php ഫയലിൽ നിന്ന് ഒരു config.php ഫയൽ സൃഷ്uടിക്കുക, തുടർന്ന് ചിലത് കോൺഫിഗർ ചെയ്യുന്നതിന് എഡിറ്റിംഗിനായി തുറക്കുക. നിങ്ങളുടെ Moodle പ്ലാറ്റ്uഫോമിനായുള്ള ഡാറ്റാബേസ് കണക്ഷൻ പാരാമീറ്ററുകളും സൈറ്റ് ലൊക്കേഷനും അതിന് moodledata ഡയറക്uടറി കണ്ടെത്താനാകുന്നതുമായ പ്രധാന ക്രമീകരണങ്ങൾ:

# cd /var/www/html/moodle/
# cp config-dist.php config.php
# vim config.php

ശരിയായ ഡാറ്റാബേസ് തരം, ശരിയായ ഡാറ്റാബേസ് ഹോസ്റ്റ്, ഡാറ്റാബേസ് നാമം, ഡാറ്റാബേസ് ഉപയോക്താവ്, ഉപയോക്താവിന്റെ പാസ്uവേഡ് എന്നിവ സജ്ജമാക്കുക.

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodledb';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email zzwd0L2';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

7. നിങ്ങളുടെ മൂഡിൽ സിറ്റ് ആക്uസസ് ചെയ്യാൻ ഉപയോഗിക്കുന്ന URL സജ്ജീകരിക്കുക, ഇത് നിങ്ങളുടെ Moodle വെബ് ഫയലുകൾ സ്ഥിതി ചെയ്യുന്ന wwwroot ന്റെ ലൊക്കേഷനും ഡാറ്റാറൂട്ടും (മൂഡ്uലെഡാറ്റ ഡയറക്uടറി) വ്യക്തമാക്കുന്നു:

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/www/html/moodledata';

8. ഈ വിഭാഗത്തിൽ, നിങ്ങളുടെ മൂഡിൽ ആപ്ലിക്കേഷൻ നൽകുന്നതിന് നിങ്ങൾ NGINX കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. കാണിച്ചിരിക്കുന്നതുപോലെ NGINX കോൺഫിഗറേഷനിൽ നിങ്ങൾ അതിനായി ഒരു സെർവർ ബ്ലോക്ക് സൃഷ്ടിക്കേണ്ടതുണ്ട്.

# vim /etc/nginx/conf.d/moodle.conf

സെർവർ ബ്ലോക്ക് കോൺഫിഗറേഷൻ ഫയലിൽ ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ പകർത്തി ഒട്ടിക്കുക. മുകളിൽ സൃഷ്uടിച്ച നിങ്ങളുടെ സബ്uഡൊമെയ്uൻ നാമം ഉപയോഗിച്ച് സെർവർ നാമം മാറ്റിസ്ഥാപിക്കുക, ഒപ്പം fastcgi_pass php-fpm-ലേക്ക് പോയിന്റ് ചെയ്യണം (CentOS 8-ൽ, /etc/nginx/conf.d/php--ൽ നിർവചിച്ചിരിക്കുന്ന വിലാസം ഉപയോഗിച്ച് PHP-FPM FastCGI അഭ്യർത്ഥനകൾ സ്വീകരിക്കുന്നുവെന്നത് ശ്രദ്ധിക്കുക. fpm.conf കോൺഫിഗറേഷൻ).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass            php-fpm;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

9. തുടർന്ന് NGINX കോൺഫിഗറേഷൻ ശരിയാണെന്ന് പരിശോധിക്കുക, അത് ശരിയാണെങ്കിൽ, സമീപകാല മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് nginx, php-fpm സേവനങ്ങൾ പുനരാരംഭിക്കുക:

# nginx -t
# systemctl restart nginx
# systemctl restart php-fpm

10. നിങ്ങളുടെ സിസ്റ്റത്തിൽ SELinux പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, സെർവറിൽ Moodle വെബ് ഫയലുകൾ ആക്uസസ് ചെയ്യുന്നതിനുള്ള ശരിയായ സന്ദർഭം സജ്ജമാക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:

# setsebool -P httpd_can_network_connect on
# chcon -R --type httpd_sys_rw_content_t /var/www/html

11. കൂടാതെ, NGINX വെബ് സെർവറിലേക്കുള്ള ട്രാഫിക് അനുവദിക്കുന്നതിന് HTTP, HTTPS സേവനങ്ങൾ ഫയർവാളിൽ തുറന്നിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക:

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

12. മൂഡിൽ വെബ് ഇൻസ്റ്റാളർ ആക്uസസ് ചെയ്യാൻ, നിങ്ങളുടെ വെബ് ബ്രൗസർ തുറന്ന് മുകളിൽ നിങ്ങൾ സൃഷ്uടിച്ച ഉപഡൊമെയ്uൻ ഉപയോഗിച്ച് നാവിഗേറ്റ് ചെയ്യുക:

http://learning.testprojects.me

സ്വാഗത പേജ് ലോഡുചെയ്uതുകഴിഞ്ഞാൽ, നിബന്ധനകളും വ്യവസ്ഥകളും വായിച്ച് തുടരുക ക്ലിക്കുചെയ്യുക.

13. അടുത്തതായി, നിർദ്ദിഷ്uട പതിപ്പിന്റെ ഒരു മൂഡിൽ സൈറ്റ് പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ആവശ്യകതകൾ നിങ്ങളുടെ സിസ്റ്റം പാലിക്കുന്നുണ്ടോയെന്ന് വെബ് ഇൻസ്റ്റാളർ പരിശോധിക്കും. കൂടുതൽ വിവരങ്ങൾ കാണുന്നതിന് നിങ്ങൾക്ക് താഴേക്ക് സ്ക്രോൾ ചെയ്യാം.

14. HTTPS പ്രവർത്തനക്ഷമമാക്കാത്തതിനെ കുറിച്ച് ഇൻസ്റ്റാളർ പരാതിപ്പെടും, തൽക്കാലം ആ പിശക് അവഗണിക്കുക (അടുത്ത വിഭാഗത്തിൽ, Moodle-ൽ HTTPS എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും), കൂടാതെ വെബ് ഫയലുകളുടെ യഥാർത്ഥ ഇൻസ്റ്റാളേഷൻ ആരംഭിക്കാൻ തുടരുക ക്ലിക്കുചെയ്യുക.

15. ഇപ്പോൾ ഇൻസ്റ്റാളർ ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ മൂഡിൽ ഫയലുകളുടെ യഥാർത്ഥ ഇൻസ്റ്റാളേഷൻ ആരംഭിക്കും. അത് പൂർത്തിയായിക്കഴിഞ്ഞാൽ, തുടരുക ക്ലിക്കുചെയ്യുക.

16. അടുത്ത ഘട്ടത്തിൽ, ഉപയോക്തൃനാമം, പാസ്uവേഡ്, ആദ്യനാമം, കുടുംബപ്പേര്, ഇമെയിൽ വിലാസം എന്നിവ അപ്ഡേറ്റ് ചെയ്തുകൊണ്ട് നിങ്ങളുടെ മൂഡിൽ സൈറ്റിന്റെ അഡ്മിനിസ്ട്രേറ്റർ അക്കൗണ്ട് അപ്ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട്. തുടർന്ന് പേജ് താഴേക്ക് സ്ക്രോൾ ചെയ്uത് പ്രൊഫൈൽ അപ്uഡേറ്റ് ചെയ്യുക ക്ലിക്ക് ചെയ്യുക.

17. തുടർന്ന് Moodle സൈറ്റ് മുൻ പേജ് ക്രമീകരണം അപ്uഡേറ്റ് ചെയ്യുക. തുടർന്ന് താഴേക്ക് സ്ക്രോൾ ചെയ്uത് അപ്uഡേറ്റ് ക്ലിക്ക് ചെയ്uത് നിങ്ങളുടെ മൂഡിൽ സൈറ്റ് ഉപയോഗിക്കാൻ തുടങ്ങുക.

18. അടുത്തതായി, സ്ക്രീനിലെ നിർദ്ദേശങ്ങൾ പാലിച്ചുകൊണ്ട് നിങ്ങളുടെ സൈറ്റ് രജിസ്റ്റർ ചെയ്യണം. ഡാഷ്uബോർഡിൽ ക്ലിക്ക് ചെയ്uത് ഡാഷ്uബോർഡിലേക്ക് പോകാം.

നിങ്ങളുടെ ഉപയോക്താക്കളും Moodle ആപ്ലിക്കേഷനും (പ്രത്യേകിച്ച് അഭ്യർത്ഥനകൾ സ്വീകരിക്കുകയും പ്രതികരണങ്ങൾ നൽകുകയും ചെയ്യുന്ന NGINX വെബ് സെർവർ) തമ്മിലുള്ള സുരക്ഷിത ആശയവിനിമയങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിന് HTTPS നിങ്ങളുടെ സൈറ്റിലേക്ക് സുരക്ഷയുടെ ആദ്യ പാളി ചേർക്കുന്നു.

നിങ്ങൾക്ക് ഒന്നുകിൽ ഒരു വാണിജ്യ CA-യിൽ നിന്ന് ഒരു SSL/TLS സർട്ടിഫിക്കറ്റ് വാങ്ങാം അല്ലെങ്കിൽ എല്ലാ ആധുനിക വെബ് ബ്രൗസറുകൾക്കും സൗജന്യവും അംഗീകൃതവുമായ ലെറ്റ്സ് എൻക്രിപ്റ്റ് ഉപയോഗിക്കാം. ഈ ഗൈഡിനായി, ഞങ്ങൾ Let's Encrypt ഉപയോഗിക്കും.

19. ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് വിന്യാസം certbot ടൂൾ ഉപയോഗിച്ച് സ്വയമേവ നിയന്ത്രിക്കപ്പെടുന്നു. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് certbot ഉം ആവശ്യമായ മറ്റ് പാക്കേജുകളും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും:

# dnf install certbot python3-certbot-nginx

20. തുടർന്ന്, ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ലഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, കൂടാതെ അത് സെർവ് ചെയ്യുന്നതിനായി Certbot നിങ്ങളുടെ NGINX കോൺഫിഗറേഷൻ സ്വയമേവ എഡിറ്റ് ചെയ്യുക (HTTP- ലേക്ക് സ്വയമേവ റീഡയറക്uടുചെയ്യാൻ ഇത് ക്രമീകരിക്കുകയും ചെയ്യും).

# certbot --nginx

21. തുടർന്ന് നമുക്ക് SSL/TLS സർട്ടിഫിക്കറ്റിന്റെ സ്വയമേവയുള്ള പുതുക്കൽ പ്രവർത്തനക്ഷമമാക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

22. അടുത്തതായി, HTTPS ഉപയോഗിച്ച് തുടങ്ങാൻ നിങ്ങളുടെ മൂഡിൽ കോൺഫിഗറേഷൻ അപ്ഡേറ്റ് ചെയ്യുക.

# vim /var/www/html/moodle/config.php

wwwroot URL HTTP-ൽ നിന്ന് HTTPS-ലേക്ക് മാറ്റുക:

$CFG->wwwroot   = 'https://learning.testprojects.me';

23. അവസാനമായി പക്ഷേ, നിങ്ങളുടെ മൂഡിൽ സൈറ്റ് ഇപ്പോൾ HTTPS-ൽ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് സ്ഥിരീകരിക്കുക.

തൽക്കാലം അത്രമാത്രം! നിങ്ങളുടെ പുതിയ പഠന പ്ലാറ്റ്uഫോം പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള കൂടുതൽ വിവരങ്ങൾക്കും കോൺഫിഗറേഷൻ ഓപ്uഷനുകൾക്കുമായി, മൂഡിൽ വെബ്uസൈറ്റിലേക്ക് പോയി ഔദ്യോഗിക ഡോക്യുമെന്റേഷൻ വായിക്കുക.