CentOS 8 இல் Nginx உடன் Moodle Learning Platform ஐ எவ்வாறு நிறுவுவது


வலுவான ஆன்லைன் கற்றல் தளங்களை உருவாக்குவதற்கான உலகின் மிகவும் பிரபலமான கற்றல் மேலாண்மை அமைப்பு மூடுல் ஆகும். இது நீங்கள் தேர்வுசெய்யக்கூடிய பலவிதமான செயல்பாடுகள் மற்றும் கல்வி கருவிகளைக் கொண்டுள்ளது, இது மதிப்பீட்டு மேலாண்மை மற்றும் தனிப்பயன் சான்றிதழ்களுடன் கப்பல்களை ஆதரிக்கிறது. இது ஒரு சக்திவாய்ந்த வீடியோ மாநாட்டு கருவி மூலம் நிகழ்நேரத்தில் உங்கள் மாணவர்களுடன் தொடர்பு கொள்ளவும் உதவுகிறது. தவிர, இது மொபைல் தயார் நிலையில் உள்ளது, எனவே உங்கள் மாணவர்கள் தங்கள் மொபைல் சாதனங்களிலிருந்து கற்றுக்கொள்ளலாம்.

  • இயக்க முறைமை: LEMP அடுக்கின் குறைந்தபட்ச நிறுவல் நிறுவப்பட்டுள்ளது.
  • வட்டு இடம்: Moodle க்கு 200MB, மற்றும் 5GB என்பது உள்ளடக்கத்தை சேமிப்பதற்கான ஒரு குறைந்தபட்ச குறைந்தபட்சமாகும்.
  • செயலி: 1GHz (நிமிடம்), 2GHz இரட்டை கோர் அல்லது அதற்கு மேற்பட்டவை பரிந்துரைக்கப்படுகின்றன.
  • நினைவகம்: 512MB (நிமிடம்), 1 ஜிபி அல்லது அதற்கு மேற்பட்டவை பரிந்துரைக்கப்படுகின்றன. 8 ஜிபி பிளஸ் ஒரு பெரிய தயாரிப்பு சேவையகத்தில் இருக்கலாம்.

இந்த பக்கத்தில்

  • Moodle வலைத்தளத்திற்கான டொமைன் DNS பதிவை உருவாக்குதல்
  • CentOS 8 சேவையகத்தில் Moodle Learning Platform ஐ நிறுவுதல்
  • Moodle வலைத்தளத்திற்கு சேவை செய்ய NGINX ஐ கட்டமைக்கிறது
  • வலை நிறுவி வழியாக முழுமையான மூடுல் நிறுவல்
  • நாம் குறியாக்கத்தைப் பயன்படுத்தி Moodle தளத்தில் HTTPS ஐ இயக்கவும்

1. மூடுல் ஆன்லைன் கற்றல் தளத்தை அணுக பயனர்கள் பயன்படுத்தும் துணை டொமைனை உருவாக்குவதன் மூலம் தொடங்கவும். எடுத்துக்காட்டாக, உங்கள் டொமைன் பெயர் testprojects.me எனில், நீங்கள் learning.testprojects.me என்ற துணை டொமைனை உருவாக்கலாம்.

உங்கள் டொமைன் பெயரின் மேம்பட்ட டிஎன்எஸ் அமைப்புகளைத் திறந்து பின்வரும் படத்தில் காட்டப்பட்டுள்ளபடி 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

பின்னர் தரவுத்தளம், தரவுத்தள பயனரை உருவாக்கி பயன்பாட்டிற்கு பாதுகாப்பான கடவுச்சொல்லை உருவாக்கவும்.

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) பதிவிறக்கம் செய்து, காப்பகக் கோப்பைப் பிரித்தெடுத்து உங்கள் வெப்ரூட்டில் நகர்த்தவும் (/var/www/html/) அடைவு, பின்னர் வெப்சர்வரை மூடுல் கோப்பகத்திற்கு அணுக அனுமதிக்க பொருத்தமான அனுமதிகள் மற்றும் உரிமையை பின்வருமாறு அமைக்கவும்.

