Ubuntu 20.04'te Moodle Öğrenme Platformu Nasıl Kurulur


Moodle, web ve mobil cihazlar için oluşturulmuş dünyanın en popüler, sağlam, ücretsiz ve açık kaynaklı çevrimiçi öğrenme (e-öğrenme) yönetim platformudur. Okulların, üniversitelerin ve ilgili kurumların öğrencilere ders ve müfredatlarını aksatmadan her zaman, her yerde esnek bir öğrenme platformu sunmasına olanak tanıyan çok çeşitli etkinlikler ve eğitim araçları sunar.

Genel özelliklerinden bazıları arasında modern, kullanımı kolay bir arayüz, kişiselleştirilmiş kontrol paneli, ortak çalışmaya dayalı araçlar ve etkinlikler, hepsi bir arada takvim, kullanışlı dosya yönetimi, basit sezgisel metin düzenleyici, bildirimler ve ilerleme takibi yer alır.

Önemli olan, Moodle'ın ekstra etkinlikleri, blokları, temaları ve çok daha fazlasını destekleyen binin üzerinde eklentiyi kullanarak oldukça genişletilebilir olmasıdır.

Bu makalede, Moodle Learning Platform'un NGINX ve MySQL/MariaDB veritabanı içeren en son sürümünü Ubuntu 20.04'e nasıl kuracağınızı ve eski versiyonlar.

Sunucu Gereksinimleri:

  • LEMP Yığını yüklü, yeni yüklenmiş bir Ubuntu 20.04 Sunucusu.

LEMP yığınını Ubuntu sunucusuna yükledikten sonra, aşağıda açıklandığı gibi sunucuda Moodle kurulumuna devam edebilirsiniz.

Bu sayfada

  • Moodle Uygulaması İçin DNS Kaydı Ayarlama
  • Ubuntu Sunucusuna Moodle Kurulumu
  • NGINX'i Moodle Uygulamasını Sunacak Şekilde Yapılandırma
  • Moodle Kurulumunu Web Installer Aracılığıyla Tamamlama
  • Let's Encrypt Kullanarak Moodle Uygulamasında HTTPS'yi Etkinleştirin

Moodle Uygulaması İçin DNS Kaydı Ayarlama

1. Kullanıcıların Moodle örneğinize erişmesi için, bunun için bir alt alan adı oluşturmanız gerekir; dolayısıyla bir DNS oluşturmanız gerekir. Bunu başarmak için bir kayıt. Bu kılavuz için test alan adımız testprojects.me'dir, dolayısıyla bir alt alan adı oluşturmamız gerekir, örneğin, learning.testprojects.me.

Bu nedenle, alan adı kayıt kuruluşunuzun web konsoluna giriş yapın ve alan adınızın gelişmiş ayarlarına erişin, A türünde Yeni Kayıt Ekle'yi tıklayın; bir ana makine öğreniyor olmalıdır (veya seçtiğiniz herhangi bir kelime) ve değer, Ubuntu sunucunuzun genel IP adresi olmalıdır.

Ubuntu Sunucusuna Moodle Kurulumu

2. Daha sonra, gösterildiği gibi apt paket yöneticisini kullanarak Moodle'ın gerektirdiği PHP uzantılarını ve kitaplıklarını yüklemeniz gerekir.

sudo apt update
sudo apt 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. Ardından, Moodle sisteminiz için bir veritabanı oluşturun. MySQL veritabanı yönetim kabuğunda oturum açın ve gösterildiği gibi veritabanını oluşturun:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Daha önce de belirtildiği gibi, bu kılavuz için en son Moodle sürümünü (bu yazının yazıldığı sırada sürüm 3.9) indirip yükleyeceğiz. Moodle paketini almak için aşağıdaki wget komutunu çalıştırın ve onu çıkarmak için sırasıyla tar komutunu kullanın. Daha sonra, gösterildiği gibi /var/www/html/ altında moodle dizininin mevcut olduğunu onaylamak için ls komutunu kullanın.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Ardından, aşağıdaki komutları çalıştırarak Moodle dizininde uygun izinleri ayarlayın.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Ardından, Moodle'ın yüklenen dosyaları kaydedebileceği ve izinlerini gösterildiği gibi ayarlayabileceği bir yer olan Moodle veri dizinini oluşturun.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Daha sonra paketle birlikte verilen örnek yapılandırma dosyasından Moodle ana yapılandırma dosyasını oluşturun, açın.

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

Veritabanı yapılandırması bölümünü bulun, ardından aşağıdaki ekran görüntüsünde gösterildiği gibi tüm Moodle verilerinin depolanacağı veritabanını yapılandırın:

