linux sysadmin installs moodle lms on ubuntu server

كيفية تثبيت موودل على خادم أوبونتو 22.04 | 20.04

Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.

We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.

قبل أن تبدأ

تحقق من لدينا خدمة استضافة موودل طبعة المجتمع. يمكنك البدء في استخدام نظام إدارة التعلم (LMS) دون الحاجة إلى تثبيته!

المتطلبات المسبقة

  • تثبيت أ خادم VPS مع أوبونتو 22.04 عليه
  • احصل على مؤهل كامل اسم المجال pointing to your server’s IP address, such as “moodle.example.org”

للحصول على أمثلة في هذا الدليل سوف نستخدم المجال moodle.example.org، قم بتغييره إلى اسم المجال الخاص بك.

تحضير خادم Ubuntu لتثبيت Moodle

قم بتحديث النظام

First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.

$ sudo apt update && apt upgrade -y

executing apt update and apt upgrade commands to update Ubuntu server before proceed to moodle installation

قم بتثبيت خادم Apache، PHP-8.1، MariaDB MySQL

بعد ذلك، قم بتثبيت تبعيات Moodle. نحتاج إلى تثبيت خادم الويب Apache، وPHP 8.1، وخادم MariaDB SQL، وخادم البريد، وقائمة ملحقات PHP التي يتطلبها Moodle.

$ sudo apt install apache2 php8.1 mariadb-server postfix 
$ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl

عند اكتمال التثبيت، ابدأ تشغيل خادم الويب Apache.

$ sudo systemctl start apache2 
$ sudo systemctl enable apache2

قم بتكوين Apache VirtualHost وPHP-FPM

سنقوم بتشغيل Moodle 4.2 على Apache وPHP-FPM. في الخطوة التالية سنقوم بتكوين PHP-FPM لـ Apache.

1. قم بتشغيل خدمة PHP-FPM وقم بتمكينها عند التمهيد.

$ sudo systemctl start php8.1-fpm
$ sudo systemctl enable php8.1-fpm

2. لاستخدام PHP-FPM مع Apache، نحتاج إلى تمكين proxy_fcgi ووحدات الوكيل.

sudo a2enmod proxy_fcgi proxy

3. قم بإنشاء ملف تكوين Apache لموودل.

$ sudo nano /etc/apache2/sites-available/moodle.conf

أدخل التكوين التالي في mockle.conf. يستبدل اسم الخادم، DocumentRoot، الدليل مع القيم الخاصة بك.

<VirtualHost *:80>
ServerName moodle.example.org
ServerAlias www.moodle.example.org
DocumentRoot /home/moodle/public_html

<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

احفظ الملف وأغلقه بالضغط على CTRL X، ثم Y، ثم Enter.

4. قم بتمكين المضيف الظاهري الجديد وأعد تحميل خادم الويب Apache.

$ a2ensite moodle
$ systemctl reload apache2

5. Also it’s nice to have a rewrite and SSL modules enabled

# a2enmod rewrite
# a2enmod ssl
# systemctl restart apache2

إنشاء قاعدة بيانات ومستخدم قاعدة البيانات

1. ابدأ وتمكين خادم MariaDB SQL

root@moodle-lms-install:~# systemctl start mariadb 
root@moodle-lms-install:~# systemctl enable mariadb

2. إنشاء مستخدم وقاعدة بيانات MySQL

root@moodle-lms-install:~# mysql
MariaDB [(none)]> create database moodle_dev;
MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password';
MariaDB [(none)]> flush privileges;

بمجرد الانتهاء من تهيئة Apache وPHP وMySQL، يمكننا متابعة تثبيت كود موودل.

تثبيت كود موودل

1. قم بإنشاء دليل رئيسي لموقع Moodle والدليل العام

$ useradd --create-home -s /bin/sh moodle
$ mkdir -p /home/moodle/public_html
$ chmod 711 /home/moodle

2. قم بتنزيل أحدث كود Moodle واستخرجه في الدليل العام.

يمكنك تحميل أحدث مودل من https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”

قم بتشغيل التثبيت في المتصفح

قبل المتابعة إلى هذه الخطوة النهائية، يتعين عليك توجيه اسم المجال الخاص بك إلى عنوان IP الخاص بالخادم الخاص بك. عندما يتم تكوين DNS، يمكنك تشغيل تثبيت Moodle في المتصفح.

1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.

2. Choose website’s language. We will keep English.

choosing a language of moodle during installation
اختيار لغة الموودل أثناء التثبيت

 

3. تأكيد المسارات

في الخطوة التالية تأكد من صحة عنوان الويب ودليل مودل ودليل البيانات. كان دليل البيانات مفقودًا في عملية التثبيت لدينا، لذلك قمنا بإنشائه في هذه الخطوة.

# mkdir /home/moodle/moodledata
# chown www-data:www-data /home/moodle/moodledata

confirm web address, moodle directory, data directory

4. اختر خادم قاعدة البيانات

نحن نستخدم MariaDB لهذا الدليل. حدد MariaDB من القائمة المنسدلة.

choose MariaDB from dropdown

5. أدخل إعدادات قاعدة البيانات

أدخل اسم قاعدة البيانات ومستخدم قاعدة البيانات وكلمة المرور التي أنشأناها مسبقًا.

input database settings

6. قم بإنشاء ملف config.php

After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).

7. قبول الترخيص

يجب عليك قراءة اتفاقية ترخيص Moodle وقبولها في هذه الخطوة.

8. اجتياز عمليات فحص الخادم

Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.

$ nano /etc/php/8.1/fpm/php.ini
$ systemctl reload php8.1-fpm

fix max_input_vars error during moodle installation

9. قم بتكوين حساب المسؤول الرئيسي الخاص بك

في هذه الخطوة يجب عليك تكوين حساب المسؤول. أدخل اسم مستخدم المسؤول وكلمة المرور والتفاصيل الأخرى المطلوبة.

10. أدخل إعدادات الصفحة الرئيسية للموقع

قم بتكوين اسم الموقع والاسم المختصر للموقع وملخص الصفحة الرئيسية للموقع ومعلومات أخرى.

 

configure moodle site settings

قم بإنشاء الدورة التدريبية الأولى الخاصة بك!

After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!

my courses tab in fresh installed moodle site