# 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. அடுத்து, மூடுல் இடைமுகத்தால் பதிவேற்றப்பட்ட அல்லது உருவாக்கப்பட்ட கோப்புகளின் இருப்பிடமான மூட்லெடேட்டா கோப்பகத்தை உருவாக்கவும், பின்னர் வெப்சர்வர் அதைப் படிக்கவும் எழுதவும் அனுமதிக்க பொருத்தமான அனுமதிகள் மற்றும் உரிமையை வழங்கவும்:

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

6. அடுத்து, Moodle நிறுவல் கோப்பகத்தில் நகர்ந்து, config.dist.php கோப்பில் இருந்து config.php கோப்பை உருவாக்கவும், பின்னர் சிலவற்றை உள்ளமைக்க எடிட்டிங் திறக்கவும் தரவுத்தள இணைப்பு அளவுருக்கள் மற்றும் தள இருப்பிடம் போன்ற மூடுல் இயங்குதளத்திற்கான முக்கிய அமைப்புகள் மற்றும் அது மனநிலை தரவு கோப்பகத்தை எங்கு காணலாம்:

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

சரியான டேட்பேஸ் வகை, சரியான தரவுத்தள ஹோஸ்ட், தரவுத்தள பெயர் மற்றும் தரவுத்தள பயனர் மற்றும் பயனரின் கடவுச்சொல்லை அமைக்கவும்.

$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. உங்கள் Moodle உட்கார்வை அணுக பயன்படும் URL ஐ அமைக்கவும், இது உங்கள் Moodle வலை கோப்புகள் அமைந்துள்ள wwwroot இன் இருப்பிடத்தையும், டேட்டரூட் (மூட்லெடேட்டா அடைவு) ஐயும் குறிப்பிடுகிறது:

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

8. இந்த பிரிவில், உங்கள் Moodle பயன்பாட்டிற்கு சேவை செய்ய NGINX ஐ உள்ளமைக்க வேண்டும். காட்டப்பட்டுள்ளபடி NGINX உள்ளமைவில் அதற்கான சேவையகத் தொகுதியை உருவாக்க வேண்டும்.

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

சேவையக தொகுதி உள்ளமைவு கோப்பில் பின்வரும் உள்ளமைவை நகலெடுத்து ஒட்டவும். சேவையக பெயரை மேலே உருவாக்கிய உங்கள் துணை டொமைன் பெயருடன் மாற்றவும், மேலும் 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 -t
# systemctl restart nginx
# systemctl restart php-fpm

10. உங்கள் கணினியில் SELinux இயக்கப்பட்டிருந்தால், சேவையகத்தில் Moodle வலை கோப்புகளை அணுகுவதற்கான சரியான சூழலை அமைக்க பின்வரும் கட்டளைகளை இயக்கவும்:

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

11. தவிர, என்ஜிஎன்எக்ஸ் வலை சேவையகத்திற்கு போக்குவரத்தை அனுமதிக்க ஃபயர்வாலில் HTTP மற்றும் HTTPS சேவைகள் திறந்திருப்பதை உறுதிசெய்க:

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

12. Moodle வலை நிறுவியை அணுக, உங்கள் வலை உலாவியைத் திறந்து, நீங்கள் மேலே உருவாக்கிய துணை டொமைனைப் பயன்படுத்தி செல்லவும்:

http://learning.testprojects.me

வரவேற்பு பக்க சுமைகள் விதிமுறைகள் மற்றும் நிபந்தனைகளைப் படித்து தொடரவும் என்பதைக் கிளிக் செய்யவும்.

13. அடுத்து, குறிப்பிட்ட பதிப்பின் Moodle தளத்தை இயக்குவதற்கான தேவைகளை உங்கள் கணினி பூர்த்திசெய்கிறதா என்பதை வலை நிறுவி சரிபார்க்கும். மேலும் தகவல்களைக் காண நீங்கள் கீழே உருட்டலாம்.

14. நிறுவி HTTPS இயக்கப்பட்டிருக்கவில்லை என்று புகார் அளிக்கும், இப்போது அந்த பிழையை புறக்கணிக்கவும் (அடுத்த பகுதியில், Moodle இல் HTTPS ஐ எவ்வாறு இயக்குவது என்பதைக் காண்பிப்போம்), மற்றும் வலை கோப்புகளின் உண்மையான நிறுவலைத் தொடங்க தொடரவும் என்பதைக் கிளிக் செய்யவும்.

15. இப்போது பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி நிறுவி Moodle கோப்புகளின் உண்மையான நிறுவலைத் தொடங்கும். அது முடிந்ததும், தொடரவும் என்பதைக் கிளிக் செய்க.

16. அடுத்த கட்டத்தில், பயனர்பெயர், கடவுச்சொல், முதல் பெயர் மற்றும் குடும்பப்பெயர் மற்றும் மின்னஞ்சல் முகவரியைப் புதுப்பிப்பதன் மூலம் உங்கள் Moodle தளத்தின் நிர்வாகி கணக்கைப் புதுப்பிக்க வேண்டும். பக்கத்தை உருட்டவும் மற்றும் சுயவிவரத்தைப் புதுப்பிக்கவும் என்பதைக் கிளிக் செய்யவும்.

17. பின்னர் Moodle தளத்தின் முதல் பக்க அமைப்புகளைப் புதுப்பிக்கவும். உங்கள் Moodle தளத்தைப் பயன்படுத்தத் தொடங்க கீழே உருட்டவும் மற்றும் புதுப்பி என்பதைக் கிளிக் செய்யவும்.

18. அடுத்து, திரையில் உள்ள வழிமுறைகளைப் பின்பற்றி உங்கள் தளத்தைப் பதிவு செய்ய வேண்டும். டாஷ்போர்டில் கிளிக் செய்வதன் மூலம் நீங்கள் டாஷ்போர்டுக்கு செல்லலாம்.

உங்கள் பயனர்களுக்கும் மூடுல் பயன்பாட்டிற்கும் இடையே பாதுகாப்பான தகவல்தொடர்புகளை இயக்க HTTPS உங்கள் தளத்திற்கு முதல் அடுக்கு பாதுகாப்பு சேர்க்கிறது (குறிப்பாக கோரிக்கைகளைப் பெற்று பதில்களை வழங்கும் NGINX வலை சேவையகம்).

நீங்கள் ஒரு வணிக CA இலிருந்து ஒரு SSL/TLS சான்றிதழை வாங்கலாம் அல்லது அனைத்து நவீன வலை உலாவிகளாலும் இலவசமாகவும் அங்கீகரிக்கப்பட்டதாகவும் நாம் Let Encrypt ஐப் பயன்படுத்தலாம். இந்த வழிகாட்டிக்கு, நாம் Encrypt ஐப் பயன்படுத்துவோம்.

19. சான்றிதழ் கருவியைப் பயன்படுத்தி லெட்ஸ் குறியாக்க சான்றிதழ் வரிசைப்படுத்தல் தானாக நிர்வகிக்கப்படுகிறது. பின்வரும் கட்டளையுடன் நீங்கள் சான்றிதழ் மற்றும் தேவையான பிற தொகுப்புகளை நிறுவலாம்:

# dnf install certbot python3-certbot-nginx

20. பின்னர் லெட்ஸ் என்க்ரிப்ட் சான்றிதழைப் பெற பின்வரும் கட்டளையை இயக்கவும், செர்ட்போட் உங்கள் என்ஜிஎன்எக்ஸ் உள்ளமைவை தானாகவே திருத்தும்படி செய்யுங்கள் (இது HTTP ஐ தானாகவே HTTPS க்கு திருப்பி விடவும் கட்டமைக்கும்).

# 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 ஐப் பயன்படுத்த உங்கள் Moodle உள்ளமைவைப் புதுப்பிக்கவும்.

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

wwwroot URL ஐ HTTP இலிருந்து HTTPS க்கு மாற்றவும்:

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

23. கடைசியாக ஆனால் குறைந்தது அல்ல, உங்கள் Moodle தளம் இப்போது HTTPS இல் இயங்குகிறது என்பதை உறுதிப்படுத்தவும்.

இப்போதைக்கு அதுதான்! உங்கள் புதிய கற்றல் தளத்தை இயக்குவதற்கான கூடுதல் தகவல் மற்றும் உள்ளமைவு விருப்பங்களுக்கு, Moodle வலைத்தளத்திற்குச் சென்று, அதிகாரப்பூர்வ ஆவணங்கள் மூலம் படிக்கவும்.