CentOS 8 లో Nginx తో మూడ్ల్ లెర్నింగ్ ప్లాట్uఫామ్uను ఎలా ఇన్uస్టాల్ చేయాలి


బలమైన ఆన్uలైన్ లెర్నింగ్ సైట్uలను నిర్మించడానికి ప్రపంచంలో అత్యంత ప్రాచుర్యం పొందిన అభ్యాస నిర్వహణ వ్యవస్థ మూడ్లే. ఇది మీరు ఎంచుకోగల అనేక రకాల కార్యకలాపాలు మరియు విద్యా సాధనాలను కలిగి ఉంది, ఇది అసెస్uమెంట్ మేనేజ్uమెంట్ మరియు కస్టమ్ సర్టిఫికెట్uలతో ఓడలకు మద్దతు ఇస్తుంది. ఇది శక్తివంతమైన వీడియో కాన్ఫరెన్స్ సాధనంతో నిజ సమయంలో మీ విద్యార్థులతో కమ్యూనికేషన్uను అనుమతిస్తుంది. ఇది మొబైల్ సిద్ధంగా ఉంది, కాబట్టి మీ విద్యార్థులు వారి మొబైల్ పరికరాల నుండి నేర్చుకోవచ్చు.

  • ఆపరేటింగ్ సిస్టమ్: LEMP స్టాక్ యొక్క కనీస సంస్థాపన వ్యవస్థాపించబడింది.
  • డిస్క్ స్పేస్: మూడిల్ కోసం 200MB, మరియు 5GB బహుశా కంటెంట్uను నిల్వ చేయడానికి వాస్తవికమైనది.
  • ప్రాసెసర్: 1GHz (నిమి), 2GHz డ్యూయల్ కోర్ లేదా అంతకంటే ఎక్కువ సిఫార్సు చేయబడింది.
  • మెమరీ: 512MB (నిమి), 1GB లేదా అంతకంటే ఎక్కువ సిఫార్సు చేయబడింది. 8GB ప్లస్ పెద్ద ప్రొడక్షన్ సర్వర్uలో ఉంటుంది.

ఈ పేజీలో

  • మూడ్ల్ వెబ్uసైట్ కోసం డొమైన్ DNS రికార్డ్uను సృష్టిస్తోంది
  • సెంటొస్ 8 సర్వర్uలో మూడ్ల్ లెర్నింగ్ ప్లాట్uఫామ్uను ఇన్uస్టాల్ చేస్తోంది
  • మూడ్ల్ వెబ్uసైట్uను అందించడానికి NGINX ను కాన్ఫిగర్ చేస్తోంది
  • వెబ్ ఇన్uస్టాలర్ ద్వారా పూర్తి మూడ్ ఇన్uస్టాలేషన్
  • లెట్స్ ఎన్క్రిప్ట్ ఉపయోగించి మూడ్ల్ సైట్uలో HTTPS ని ప్రారంభించండి

1. మూడ్లే ఆన్uలైన్ లెర్నింగ్ సైట్uను యాక్సెస్ చేయడానికి వినియోగదారులు ఉపయోగించే సబ్డొమైన్uను సృష్టించడం ద్వారా ప్రారంభించండి. ఉదాహరణకు, మీ డొమైన్ పేరు testprojects.me అయితే, మీరు learning.testprojects.me అనే సబ్డొమైన్uను సృష్టించవచ్చు.

మీ డొమైన్ పేరు యొక్క అధునాతన DNS సెట్టింగులను తెరిచి, కింది చిత్రంలో చూపిన విధంగా A రికార్డ్uను జోడించండి.

2. Moodle ని ఇన్uస్టాల్ చేసే ముందు, మీ సర్వర్uలో మీకు అవసరమైన PHP పొడిగింపులు ఉన్నాయని నిర్ధారించుకోండి, వాటిని ఇన్uస్టాల్ చేయడానికి మీరు ఈ క్రింది ఆదేశాన్ని అమలు చేయవచ్చు:

# 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. తరువాత, మూడ్ల్ అప్లికేషన్ కోసం ఈ క్రింది విధంగా డేటాబేస్ సృష్టించండి.

# 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. ఇప్పుడు అధికారిక మూడిల్ ప్రాజెక్ట్ వెబ్uసైట్ నుండి మూడ్లే యొక్క తాజా వెర్షన్uను (రాసే సమయంలో 3.9) డౌన్uలోడ్ చేయండి, ఆర్కైవ్ ఫైల్uను సంగ్రహించి మీ వెబ్uరూట్uలోకి తరలించండి (/var/www/html/) డైరెక్టరీ, ఆపై వెబ్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సర్వర్uను చదవడానికి మరియు వ్రాయడానికి అనుమతించడానికి తగిన అనుమతులు మరియు యాజమాన్యాన్ని కేటాయించండి:

# 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 ఫైల్uను సృష్టించండి, ఆపై కొన్నింటిని కాన్ఫిగర్ చేయడానికి ఎడిటింగ్ కోసం దాన్ని తెరవండి డేటాబేస్ కనెక్షన్ పారామితులు మరియు సైట్ స్థానం మరియు మీ మూడ్లెటాటా డైరెక్టరీని కనుగొనగలిగే చోట మీ మూడ్ల్ ప్లాట్uఫామ్ కోసం కీ సెట్టింగ్uలు:

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

సరైన డాట్uబేస్ రకం, సరైన డేటాబేస్ హోస్ట్, డేటాబేస్ పేరు మరియు డేటాబేస్ యూజర్ మరియు యూజర్ పాస్uవర్డ్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 ని కూడా సెట్ చేయండి, ఇది మీ మూడ్ల్ వెబ్ ఫైల్స్ ఉన్న wwwroot యొక్క స్థానాన్ని మరియు డేటారూట్ (మూడ్లెడాటా డైరెక్టరీ) ను కూడా నిర్దేశిస్తుంది:

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

8. ఈ విభాగంలో, మీ మూడ్లె అనువర్తనానికి సేవ చేయడానికి మీరు NGINX ను కాన్ఫిగర్ చేయాలి. చూపిన విధంగా మీరు NGINX కాన్ఫిగరేషన్uలో సర్వర్ బ్లాక్uను సృష్టించాలి.

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

సర్వర్ బ్లాక్ కాన్ఫిగరేషన్ ఫైల్uలో కింది కాన్ఫిగరేషన్uను కాపీ చేసి పేస్ట్ చేయండి. పైన సృష్టించిన మీ సబ్uడొమైన్ పేరుతో సర్వర్ పేరును మార్చండి, మరియు ఫాస్ట్uకి_పాస్ php-fpm కు సూచించాలి (CentOS 8 లో, /etc/nginx/conf.d/php- లో నిర్వచించిన చిరునామాను ఉపయోగించి PHP-FPM ఫాస్ట్uసిజిఐ అభ్యర్థనలను అంగీకరిస్తుందని గమనించండి. 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 కాన్ఫిగరేషన్uను తనిఖీ చేయండి, అది సరే అయితే, ఇటీవలి మార్పులను వర్తింపజేయడానికి nginx మరియు php-fpm సేవలను పున art ప్రారంభించండి:

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

10. మీరు మీ సిస్టమ్uలో SELinux ఎనేబుల్ చేసి ఉంటే, సర్వర్uలోని Moodle వెబ్ ఫైళ్ళను యాక్సెస్ చేయడానికి సరైన సందర్భాన్ని సెట్ చేయడానికి కింది ఆదేశాలను అమలు చేయండి:

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

11. అంతేకాకుండా, NGINX వెబ్ సర్వర్uకు ట్రాఫిక్uను అనుమతించడానికి ఫైర్uవాల్uలో 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ను తెరిచి, మీరు పైన సృష్టించిన సబ్uడొమైన్ ఉపయోగించి నావిగేట్ చేయండి:

http://learning.testprojects.me

స్వాగత పేజీ లోడ్లు నిబంధనలు మరియు షరతుల ద్వారా చదివి, కొనసాగించు క్లిక్ చేయండి.

13. తరువాత, వెబ్ ఇన్uస్టాలర్ పేర్కొన్న సంస్కరణ యొక్క మూడ్లే సైట్uను అమలు చేయడానికి మీ సిస్టమ్ అవసరాలకు అనుగుణంగా ఉందో లేదో తనిఖీ చేస్తుంది. మరింత సమాచారాన్ని చూడటానికి మీరు క్రిందికి స్క్రోల్ చేయవచ్చు.

14. హెచ్uటిటిపిఎస్ ప్రారంభించబడటం లేదని ఇన్uస్టాలర్ ఫిర్యాదు చేస్తుంది, ప్రస్తుతానికి ఆ లోపాన్ని విస్మరించండి (తరువాతి విభాగంలో, మూడ్uలో హెచ్uటిటిపిఎస్uను ఎలా ప్రారంభించాలో చూపిస్తాము), మరియు వెబ్ ఫైళ్ళ యొక్క వాస్తవ ఇన్uస్టాలేషన్uను ప్రారంభించడానికి కొనసాగించు క్లిక్ చేయండి.

15. ఇప్పుడు ఇన్స్టాలర్ కింది స్క్రీన్ షాట్ లో చూపిన విధంగా మూడ్ల్ ఫైళ్ళ యొక్క వాస్తవ సంస్థాపనను ప్రారంభిస్తుంది. ఇది పూర్తయిన తర్వాత, కొనసాగించు క్లిక్ చేయండి.

16. తదుపరి దశలో, మీరు వినియోగదారు పేరు, పాస్uవర్డ్, మొదటి పేరు మరియు ఇంటిపేరు మరియు ఇమెయిల్ చిరునామాను నవీకరించడం ద్వారా మీ మూడ్లే సైట్ యొక్క నిర్వాహక ఖాతాను నవీకరించాలి. ఆపై పేజీని క్రిందికి స్క్రోల్ చేసి, ప్రొఫైల్uను నవీకరించు క్లిక్ చేయండి.

17. అప్పుడు మూడ్లే సైట్ మొదటి పేజీ సెట్టింగులను నవీకరించండి. మీ మూడ్లే సైట్uను ఉపయోగించడం ప్రారంభించడానికి క్రిందికి స్క్రోల్ చేసి, అప్uడేట్ క్లిక్ చేయండి.

18. తరువాత, మీరు స్క్రీన్uపై ఉన్న సూచనలను అనుసరించి మీ సైట్uను నమోదు చేసుకోవాలి. మీరు డాష్uబోర్డ్uపై క్లిక్ చేయడం ద్వారా డాష్uబోర్డ్uకు వెళ్లవచ్చు.

మీ వినియోగదారులు మరియు మూడ్లె అనువర్తనం (ముఖ్యంగా అభ్యర్థనలను స్వీకరించే మరియు ప్రతిస్పందనలను అందించే NGINX వెబ్ సర్వర్) మధ్య సురక్షితమైన సంభాషణలను ప్రారంభించడానికి HTTPS మీ సైట్uకు మొదటి పొరను జోడిస్తుంది.

మీరు వాణిజ్య CA నుండి SSL/TLS ప్రమాణపత్రాన్ని కొనుగోలు చేయవచ్చు లేదా అన్ని ఆధునిక వెబ్ బ్రౌజర్uలచే ఉచితంగా మరియు గుర్తించబడిన లెట్స్ ఎన్uక్రిప్ట్uను ఉపయోగించవచ్చు. ఈ గైడ్ కోసం, మేము లెట్స్ ఎన్క్రిప్ట్ ఉపయోగిస్తాము.

19. లెట్స్ ఎన్క్రిప్ట్ సర్టిఫికేట్ విస్తరణ స్వయంచాలకంగా సర్ట్బోట్ సాధనాన్ని ఉపయోగించి నిర్వహించబడుతుంది. మీరు కింది ఆదేశంతో certbot మరియు ఇతర అవసరమైన ప్యాకేజీలను వ్యవస్థాపించవచ్చు:

# dnf install certbot python3-certbot-nginx

20. అప్పుడు లెట్స్ ఎన్క్రిప్ట్ సర్టిఫికేట్ పొందడానికి కింది ఆదేశాన్ని అమలు చేయండి మరియు సెర్ట్బోట్ మీ ఎన్జిఎన్ఎక్స్ కాన్ఫిగరేషన్uను స్వయంచాలకంగా సవరించడానికి దాన్ని కలిగి ఉండండి (ఇది హెచ్uటిటిపిని స్వయంచాలకంగా హెచ్uటిటిపిఎస్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 ఉపయోగించడం ప్రారంభించడానికి మీ మూడ్ల్ కాన్ఫిగరేషన్uను నవీకరించండి.

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

wwwroot URL ని HTTP నుండి HTTPS కి మార్చండి:

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

23. చివరిది కాని, మీ మూడ్లే సైట్ ఇప్పుడు HTTPS లో నడుస్తుందని నిర్ధారించండి.

ప్రస్తుతానికి అది అంతే! మీ క్రొత్త అభ్యాస ప్లాట్uఫారమ్uను అమలు చేయడానికి మరింత సమాచారం మరియు కాన్ఫిగరేషన్ ఎంపికల కోసం, మూడ్ల్ వెబ్uసైట్uకు వెళ్లి, అధికారిక డాక్యుమెంటేషన్ ద్వారా చదవండి.