Open Source

Moodle ile Uzaktan Eğitim Sistemi Kurulumu – Bölüm 1

Tüm Dünyayı sarsan Koronavirüs yayılmaya devam ederken Ülkemizde önlemler alınmaya devam ediyor. Bugünlerde kamu ya da özel sektör artık evden çalışma modeline dönmeye başladı. Bunun yanında tüm eğitim öğretim kurumları öğrencilerine evlerinden eğitim verebilmek için uzaktan eğitim sistemlerine yatırım yaptılar ve yapmaya devam ediyorlar.

Bu makalede özür yazılım dünyasından gelen MOODLE uzaktan eğitim sisteminin nasıl kurulacağını ve MOODLE ile beraber entegre çalışabilen BigBlueButton konferans sisteminin nasıl kurulup MOODLE entegrasyonunun nasıl yapılacağını anlatmaya çalışacağım.

Makale serimiz iki bölümden oluşacaktır. İlk bölünde kuracağımız yapıdan bahsedip sonrasında MOODLE kurulumunu yapacağız. İkinci makalede ise BigBlueButton kurulumu yapıp MOODLE entegrasyonunu sağlayacağız.

İki makale sonunda uzaktan eğitim sistemi hazır olacak ve sistem üzerinden canlı uzaktan dersler verebilecek, eğitim içerikleri paylaşıp bir uzaktan eğitim sisteminin sahip olması gereken tüm dijital materyallere sahip olacaksınız.

İlk olarak kurmak istediğimiz yapıyı inceleyelim.

Ortamımızda domain yapısı var, bu kullanıcılarımız merkezi olarak yönetmemizi sağlayacak. Bu bir zorunluluk değil istenirse AD olmadan kurulum yapılabilir bu sefer farklı kullanıcı yönetim metotları kullanmanız gerekir örneğin, el ile manuel kullanıcı kaydı veya eposta ile selfservice dediğimiz kullanıcı kayıtları, MOODLE tüm bu yöntemleri destekler.

UYARI 1 : MOODLE server ile BigBlueButton kurulacak sunucuları bir birinden ayırıyorum zaten best practice olarak ta böyle isteniyor.

UYARI 2 : BigBlueButton server üzerinde tutacağınız uzaktan eğitim kayıtları için yeterli disk alanını ayırmayı unutmayın yada bu iş için nas üzerinde bir alanını sisteme bağlayarak da kullanabilirsiniz.

UYARI 3 : Uzaktan canlı eğitim vermek istendiğinde iyi bir band genişliğine ihtiyacınız olduğunu unutmayın.

UYARI 4 : HTTPS sertifikası kullanmayı ihmal etmeyin.

UYARI 5 : Erişim için VPN veya başka bir güvenlik önlemi almadan direk dışarı açacaksanız firewall kurallarını gözden geçirin sadece ihtiyacınız kadar portu dışarı açınız.

Bizim yapımızda :

  • 1 Adet Active Directory ( Windows Server 2019 )
  • 1 Adet Ubuntu Server 18.04 LTS – MOODLE Server
  • 1 Adet Ubuntu Server 16.04 LTS – BigBlueButton Server – “Burada Ubuntu versiyonu olarak 16.06 LTS seçmemdeki sebep, yaptığım testlerde en sağlıklı bu versiyonda çalıştı.”

Hadi başlıyalım

İlk olarak MOODLE kurulumu yapacağım. Bunun için elimde Ubuntu 18.04 LTS mevcut ve tüm updateleri yapılmış vaziyette.

Şimdi gerekli paketleri yüklemeye başlıyorum.

apt-get install graphviz aspell ghostscript clamav git

mysql’i yüklüyorum

apt-get install mysql-server mysql-client

Bu komut mysql’i start ediyor “systemctl start mysql
Bu komut mysql’i sistem her açıldığında başlamasını sağlıyor “systemct enable mysql

systemctl start mysql 
systemctl enable mysql

Bu komut ile “mysql_secure_installation” temel mysql ayarlarını yapıyoruz. Bazı sorular sormaya başlıyor bunlar şöyle.

Enter current password for root (enter for none): Just press the Enter “Enter’e basıp geçiyorsunuz.”
Set root password? [Y/n]: Y “Yeni bir şifre tanımlamak isteyip istemediğinizi soruyor, yeni bir şifre tanımlayacağımız için Y ile devam ediyorum.
New password: Enter password “Yeni şifrenizi giriniz.
Re-enter new password: Repeat password “Yeni şifrenizi tekrardan giriniz.
Remove anonymous users? [Y/n]: Y “anonymous users kullanıcıları kaldırmak istiyormusunuz diyor Y ile kadırıyorum
Disallow root login remotely? [Y/n]: Y “root kullanıcının uzaktan erişim izni verilmesi ile ilgili bir soru, Y diyerek uzaktan erişimi root kullanıcısı için kapatıyorum.”
Remove test database and access to it? [Y/n]: Y “test veri tabanları ve erişimleri Y ile kaldırıyorum.
Reload privilege tables now? [Y/n]: Y “Yapılan değişiklikleri güncelliyor, Y diyoruz.

apache ve diğer gerekli olan paketleri yüklüyoruz.

apt-get install apache2 php libapache2-mod-php php-cli php-mysql php-mbstring php-xmlrpc php-zip
apt-get install php-gd php-xml php-bcmath php-ldap php-pspell  php-curl php-intl php-soap

