كيفية تثبيت Moodle 3.3.x على CentOS 7

Moodle عبارة عن منصة تعليمية مفتوحة المصدر أو نظام إدارة الدورات التدريبية (CMS) - حزمة برامج مفتوحة المصدر مجانية مصممة لمساعدة المعلمين على إنشاء دورات فعالة عبر الإنترنت.

سيغطي هذا البرنامج التعليمي عملية تثبيت أحدث إصدار ثابت من Moodle ، Moodle 3.3.2+ ، على خادم CentOS 7.

المتطلبات الأساسية

  • نسخة خادم CentOS 7 x64 مع 2 غيغابايت على الأقل من ذاكرة الوصول العشوائي (4 غيغابايت أو أكثر مستحسن).
  • A المستخدم سودو .
  • مستودع EPEL يم.

الخطوة 1: تحديث النظام

قم بتسجيل الدخول إلى الخادم الخاص بك عبر SSH باستخدام مستخدم sudo لتثبيت epelوتحديث النظام وإعادة التشغيل لتطبيق التحديثات.

sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now

الخطوة 2: تثبيت Apache 2.4.x

sudo yum install httpd -y

أثناء الإنتاج ، يجب عليك إزالة صفحة ترحيب Apache المضبوطة مسبقًا:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

منع أباتشي من إدراج ملفات دليل الويب للزوار:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

ابدأ تشغيل خدمة Apache وتمكينها من البدء التلقائي عند التمهيد

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

الخطوة 3: تثبيت MariaDB 10.2.x

يخزن موودل جميع بياناته إلى قاعدة بيانات MySQL. MariaDB هو بديل بديل لـ MySQL وسنقوم بتثبيت أحدث إصدار ثابت ، MariaDB 10.2.x.

3.1 تثبيت وبدء MariaDB 10.2.x
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.2 تأمين تثبيت MariaDB
sudo /usr/bin/mysql_secure_installation

أجب عن الأسئلة على النحو التالي ، وتأكد من استخدام كلمة مرور جذرية قوية لـ MariaDB بدلاً من النموذج الذي يظهر أدناه:

  • أدخل كلمة المرور الحالية للجذر (أدخل بلا): فقط اضغط على Enterالزر
  • هل تريد تعيين كلمة مرور الجذر؟ [نعم / لا]:Y
  • كلمة سر جديدة: your-root-password
  • أعد إدخال كلمة المرور الجديدة: your-root-password
  • إزالة المستخدمين المجهولين؟ [نعم / لا]:Y
  • عدم السماح بتسجيل الدخول إلى الجذر عن بُعد؟ [نعم / لا]:Y
  • هل تريد إزالة قاعدة بيانات الاختبار والوصول إليها؟ [نعم / لا]:Y
  • إعادة تحميل جداول الامتيازات الآن؟ [نعم / لا]:Y
3.3 إنشاء قاعدة بيانات MariaDB لـ Moodle

قم بتسجيل الدخول إلى هيكل MySQL مثل root:

mysql -u root -p

اكتب كلمة مرور الجذر MariaDB التي قمت بتعيينها مسبقًا عند مطالبتك بذلك.

في هيكل MySQL shell ، أنشئ قاعدة بيانات moodle، مستخدم قاعدة بيانات moodleuser، كلمة مرور مستخدم قاعدة البيانات yourpasswordكما يلي.

ملاحظة: لأغراض أمنية ، يجب عليك استبدال نموذج كلمة المرور yourpasswordالمذكورة أعلاه بكلمات المرور الخاصة بك.

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

الخطوة 4: تثبيت PHP 7.1 وملحقات PHP 7.1 الضرورية

مطلوب أيضا PHP من قبل موودل. من أجل تحقيق أداء أفضل ، يمكنك تثبيت PHP 7.1 والعديد من امتدادات PHP 7.1 على النحو التالي:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y

الخطوة 5: تثبيت Moodle 3.3.2+

5.1 تحضير ملفات برنامج موودل

في وقت كتابة هذا التقرير ، كان أحدث إصدار ثابت من Moodle Moodle 3.3.2+. قم بتنزيل Moodle 3.3.2+الأرشيف وفك ضغطه كما يلي:

ملاحظة: يمكنك دائمًا الحصول على عنوان URL للتنزيل لأحدث إصدار ثابت من Moodle من صفحة التنزيل الرسمية .

cd
yum install -y wget
wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz
sudo tar -zxvf moodle-latest-33.tgz -C /var/www/html
sudo chown -R root:root /var/www/html/moodle
5.2 إعداد دليل بيانات مخصص لـ Moodle

لأغراض الأمان ، يجب أن يكون دليل البيانات هذا خارج دليل جذر الويب:

sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 قم بإعداد مضيف افتراضي لـ Moodle