$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    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Ayrıca, Moodle web sitesi konumunun yanı sıra Moodle veri dizininin konumunu da gösterildiği gibi yapılandırın.

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

Dosyayı kapatarak kaydedin. Ardından NGINX'i, sonraki bölümde anlatıldığı gibi Moodle sitenizi sunuculayacak şekilde yapılandırın.

NGINX'i Moodle Uygulamasını Sunacak Şekilde Yapılandırma

8. NGINX'in Moodle sitenize sunuculuk yapması için, NGINX yapılandırması altında /etc/nginx/conf.d/.

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

Aşağıdaki yapılandırmayı kopyalayıp buraya yapıştırın, learning.testprojects.me'yi alt alan adınızla değiştirin. Ayrıca, fastcgi_pass yönergesi PHP-FPM'nin FastCGI isteklerini kabul ettiği adresi göstermelidir (/etc/php/7.4/fpm/pool.d/www.conf dosyası).

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           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Dosyayı kaydedin ve kapatın.

9. Ardından, yukarıdaki değişiklikleri yaptıktan sonra NGINX yapılandırmasının iyi durumda olduğunu doğrulayın ve ardından NGINX hizmetini sorunsuz bir şekilde yeniden başlatın.

sudo nginx -t
sudo systemctl reload nginx

Moodle Kurulumunu Web Installer Aracılığıyla Tamamlama

10. Şimdi bir web tarayıcısı açın ve Moodle web yükleyicisine erişmek için alt alan adınızı (örneğin, learning.testprojects.me) kullanarak gezinin.

http://learning.testprojects.me

Hoş geldiniz sayfası yüklendikten sonra mesajın tamamını okuyun ve Devam'ı tıklayın.

11. Daha sonra yükleyici, sisteminizin gereksinimleri karşılayıp karşılamadığını kontrol edecektir; her şey yolundaysa dosyaların gerçek kurulumunu ve veritabanı kurulumunu başlatmak için aşağı kaydırın ve Devam'ı tıklayın. şema.

Yükleyicinin sitenin HTTPS'de çalışmadığına ilişkin bir uyarı göstereceğini unutmayın; uyarıyı şimdilik dikkate almayın. Son bölümde, ücretsiz Let's Encrypt sertifikalarını kullanarak Moodle'da HTTPS'nin nasıl etkinleştirileceğini ele alacağız.

Kurulum tamamlandıktan sonra Devam'ı tıklayın.

12. Ardından, hesabın kullanıcı adını, şifresini, adını, soyadını ve e-posta adresini oluşturarak Moodle sitenizin yönetici hesabını yapılandırın. Ardından aşağı kaydırın ve Hesabı Güncelle'yi tıklayın.

13. Ardından, Moodle sitesinin ön sayfa ayarlarını aşağıdaki ekran görüntüsünde gösterildiği gibi yapılandırın. Ardından aşağı kaydırın ve Güncelle'yi tıklayın.

14. Web yükleyicisi otomatik olarak yeni Moodle sitesinde oturum açacaktır. Ekrandaki talimatları takip ederek site kaydınızı tamamlayabilirsiniz.

Let's Encrypt Kullanarak Moodle Uygulamasında HTTPS Kurulumu

15. Moodle sitenizi korumak için HTTPS'yi etkinleştirmeniz gerekir. Bu kılavuz için Let's Encrypt'in ücretsiz ve güvenilir SSL/TLS sertifikalarını kullanacağız. Let's Encrypt kullanmanın bir diğer avantajı da otomatik olmasıdır.

Bu nedenle, terminalinize geri dönün ve Ubuntu'ya certbot'u (manuel olarak yönetilen sitelerde HTTPS'yi etkinleştirmek için Let's Encrypt sertifikalarını otomatik olarak kullanmaya yönelik ücretsiz, açık kaynaklı bir araç) yüklemek için aşağıdaki komutu çalıştırın.

sudo snap install --classic certbot

16. Ardından bir sertifika almak için aşağıdaki komutu verin ve yeni sertifikayı otomatik olarak yapılandırmak için Certbot'un NGINX yapılandırmanızı düzenlemesini sağlayın.

sudo certbot --nginx

17. Ardından Moodle site yapılandırma dosyasına geri dönün.

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

ve aşağıdaki ekran görüntüsünde gösterildiği gibi URL'yi HTTP'den HTTPS'ye değiştirin.

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

18. Son olarak, Moodle sitenizin artık HTTPS'de çalıştığını tarayıcıdan doğrulayın.

https://learning.testprojects.me

Şimdilik bu kadar! Daha fazla bilgi, yapılandırma seçenekleri ve kullanım kılavuzu için Moodle 3.9 belgelerine gidin.