apache server’ı resetliyoruz

service apache2 restart

Şimdi sıra MOODLE’ın son sürümünü indirmeye geldi. Bunun için “opt” klasörüne gidiyorum ve aşağıdaki komut ile moodle’ın son sürümünü indiriyorum.

wget https://download.moodle.org/stable38/moodle-latest-38.tgz

İndirdiğim sıkıştırılmış dosyayı açıyorum.

tar -zxvf moodle-latest-38.tgz

Aşağıdaki komutları sıra ile giriyorum.

sudo cp -R /opt/moodle /var/www/html/
chown www-data.www-data /var/www/html/moodle -R
chmod 0755 /var/www/html/moodle -R
mkdir /var/www/moodledata
chown www-data /var/www/moodledata -R
chmod 0770 /var/www/moodledata -R

Sıra geldi mysql üzerinde MOODLE için veri tabanı oluşturmaya.

Aşağıdaki komut ile mysql’e root kullanıcı ile giriş yapıyorum. Sizden şifre isteyecek, mysql kurulumu yaparken girdiğiniz şifreyi buraya yazınız.

mysql -u root -p

Aşağıdaki komut ile “moodle” isminde bir veri tabanı oluşturdum.

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Kullanıcı adı “moodle” olan ve şifresi “moodlesifre” olan bir tanımlama yaptım siz istediğiniz gibi değiştirebilirsiniz.

CREATE USER 'moodle'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moodlesifre';

Aşağıdaki komut ile “moodle” kullanıcısına “moodle” isimli veri tabanı üzerinde izinleri atıyorum.

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodle@localhost;

quit” komutu ile mysql den çıkalım, artık hazırız.

quit;

Şimdi “http://sunucunuzun ip adresi/moodle” adresini kullanarak kuruluma başlayabiliriz.

Türkçe’i seçip devam ediyorum.

MOODLE için oluşturduğunuz veri tabanı bilgilerini giriyorum.

Bağlantımız “HTTPS” olmadığı için uyarıyor, sorun değil devam edelim.

MOODLE için yönetici hesabı oluşturuyoruz.

Başarılı bir şekilde kurulum bitti.

Şimdi kurulum bitti ama bir şey daha yapacağız. şuan için MOODLE ana sayfasına ulaşmak için ip adresini kullanıyoruz. Bunun böyle olmasını istemiyorum, direk adres üzerinden ulaşmak istiyorum.

Benim ortamım lokal bir ortam olduğu için AD üzerindeki DNS üzerinde bir host A kaydı oluşturdum. Eğer siz bunu dışarı açacaksanız dnsleriniz nerede ise oraya bir host A kaydı açıp ilgili ip yönlendirmelerinizi ayarlamanız gerekli.

uzaktanegitim” adında bir host A kaydı açıyorum.

Yeniden MOODLE sunucuma geri dönüp “resolv.conf” dosyamı düzenliyorum.

nano /etc/resolv.conf"

nameserver olarak dns sunucumun ip adresini giriyorum.

Bu işlemden sonra başarı ile dns kaydımı sorgulayabildiği mi görüyorum.

Aşağıdaki komut ile “config.php” dosyasını düzenliyorum. Yeşil ile işaretlenmiş alanı kendi host A kaydınıza göre düzenleyin.

nano /var/www/html/moodle/config.php

Sora geldi apache üzerinde virtualhost oluşturmaya.

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

Açılan dosyanın içeriği aşağıdaki gibidir. Kaydedin ve çıkın.

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/moodle/
ServerName  uzaktanegitim.lab.local
ServerAlias uzaktanegitim.lab.local

<Directory /var/www/html/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>

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

</VirtualHost>

Aşağıdaki komutları sırasıyla giriniz.

sudo a2enmod rewrite
sudo a2ensite moodle.conf
systemctl restart apache2

Görüldüğü gibi “uzaktanegitim.lab.local” adresi ile başarılı bir şekilde giriş sayfasına ulaştık.

İlk makalemizi burada bitiriyoruz. İkinci makalede Uzaktan canlı eğitimler yapmamıza ortam sağlayacak olan BigBlueButton serverımızı kuracağız ve MOODLE entegrasyonunu sağlayacağız.

Sağlıcakla kalın.

İlgili Makaleler

16 Yorum

  1. Aşağıdaki problem hakkında bilginiz var mı? PHP’yi güncelledim fakat problem çözülmedi.
    Moodle 3.7 or later requires at least PHP 7.1.0 (currently using version 7.0.33-0ubuntu0.16.04.15). Some servers may have multiple PHP versions installed, are you using the correct executable?

  2. Elinize sağlık. Bu kadar profesyonel bilgiyi bu mecrada beklentisiz şekilde paylaşmanız oldukça hoş. Başarılarınızın devamını dilerim

  3. Çalışmalarınız için teşekkür ederim. kurulum başarılı. graphviz uygulaması 1gb ve altı kabul etmiyor. bunu yoksayarak devam ettim. eğer ki 1gb ve altı için düşünen olursa bilgisi olsun.

  4. Hocam merhaba;

    Moodle a LDAP ile AD deki kullanıcıları alabilir miyim? Konu hakkında bilginiz var mı?

  5. Hocam anlatım için çok teşekkürler, çok faydalı oldu.

    Sizden ricam SSL İle ilgili bilgi veririmisiniz? yüklediğimiz moodle a SSL nasıl yükleriz?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu