CentOS 8 এ Nginx এর সাথে মুডল লার্নিং প্ল্যাটফর্মটি কীভাবে ইনস্টল করবেন


শক্তিশালী অনলাইন লার্নিং সাইটগুলি তৈরি করার জন্য মুডল হ'ল বিশ্বের সর্বাধিক জনপ্রিয় লার্নিং ম্যানেজমেন্ট সিস্টেম। এতে এমন অনেকগুলি ক্রিয়াকলাপ এবং শিক্ষামূলক সরঞ্জাম রয়েছে যা আপনি পছন্দ করতে পারেন, এটি মূল্যায়ন পরিচালনা এবং কাস্টম শংসাপত্র সহ জাহাজগুলিকে সমর্থন করে। এটি আপনার শিক্ষার্থীদের সাথে একটি শক্তিশালী ভিডিও কনফারেন্স সরঞ্জামের মাধ্যমে রিয়েল-টাইমে যোগাযোগ সক্ষম করে। এছাড়াও এটি মোবাইল-প্রস্তুত, যাতে আপনার শিক্ষার্থীরা তাদের মোবাইল ডিভাইস থেকে শিখতে পারে।

  • অপারেটিং সিস্টেম: এলইএমপি স্ট্যাকের একটি ন্যূনতম ইনস্টলেশন ইনস্টল
  • ডিস্ক স্পেস: মুডলটির জন্য 200MB এবং 5 জিবি সম্ভবত সামগ্রীতে সঞ্চয় করার একটি বাস্তবসম্মত।
  • প্রসেসর: 1GHz (মিনিট), 2GHz ডুয়াল-কোর বা আরও প্রস্তাবিত।
  • মেমোরি: 512MB (মিনিট), 1 জিবি বা আরও প্রস্তাবিত। 8 জিবি প্লাস সম্ভবত একটি বৃহত উত্পাদন সার্ভারে রয়েছে

এই পৃষ্ঠায়

  • মুডল ওয়েবসাইটের জন্য একটি ডোমেন ডিএনএস রেকর্ড তৈরি করা
  • CentOS 8 সার্ভারে মুডল লার্নিং প্ল্যাটফর্ম ইনস্টল করা
  • মুডল ওয়েবসাইট পরিবেশন করতে এনজিআইএনএক্স কনফিগার করছে
  • ওয়েব ইনস্টলারের মাধ্যমে মুডল ইনস্টলেশন সম্পূর্ণ করুন
  • লেটস এনক্রিপ্ট ব্যবহার করে মুডল সাইটে HTTPS সক্ষম করুন

1. সাবডোমেন তৈরি করে শুরু করুন যা ব্যবহারকারীরা মুডল অনলাইন লার্নিং সাইটে অ্যাক্সেস করতে ব্যবহার করবে। উদাহরণস্বরূপ, আপনার ডোমেনের নামটি যদি টেস্টপ্রজেক্টগুলি me হয় তবে আপনি learning.testprojects.me নামে একটি সাবডোমেন তৈরি করতে পারেন।

আপনার ডোমেন নামের উন্নত ডিএনএস সেটিংসটি খুলুন এবং নীচের চিত্রটিতে প্রদর্শিত হিসাবে একটি একটি রেকর্ড যুক্ত করুন।

২. মোডল ইনস্টল করার আগে নিশ্চিত হয়ে নিন যে আপনার সার্ভারে আপনার প্রয়োজনীয় পিএইচপি এক্সটেনশন রয়েছে, সেগুলি ইনস্টল করতে আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন:

# 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

৩. এরপরে নিম্নরূপে মুডল অ্যাপ্লিকেশনটির জন্য একটি ডাটাবেস তৈরি করুন।

# 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

৪. এখন অফিসিয়াল মুডাল প্রকল্পের ওয়েবসাইট থেকে মুডল (লেখার সময় 3.9) এর সর্বশেষ সংস্করণটি ডাউনলোড করুন, সংরক্ষণাগারটি ফাইলটি বের করুন এবং এটি আপনার ওয়েবরুটে স্থানান্তর করুন (/ভেরি/www/এইচটিএমএল/) ডিরেক্টরি, তারপরে মুডল ডিরেক্টরিতে ওয়েবসার্ভার অ্যাক্সেসের অনুমতি দেওয়ার জন্য উপযুক্ত অনুমতি এবং মালিকানা সেট করুন।

# 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

Next. এরপরে মোডলতা ডিরেক্টরিটি তৈরি করুন যা মুডল ইন্টারফেস দ্বারা আপলোড করা বা তৈরি করা ফাইলগুলির অবস্থান, তারপরে ওয়েবসার্ভারটিকে এতে পড়তে এবং লেখার অনুমতি দেওয়ার জন্য যথাযথ অনুমতি এবং মালিকানা নির্ধারণ করুন:

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

Next. এরপরে, মুডল ইনস্টলেশন ডিরেক্টরিতে যান এবং 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

Your. এছাড়াও আপনার মুডল সিটে অ্যাক্সেসের জন্য ব্যবহৃত ইউআরএল সেট করুন, এটি আপনার মুডল ওয়েব ফাইলগুলি যেখানে wwwroot এর অবস্থান এবং দাতরুট (মোডলডাটা ডিরেক্টরি) নির্দিষ্ট করে:

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

৮. এই বিভাগে আপনার মুডল অ্যাপ্লিকেশনটি সরবরাহ করার জন্য আপনাকে এনজিআইএনএক্স কনফিগার করতে হবে। আপনাকে এনজিআইএনএক্স কনফিগারেশনে প্রদর্শিত হিসাবে এটির জন্য একটি সার্ভার ব্লক তৈরি করতে হবে।

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

সার্ভার ব্লক কনফিগারেশন ফাইলটিতে নিম্নলিখিত কনফিগারেশনটি অনুলিপি করুন এবং আটকান। উপরে তৈরি করা আপনার সাবডোমেন নামের সাথে সার্ভারের নামটি প্রতিস্থাপন করুন এবং দ্রুতগতি_পাসটি পিএইচপি-এফএমপিতে নির্দেশ করবে (দ্রষ্টব্য যে সেন্টোস 8-এ, পিএইচপি-এফপিএম /etc/nginx/conf.d/php- এ সংজ্ঞায়িত ঠিকানা ব্যবহার করে ফাস্টসিজিআই অনুরোধগুলি গ্রহণ করে 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

১০. যদি আপনার সিস্টেমে সেলইনাক্স সক্ষম হয়ে থাকে তবে সার্ভারে মুডল ওয়েব ফাইল অ্যাক্সেসের জন্য সঠিক প্রসঙ্গটি নির্ধারণ করতে নিম্নলিখিত কমান্ডগুলি চালনা করুন:

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

১১. এছাড়াও, এনজিআইএনএক্স ওয়েব সার্ভারে ট্র্যাফিকের অনুমতি দেওয়ার জন্য ফায়ারওয়ালে এইচটিটিপি এবং এইচটিটিপিএস পরিষেবাদি চালু রয়েছে তা নিশ্চিত করুন:

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

12. মুডল ওয়েব ইনস্টলার অ্যাক্সেস করতে আপনার ওয়েব ব্রাউজারটি খুলুন এবং আপনি উপরে তৈরি সাবডোমেনটি ব্যবহার করে নেভিগেট করুন:

http://learning.testprojects.me

একবার স্বাগত পৃষ্ঠাগুলি শর্তাবলী এবং শর্তাবলী পড়ুন এবং চালিয়ে যান ক্লিক করুন।

13. এর পরে, ওয়েব ইনস্টলার আপনার সিস্টেমটি নির্দিষ্ট সংস্করণটির মেডল সাইট চালানোর জন্য প্রয়োজনীয়তা পূরণ করে কিনা তা যাচাই করবে। আরও তথ্য দেখতে আপনি নীচে স্ক্রোল করতে পারেন।

14. ইনস্টলারটি এইচটিটিপিএস সক্ষম না হওয়ার বিষয়ে অভিযোগ করবে, আপাতত সেই ত্রুটিটি উপেক্ষা করুন (পরবর্তী বিভাগে, আমরা মুডলে কীভাবে এইচটিটিপিএস সক্ষম করব তা দেখাব), এবং ওয়েব ফাইলগুলির প্রকৃত ইনস্টলেশন শুরু করতে চালিয়ে ক্লিক করুন।

15. এখন ইনস্টলারটি নিম্নলিখিত স্ক্রিনশটটিতে প্রদর্শিত মোডল ফাইলগুলির প্রকৃত ইনস্টলেশন শুরু করবে। এটি সম্পূর্ণ হয়ে গেলে, চালিয়ে যান ক্লিক করুন।

16. পরবর্তী পদক্ষেপে, আপনার ব্যবহারকারীর নাম, পাসওয়ার্ড, নাম এবং উপাধি এবং ইমেল ঠিকানা আপডেট করে আপনার মুডল সাইটের প্রশাসক অ্যাকাউন্ট আপডেট করতে হবে। তারপরে পৃষ্ঠাটি স্ক্রোল করুন এবং আপডেট আপডেট ক্লিক করুন।

17. তারপরে মুডল সাইট ফ্রন্ট-পৃষ্ঠা সেটিংস আপডেট করুন। তারপরে নীচে স্ক্রোল করুন এবং আপনার মুডল সাইটটি ব্যবহার শুরু করতে আপডেট ক্লিক করুন।

18. এর পরে, আপনাকে স্ক্রিনের নির্দেশাবলী অনুসরণ করে আপনার সাইটটি নিবন্ধিত করতে হবে। আপনি ড্যাশবোর্ডে ক্লিক করে ড্যাশবোর্ডে যেতে পারেন।

এইচটিটিপিএস আপনার ব্যবহারকারীদের এবং মুডল অ্যাপ্লিকেশন (বিশেষত এনজিআইএনএক্স ওয়েব সার্ভার যা অনুরোধগুলি গ্রহণ করে এবং প্রতিক্রিয়া সরবরাহ করে) এর মধ্যে সুরক্ষিত যোগাযোগ সক্ষম করতে আপনার সাইটের সুরক্ষার প্রথম স্তর যুক্ত করে।

আপনি হয় বাণিজ্যিক সিএ থেকে কোনও এসএসএল/টিএলএস শংসাপত্র কিনতে পারেন বা লেটস এনক্রিপ্ট ব্যবহার করতে পারেন যা সমস্ত আধুনিক ওয়েব ব্রাউজার দ্বারা বিনামূল্যে এবং স্বীকৃত। এই গাইডের জন্য, আমরা লেটস এনক্রিপ্ট ব্যবহার করব।

19. লেটস এর এনক্রিপ্ট শংসাপত্রের ডিপ্লোমেন্ট স্বয়ংক্রিয়ভাবে সার্টিবোট সরঞ্জামটি ব্যবহার করে পরিচালনা করা হয়। নিম্নলিখিত কমান্ডের সাহায্যে আপনি সারটিবোট এবং অন্যান্য প্রয়োজনীয় প্যাকেজ ইনস্টল করতে পারেন:

# dnf install certbot python3-certbot-nginx

20. তারপরে একটি লেটস এনক্রিপ্ট শংসাপত্র পাওয়ার জন্য নিম্নলিখিত কমান্ডটি চালান এবং সার্টবট এটি পরিবেশন করতে আপনার এনজিআইএনএক্স কনফিগারেশনটি স্বয়ংক্রিয়ভাবে সম্পাদনা করুন (এটি এইচটিটিপিএসকে স্বয়ংক্রিয়ভাবে এইচটিটিপিএসে পুনঃনির্দেশিত করার জন্য কনফিগার করবে)।

# certbot --nginx

21. এর পরে চলুন এর এনক্রিপ্ট এসএসএল/টিএলএস শংসাপত্রটি স্বয়ংক্রিয়ভাবে নবায়ন সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান:

# 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. এরপরে, এইচটিটিপিএস ব্যবহার শুরু করার জন্য আপনার মুডল কনফিগারেশনটি আপডেট করুন।

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

wwwroot URL টি HTTP থেকে HTTPS এ পরিবর্তন করুন:

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

23. সর্বশেষে তবে অন্তত নয়, আপনার মুডল সাইটটি এখন এইচটিটিপিএসে চলছে তা নিশ্চিত করুন।

আপাতত এই পর্যন্ত! আপনার নতুন শিখন প্ল্যাটফর্মটি চালানোর জন্য আরও তথ্য এবং কনফিগারেশন বিকল্পগুলির জন্য, মুডল ওয়েবসাইটটিতে যান এবং অফিসিয়াল ডকুমেন্টেশনের মাধ্যমে পড়ুন।