ملاحظة: تذكر لاستبدال قيم ServerAdmin، ServerName، ServerAlias، Errorlog، و CustomLogمع تلك الخاصة بك.

cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/moodle/
ServerName moodle.example.com
ServerAlias www.moodle.example.com
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF
5.4 إعداد SELinux

في مثيل خادم Vultr CentOS 7 الذي أستخدمه ، يتم تعطيل SELinux افتراضيًا. ربما تكون سياسة أمنية أقل أمانًا ولكنها أسهل. إذا كنت في نفس الحالة وترغب في الاحتفاظ بها بهذه الطريقة ، فما عليك سوى تجاهل التعليمات الواردة في هذا القسم والانتقال إلى القسم التالي.

إذا كنت تستخدم مثيل خادم مع تمكين SELinux في وضع الفرض ، فأنت بحاجة إلى إعداد SELinux على النحو التالي.

إظهار حالة SELinux:

sestatus

على مثيل خادم CentOS 7 Minimal x64 1708 ، يكون الإخراج هو:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

تثبيت أدوات إدارة SELinux المطلوبة:

sudo yum install -y policycoreutils policycoreutils-python 

قم بإعداد سياقات SELinux الخاصة بملفات Moodle على النحو التالي:

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/moodle(/.*)?'
sudo restorecon -Rv '/var/www/html/moodle/'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/moodledata(/.*)?'
sudo restorecon -Rv '/var/moodledata/'
5.5 تثبيت موودل من CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php

عند المطالبة ، قدم المعلومات اللازمة وفقًا للإعدادات المحددة لإعدادك. يتم سرد المعلومات التلخيصية أدناه:

== Choose a language ==
en - English (en)
? - Available language packs
type value, press Enter to use default value (en)
: en
-------------------------------------------------------------------------------
== Data directories permission ==
type value, press Enter to use default value (2777)
: 2777
-------------------------------------------------------------------------------
== Web address ==
type value
: http://203.0.113.1
-------------------------------------------------------------------------------
== Data directory ==
type value, press Enter to use default value (/var/www/html/moodledata)
: /var/moodledata
-------------------------------------------------------------------------------
== Choose database driver ==
 mysqli
 mariadb
type value, press Enter to use default value (mysqli)
: mariadb
-------------------------------------------------------------------------------
== Database host ==
type value, press Enter to use default value (localhost)
: localhost
-------------------------------------------------------------------------------
== Database name ==
type value, press Enter to use default value (moodle)
: moodle
-------------------------------------------------------------------------------
== Tables prefix ==
type value, press Enter to use default value (mdl_)
: mdl_
-------------------------------------------------------------------------------
== Database port ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Unix socket ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Database user ==
type value, press Enter to use default value (root)
: moodleuser
-------------------------------------------------------------------------------
== Database password ==
type value
: yourpassword
-------------------------------------------------------------------------------
== Full site name ==
type value
: My Moodle Site
-------------------------------------------------------------------------------
== Short name for site (eg single word) ==
type value
: moodle
-------------------------------------------------------------------------------
== Admin account username ==
type value, press Enter to use default value (admin)
: admin
-------------------------------------------------------------------------------
== New admin user password ==
type value
: your-admin-password
-------------------------------------------------------------------------------
== New admin user email address ==
type value, press Enter to use default value ()
: admin@example.com
-------------------------------------------------------------------------------
== Upgrade key (leave empty to not set it) ==
type value
:
-------------------------------------------------------------------------------
Have you read these conditions and understood them?
type y (means yes) or n (means no)
: y
5.6 تعديل أذونات /var/www/html/config.php

بعد تثبيت Moodle بنجاح ، تحتاج إلى السماح apacheللمستخدم بقراءة تكوينات Moodle عن طريق تعديل الأذونات على /var/www/html/config.phpالنحو التالي:

sudo chmod o+r /var/www/html/moodle/config.php
5.7 إعداد وظيفة كرون

بالإضافة إلى ذلك ، تحتاج إلى إعداد وظيفة cron من أجل الحفاظ على عمل Moodle بشكل صحيح:

sudo crontab -u apache -e

تعبئة ملف cron بـ:

* * * * *    /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null

احفظ واخرج:

:wq!
5.8 أعد تشغيل Apache

أعد تشغيل Apache لتطبيق جميع تعديلاتك:

sudo systemctl restart httpd.service
5.9 تعديل قواعد جدار الحماية للسماح بوصول HTTP
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

أخيرًا ، http://203.0.113.1قم بتوجيه متصفح الويب الخاص بك لزيارة موقع Moodle على الويب. استخدم اسم المستخدم وكلمة المرور للمشرف الذي قمت بإعداده مسبقًا لتسجيل الدخول.

بهذا نختتم برنامجنا التعليمي. شكرا للقراءة.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد