Takip et

Ubuntu 12.04 ve LAMP Ortamında Moodle Kurulumu: Adım Adım Rehber

Ubuntu 12.04 ve LAMP Ortamında Moodle Kurulumu: Adım Adım Rehber Giriş Günümüzde dijital öğrenme platformları, eğitim süreçlerinin vazge

Ubuntu 12.04 ve LAMP Ortamında Moodle Kurulumu: Adım Adım Rehber

Giriş

Günümüzde dijital öğrenme platformları, eğitim süreçlerinin vazgeçilmez bir parçası haline gelmiştir. Bu platformlar arasında açık kaynaklı ve dünya genelinde en yaygın kullanılanlardan biri de Moodle’dır. Moodle, eğitmenlerin çevrimiçi kurslar oluşturmasına, öğrencilerin etkileşimli öğrenme deneyimleri yaşamasına ve eğitim kurumlarının öğrenme süreçlerini yönetmesine olanak tanıyan kapsamlı bir Öğrenme Yönetim Sistemi (LMS) sunar. Moodle’ın esnekliği, zengin özellikleri ve geniş topluluk desteği, onu her ölçekten eğitim kurumu ve bireysel kullanıcı için cazip bir seçenek haline getirmektedir.

Bu teknik makalede, bir Sanal Özel Sunucu (VPS) üzerinde, Ubuntu 12.04 işletim sistemi ve LAMP (Linux, Apache, MySQL, PHP) yığını kullanarak Moodle’ın nasıl kurulacağını adım adım detaylı bir şekilde inceleyeceğiz. Ubuntu 12.04, uzun süreli destek (LTS) sunan stabil bir sürüm olup, birçok sunucu ortamında hala tercih edilmektedir (ancak güncel güvenlik güncellemeleri almadığı unutulmamalıdır). LAMP yığını ise Moodle’ın çalışması için temel altyapıyı sağlar; Apache web sunucusu, MySQL veritabanı ve PHP betik dili, Moodle’ın sorunsuz bir şekilde işlev görmesini temin eder.

Bu rehberin amacı, başlangıç seviyesinden ileri seviyeye kadar tüm kullanıcıların, bir VPS üzerinde Moodle kurulumunu başarıyla tamamlayabilmeleri için gerekli tüm bilgileri sağlamaktır. Adım adım komutlar, yapılandırma dosyaları ve önemli ipuçları ile kurulum sürecinin her aşaması detaylandırılacaktır.

Ön Gereksinimler

Moodle kurulumuna başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olmanız gerekmektedir:

* Ubuntu 12.04 İşletim Sistemine Sahip Bir VPS: Kurulum yapacağınız bir sanal özel sunucunuz olmalı ve üzerinde Ubuntu 12.04 LTS (Precise Pangolin) kurulu olmalıdır.
* Root veya Sudo Yetkileri: Sunucuda sistem genelinde değişiklikler yapabilmek için root kullanıcısı olarak oturum açmış olmanız veya sudo komutunu kullanabilecek bir kullanıcıya sahip olmanız gerekmektedir.
* Temel Linux Komut Satırı Bilgisi: SSH aracılığıyla sunucuya bağlanıp temel komutları (dizin değiştirme, dosya oluşturma/düzenleme, paket yükleme vb.) kullanabilmeniz beklenir.
* İnternet Bağlantısı: Sunucunun paketleri indirebilmesi ve güncellemeleri alabilmesi için aktif bir internet bağlantısı olmalıdır.
* LAMP Yığını: Bu rehber, LAMP yığınının (Apache, MySQL, PHP) ya kurulu olduğunu varsayar ya da kurulum adımlarını detaylandırır. Moodle’ın düzgün çalışması için belirli PHP modüllerinin de yüklü olması gerekmektedir.

Bu ön gereksinimleri sağladıktan sonra, Moodle kurulumuna geçmeye hazırız.

LAMP Yığını Kurulumu ve Yapılandırması

Moodle, LAMP yığını üzerinde çalıştığı için, bu bileşenlerin sunucunuzda kurulu ve doğru şekilde yapılandırılmış olması kritik öneme sahiptir. Eğer sunucunuzda LAMP yığını zaten kuruluysa, bu bölümü atlayabilir veya mevcut kurulumunuzu kontrol etmek için kullanabilirsiniz.

Sistem Güncellemesi

Kuruluma başlamadan önce, sistemdeki paket listelerini güncelleyip mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, en son güvenlik yamalarını almanızı ve bağımlılık sorunlarını en aza indirmenizi sağlar.

sudo apt-get update
sudo apt-get upgrade -y

apt-get update komutu, yerel paket indeksini güncellerken, apt-get upgrade komutu kurulu paketleri en yeni sürümlerine yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermeyi sağlar.

Apache Web Sunucusu Kurulumu

Apache, Moodle web sayfalarını kullanıcılara sunacak olan web sunucusudur. Kurulumu oldukça basittir:

sudo apt-get install apache2 -y

Kurulum tamamlandıktan sonra, Apache servisinin çalıştığını kontrol edebilirsiniz:

sudo service apache2 status

Çıktıda Apache2 is running benzeri bir ifade görmelisiniz. Ayrıca, web tarayıcınızdan VPS’inizin IP adresini (örneğin http://your_vps_ip) ziyaret ederek Apache’nin varsayılan karşılama sayfasını görüp görmediğinizi kontrol edebilirsiniz.

MySQL Veritabanı Sunucusu Kurulumu

Moodle, tüm verilerini (kullanıcı bilgileri, kurs içerikleri, ayarlar vb.) bir veritabanında saklar. MySQL, Moodle tarafından desteklenen güçlü ve yaygın olarak kullanılan bir veritabanı sistemidir.

sudo apt-get install mysql-server mysql-client -y

Kurulum sırasında, MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı güvenli bir yerde saklayın, çünkü veritabanı yönetiminde bu parolaya ihtiyacınız olacak.

Kurulumdan sonra, MySQL sunucusunun güvenliğini artırmak için mysql_secure_installation betiğini çalıştırmak şiddetle tavsiye edilir:

sudo mysql_secure_installation

Bu betik size aşağıdaki soruları soracaktır:
* Enter current password for root (enter for none): MySQL kurulumu sırasında belirlediğiniz root parolasını girin.
* Change the root password? [Y/n]: Genellikle n (hayır) seçeneğini seçebilirsiniz, çünkü parolayı zaten belirlediniz.
* Remove anonymous users? [Y/n]: Y (evet) seçeneğini seçin. Bu, güvenlik için önemlidir.
* Disallow root login remotely? [Y/n]: Y (evet) seçeneğini seçin. Root kullanıcısının yalnızca yerel olarak bağlanabilmesi güvenliği artırır.
* Remove test database and access to it? [Y/n]: Y (evet) seçeneğini seçin. Test veritabanına genellikle ihtiyaç duyulmaz.
* Reload privilege tables now? [Y/n]: Y (evet) seçeneğini seçin. Bu, yaptığınız değişikliklerin hemen etkili olmasını sağlar.

PHP Kurulumu ve Gerekli Modüller

PHP, Moodle’ın temelini oluşturan betik dilidir. Ubuntu 12.04 varsayılan olarak PHP 5.3.x veya 5.4.x sürümlerini içerir. Moodle’ın düzgün çalışması için belirli PHP modüllerinin de yüklü olması gerekir. Moodle 2.8.x veya 2.9.x gibi sürümler, PHP 5.3.3 veya daha yenisini gerektirir. Biz bu rehberde Moodle 2.8.x’i hedefleyeceğiz, çünkü PHP 5.3.10 ile uyumludur.

sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-gd php5-curl php5-xmlrpc php5-intl php5-mbstring php5-zip -y

Yukarıdaki komut, PHP 5’i ve Moodle için gerekli olan yaygın modülleri yükler:
* php5: PHP ana paketi.
* libapache2-mod-php5: PHP’nin Apache ile entegrasyonunu sağlar.
* php5-mysql: PHP’nin MySQL veritabanına bağlanmasını sağlar.
* php5-gd: Görüntü işleme yetenekleri (grafikler, captcha vb.) için gereklidir.
* php5-curl: Uzak sunucularla iletişim kurmak için kullanılır.
* php5-xmlrpc: Web servisleri ve uzaktan prosedür çağrıları için gereklidir.
* php5-intl: Uluslararasılaştırma ve yerelleştirme (çoklu dil desteği) için gereklidir.
* php5-mbstring: Çok baytlı karakter dizileri (UTF-8) ile çalışmak için gereklidir.
* php5-zip: ZIP dosyalarını işlemek için kullanılır.

PHP kurulumu tamamlandıktan sonra, Apache web sunucusunu yeniden başlatmanız gerekir, böylece yeni PHP modüllerini yükleyebilir:

sudo service apache2 restart

PHP’nin doğru çalıştığını test etmek için, Apache’nin web kök dizininde (/var/www/ veya /var/www/html/) bir phpinfo.php dosyası oluşturabilirsiniz:

sudo nano /var/www/phpinfo.php

Dosyanın içine aşağıdaki içeriği ekleyin:

Kaydedip kapatın (Ctrl+X, Y, Enter). Ardından web tarayıcınızdan http://your_vps_ip/phpinfo.php adresini ziyaret edin. Karşınıza PHP’nin yapılandırma bilgilerini gösteren bir sayfa gelmelidir. Bu sayfa, PHP’nin doğru çalıştığını ve gerekli modüllerin yüklendiğini teyit etmenizi sağlar. Güvenlik nedeniyle, test ettikten sonra bu phpinfo.php dosyasını sunucunuzdan silmeniz önerilir:

sudo rm /var/www/phpinfo.php

Moodle İçin Veritabanı Oluşturma

Moodle’ın çalışabilmesi için kendi verilerini depolayacağı özel bir veritabanına ve bu veritabanına erişebilecek bir kullanıcıya ihtiyacı vardır.

MySQL sunucusuna root kullanıcısı olarak bağlanın:

mysql -u root -p

Parola istendiğinde, MySQL root kullanıcısı için belirlediğiniz parolayı girin.

Veritabanı oluşturma komutları:

CREATE DATABASE moodle_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Bu komut, moodle_db adında yeni bir veritabanı oluşturur ve varsayılan karakter setini utf8 olarak, sıralama düzenini ise utf8_general_ci olarak ayarlar. Moodle, çok dilli içeriği desteklemek için UTF-8 karakter setini önerir.

Moodle’ın veritabanına erişmek için kullanacağı bir kullanıcı oluşturalım ve bu kullanıcıya moodle_db veritabanı üzerinde tüm yetkileri verelim:

CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON moodle_db.* TO 'moodleuser'@'localhost';
FLUSH PRIVILEGES;

* CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'your_secure_password';: moodleuser adında yeni bir kullanıcı oluşturur. 'localhost' ifadesi, bu kullanıcının yalnızca sunucunun kendisinden (yerel olarak) bağlanabileceği anlamına gelir. 'your_secure_password' yerine güçlü ve benzersiz bir parola belirlemeyi unutmayın.
GRANT ALL PRIVILEGES ON moodle_db. TO 'moodleuser'@'localhost';: moodleuser kullanıcısına moodle_db veritabanındaki tüm tablolar üzerinde tam yetki verir.
* FLUSH PRIVILEGES;: MySQL’in yetki tablolarını yeniden yüklemesini sağlar, böylece değişiklikler hemen etkili olur.

Veritabanı işlemlerini tamamladıktan sonra MySQL komut istemcisinden çıkın:

exit;

Moodle Dosyalarını İndirme ve Kurulum İçin Hazırlama

Şimdi sıra Moodle’ın kendisini sunucuya indirmeye ve web sunucusunun erişebileceği bir konuma taşımaya geldi.

Moodle Sürüm Seçimi ve İndirme

Ubuntu 12.04’ün varsayılan PHP sürümü (PHP 5.3.10), Moodle’ın en yeni sürümleriyle uyumlu değildir. Bu nedenle, bu PHP sürümüyle uyumlu bir Moodle sürümü seçmeliyiz. Moodle 2.8.x, PHP 5.3.3’ten 5.6’ya kadar olan sürümleri desteklediği için iyi bir seçenektir.

Moodle’ın resmi indirme sayfasından (moodle.org/downloads) Moodle 2.8.x’in en son stabil sürümünü indirebilirsiniz. wget komutunu kullanarak doğrudan sunucunuza indirelim. Örnek olarak Moodle 2.8.11’i kullanacağız (URL’yi güncel Moodle sürümüne göre kontrol etmelisiniz):

cd /tmp
wget https://download.moodle.org/download.php/web/moodle-2.8.11.tgz

İndirme bağlantısı zamanla değişebilir, bu yüzden moodle.org adresinden güncel 2.8.x veya 2.9.x sürümünün doğru .tgz veya .zip bağlantısını aldığınızdan emin olun.

Moodle Dosyalarını Çıkarma ve Taşıma

İndirdiğiniz sıkıştırılmış dosyayı açın:

tar -xvzf moodle-2.8.11.tgz

Bu komut, moodle adında bir dizin oluşturacak ve tüm Moodle dosyalarını bu dizine çıkaracaktır.

Şimdi Moodle dosyalarını Apache’nin web kök dizinine taşıyın. Ubuntu 12.04’te bu genellikle /var/www/ dizinidir:

sudo mv moodle /var/www/

Bu, Moodle’ı http://your_vps_ip/moodle adresinden erişilebilir hale getirecektir. Eğer Moodle’ı doğrudan ana etki alanınızda (örneğin http://your_domain.com) çalıştırmak isterseniz, dosyaları /var/www/html veya /var/www altına taşıyıp Apache yapılandırmasını buna göre ayarlamanız gerekebilir. Şimdilik /var/www/moodle konumunda kalalım.

Moodle Data Dizini Oluşturma

Moodle, kurs dosyaları, kullanıcı yüklemeleri, oturum bilgileri gibi hassas ve geçici verileri depolamak için ayrı bir veri dizinine ihtiyaç duyar. Bu dizinin web kök dizininin dışında olması güvenlik açısından önemlidir, böylece doğrudan web üzerinden erişilemez.

sudo mkdir /var/www/moodledata

Bu dizini /var/var/www/ altında oluştursak da, Apache’nin doğrudan erişemeyeceği bir dizin olduğundan güvenlik sorunu yaratmaz. Daha da güvenli bir konum tercih edebilirsiniz, örneğin /home/moodledata.

Dosya ve Dizin İzinlerini Ayarlama

Apache web sunucusunun (genellikle www-data kullanıcısı altında çalışır) Moodle dosyalarına ve veri dizinine okuma ve yazma yetkisi olması gerekir.

sudo chown -R www-data:www-data /var/www/moodle
sudo chmod -R 755 /var/www/moodle

Yukarıdaki komutlar:
* chown -R www-data:www-data /var/www/moodle: /var/www/moodle dizininin ve tüm alt dizinlerinin/dosyalarının sahipliğini www-data kullanıcısına ve www-data grubuna atar.
* chmod -R 755 /var/www/moodle: www-data kullanıcısına tam yetki (okuma, yazma, çalıştırma), diğer kullanıcılara ve gruba ise okuma ve çalıştırma yetkisi verir.

moodledata dizini için de benzer şekilde sahiplik ayarlamalıyız, ancak yazma yetkisi daha geniştir:

sudo chown -R www-data:www-data /var/www/moodledata
sudo chmod -R 777 /var/www/moodledata

chmod -R 777 başlangıçta kurulum için gerekli olabilir, ancak kurulum tamamlandıktan sonra bu izni daha kısıtlı bir hale getirmeniz önerilir. Örneğin, sudo chmod -R 770 /var/www/moodledata komutuyla www-data kullanıcısı ve grubuna tam yetki verirken, diğer kullanıcılardan erişimi tamamen kısıtlayabilirsiniz. Bu, güvenlik için daha iyi bir yaklaşımdır.

Apache Sanal Host Yapılandırması (Önerilen)

Moodle’ı doğrudan IP adresiniz üzerinden http://your_vps_ip/moodle olarak kullanmak yerine, özel bir etki alanı adı (örneğin moodle.yourdomain.com) veya ana etki alanınız (yourdomain.com) üzerinden erişilebilir kılmak için Apache’de bir sanal host yapılandırması oluşturmak daha profesyonel ve yönetilebilir bir yaklaşımdır.

Öncelikle, yeni bir sanal host yapılandırma dosyası oluşturalım:

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

Dosyanın içine aşağıdaki içeriği ekleyin. your_domain_or_vps_ip yerine kendi etki alan adınızı veya VPS IP adresinizi yazın:


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/moodle
    ServerName your_domain_or_vps_ip
    # ServerAlias www.your_domain_or_vps_ip (Opsiyonel: www alt alan adını da dinlemek için)

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    

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

* DocumentRoot /var/www/moodle: Apache’nin bu sanal host için hangi dizinden içerik sunacağını belirtir.
* ServerName your_domain_or_vps_ip: Bu sanal host’un hangi etki alanı veya IP adresi için geçerli olduğunu belirtir.
* : Moodle dizini için özel yapılandırma ayarlarıdır. AllowOverride All Moodle’ın .htaccess dosyalarını kullanmasına izin verir.

Sanal host’u etkinleştirin ve varsayılan siteyi devre dışı bırakın (eğer Moodle’ın ana site olmasını istiyorsanız):

sudo a2ensite moodle.conf
sudo a2dissite default # Ubuntu 12.04'te genellikle 'default' veya '000-default.conf'

Apache’nin yeni yapılandırmayı yüklemesi için yeniden başlatın:

sudo service apache2 restart

Eğer bir etki alanı adı kullanıyorsanız, DNS kayıtlarınızın (A kaydı) VPS’inizin IP adresini gösterdiğinden emin olun.

Moodle Web Arayüzü Kurulumu

Tüm arka plan hazırlıklarını tamamladık. Şimdi bir web tarayıcısı kullanarak Moodle’ın web tabanlı kurulum sihirbazını çalıştırabiliriz.

Web tarayıcınızı açın ve VPS’inizin IP adresini veya yapılandırdığınız etki alanı adını girin (örneğin http://your_domain_or_vps_ip veya http://your_domain_or_vps_ip/moodle eğer sanal host kullanmadıysanız).

Karşınıza Moodle kurulum sihirbazı gelecektir:

1. Dil Seçimi: Kurulum için tercih ettiğiniz dili seçin ve “Sonraki” düğmesine tıklayın.
2. Yolların Onaylanması: Moodle’ın web adresi, Moodle dizini ve veri dizini yollarını kontrol edin. Daha önce yapılandırdığımız yolların doğru olduğundan emin olun.
* Web adresi: http://your_domain_or_vps_ip veya http://your_domain_or_vps_ip/moodle
* Moodle dizini: /var/www/moodle
* Veri dizini: /var/www/moodledata
Doğruysa “Sonraki” düğmesine tıklayın.
3. Veritabanı Ayarları: Veritabanı sürücüsünü seçin (genellikle “MySQL (improved) (mysqli)” önerilir). Ardından veritabanı bağlantı bilgilerini girin:
* Veritabanı hostu: localhost
* Veritabanı adı: moodle_db (Daha önce oluşturduğumuz ad)
* Veritabanı kullanıcısı: moodleuser (Daha önce oluşturduğumuz kullanıcı)
* Veritabanı parolası: your_secure_password (Daha önce belirlediğiniz parola)
* Tablo ön eki: mdl_ (Varsayılan olarak bırakabilirsiniz)
Bilgileri girdikten sonra “Sonraki” düğmesine tıklayın.
4. Lisans Anlaşması: Moodle’ın GPL lisans anlaşmasını okuyun ve kabul edin, ardından “Devam et” düğmesine tıklayın.
5. Sunucu Gereksinimleri Kontrolü: Moodle, sunucunuzun gerekli tüm PHP uzantılarına ve ayarlarına sahip olup olmadığını kontrol edecektir. Tüm öğelerin yeşil renkte “OK” olarak işaretlendiğinden emin olun. Eğer herhangi bir uyarı veya hata varsa, ilgili PHP modülünü yüklemeniz veya PHP ayarını php.ini dosyasında düzenlemeniz gerekebilir. Her şey yolundaysa “Devam et” düğmesine tıklayın.
6. Kurulum: Moodle şimdi veritabanı tablolarını oluşturacak ve gerekli bileşenleri kuracaktır. Bu işlem biraz zaman alabilir. İşlem tamamlandığında “Devam et” düğmesine tıklayın.
7. Yönetici Kullanıcısı Oluşturma: Moodle sitesi için bir yönetici hesabı oluşturmanız gerekecektir. Kullanıcı adı, parola, e-posta adresi gibi bilgileri dikkatlice doldurun. Bu hesap, Moodle sitesinin tüm yönetim yetkilerine sahip olacaktır. Parolanızın güçlü olduğundan emin olun.
8. Site Ayarları: Moodle sitenizin adını, kısa adını, açıklamasını ve varsayılan saat dilimini ayarlayın. Bu ayarları daha sonra Moodle arayüzünden değiştirebilirsiniz. “Değişiklikleri kaydet” düğmesine tıklayın.

Tebrikler! Moodle kurulumunuz başarıyla tamamlandı. Artık Moodle sitenizin ana sayfasına yönlendirileceksiniz.

Kurulum Sonrası Güvenlik ve Optimizasyonlar

Moodle kurulumunu tamamladıktan sonra, sisteminizin güvenliğini artırmak ve performansını optimize etmek için bazı önemli adımlar atmanız gerekmektedir.

moodledata Dizini İzinlerini Kısıtlama

Daha önce /var/www/moodledata dizinine 777 izni vermiştik. Bu, kurulum sırasında kolaylık sağlasa da, güvenlik açısından risklidir. Kurulum tamamlandığına göre bu izni kısıtlayabiliriz:

sudo chmod -R 770 /var/www/moodledata

Bu komut, moodledata dizinine ve içindeki tüm dosyalara www-data kullanıcısı ve www-data grubu için tam okuma/yazma/çalıştırma izni verirken, diğer kullanıcılar için hiçbir erişimi engeller. Bu, daha güvenli bir yapılandırmadır.

Moodle Cron Job Kurulumu

Moodle, belirli arka plan görevlerini (e-posta gönderme, yedeklemeler, RSS beslemelerini güncelleme vb.) düzenli aralıklarla çalıştırmak için bir cron işine ihtiyaç duyar. Bu, Moodle’ın admin/cli/cron.php betiğini belirli aralıklarla çalıştırmasıyla sağlanır.

www-data kullanıcısı için bir cron işi oluşturalım:

sudo crontab -e -u www-data

Açılan düzenleyiciye aşağıdaki satırı ekleyin:

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

Bu satır, Moodle’ın cron betiğini her 5 dakikada bir çalıştıracaktır. /usr/bin/php yolu, PHP yorumlayıcınızın tam yoludur. Bu yolu which php komutuyla teyit edebilirsiniz. >/dev/null çıktıyı susturur.

PHP.ini Ayarlarının Optimizasyonu

Moodle’ın büyük dosyaları işlemesi, uzun süren betiklerin çalışması veya çok sayıda kullanıcının eş zamanlı erişimi gibi durumlar için PHP ayarlarını optimize etmek önemlidir. php.ini dosyasını düzenleyerek bu ayarları yapabilirsiniz:

sudo nano /etc/php5/apache2/php.ini

Aşağıdaki ayarları bularak veya ekleyerek Moodle’ın gereksinimlerine göre düzenleyin (değerleri kendi ihtiyaçlarınıza göre ayarlayabilirsiniz):

* memory_limit = 256M (Minimum 128M, daha büyük siteler için 512M veya daha fazlası)
* upload_max_filesize = 128M (Yüklenebilecek maksimum dosya boyutu)
* post_max_size = 128M (POST isteğiyle gönderilebilecek maksimum veri boyutu, upload_max_filesize değerinden büyük veya eşit olmalı)
* max_input_vars = 5000 (Bazı Moodle formları için gerekebilir)
* max_execution_time = 300 (Betiklerin maksimum çalışma süresi, saniye cinsinden)
* session.gc_maxlifetime = 1440 (Oturumun maksimum ömrü, saniye cinsinden, varsayılan yeterli olabilir)
* date.timezone = Europe/Istanbul (Sunucunuzun coğrafi konumuna göre ayarlayın, örneğin Europe/London veya America/New_York)

Değişiklikleri kaydettikten sonra Apache’yi yeniden başlatmayı unutmayın:

sudo service apache2 restart

MySQL Optimizasyonu

Büyük Moodle siteleri veya yoğun trafik alan siteler için MySQL performansını optimize etmek önemlidir. my.cnf dosyasını düzenleyerek bazı ayarları yapabilirsiniz:

sudo nano /etc/mysql/my.cnf

[mysqld] bölümüne aşağıdaki gibi ayarlar ekleyebilirsiniz (değerler sunucunuzun RAM miktarına ve kullanım şekline göre ayarlanmalıdır):

* innodb_buffer_pool_size = 1G (InnoDB motoru için belleğin ne kadarının ayrılacağı, RAM’inizin %50-70’i olabilir)
* query_cache_size = 32M (Sık tekrar eden sorguların önbelleğe alınması)
* max_connections = 200 (Eş zamanlı bağlantı sayısı)

Değişiklikleri kaydettikten sonra MySQL servisini yeniden başlatın:

sudo service mysql restart

Güvenlik Duvarı (UFW) Kurulumu ve Yapılandırması

Sunucunuzun güvenliğini artırmak için bir güvenlik duvarı (firewall) kullanmak önemlidir. Ubuntu’da UFW (Uncomplicated Firewall) kullanımı oldukça kolaydır.

sudo apt-get install ufw -y
sudo ufw enable

Güvenlik duvarını etkinleştirdikten sonra, SSH, HTTP ve HTTPS gibi gerekli bağlantı noktalarına izin vermelisiniz:

sudo ufw allow ssh # Port 22
sudo ufw allow http # Port 80
sudo ufw allow https # Port 443 (SSL/TLS için)

Güvenlik duvarının durumunu kontrol etmek için:

sudo ufw status

SSL/TLS (HTTPS) Kurulumu

Moodle sitenizin güvenliğini sağlamak için HTTPS kullanmak kritik öneme sahiptir. HTTPS, kullanıcılarınız ve sunucunuz arasındaki tüm iletişimi şifreler. Ubuntu 12.04 üzerinde Let’s Encrypt (Certbot) kullanmak biraz daha karmaşık olabilir, çünkü Certbot’un resmi desteği eski Ubuntu sürümleri için kısıtlıdır. Manuel olarak sertifika oluşturup Apache’ye yapılandırmak veya daha yeni bir Ubuntu sürümüne geçmek daha kolay olabilir. Ancak, genel adımlar şunlardır:

1. SSL Modülünü Etkinleştirme:

sudo a2enmod ssl
    sudo service apache2 restart

2. Sertifika Alma: Ücretsiz bir sertifika sağlayıcısı olan Let’s Encrypt’ten sertifika almayı düşünebilirsiniz. Ancak Ubuntu 12.04 için Certbot’un en kolay yolu olmayabilir. Alternatif olarak, manuel olarak sertifika oluşturabilir veya başka bir sağlayıcıdan satın alabilirsiniz.
3. Apache SSL Sanal Host Yapılandırması: moodle.conf dosyanızı kopyalayarak veya yeni bir dosya oluşturarak HTTPS için yapılandırın (örneğin /etc/apache2/sites-available/moodle-ssl.conf).


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/moodle
    ServerName your_domain_or_vps_ip

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/your_domain.crt
    SSLCertificateKeyFile /etc/ssl/private/your_domain.key
    # SSLCertificateChainFile /etc/ssl/certs/chain.crt (Eğer varsa)

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    

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

SSLCertificateFile ve SSLCertificateKeyFile yollarını kendi sertifika dosyalarınızın yolları ile değiştirin.
4. SSL Sanal Host’u Etkinleştirme ve Apache’yi Yeniden Başlatma:

sudo a2ensite moodle-ssl.conf
    sudo service apache2 restart

Sistem ve Moodle Güncellemeleri

Güvenlik ve performans için işletim sisteminizi ve Moodle sürümünüzü düzenli olarak güncel tutmak çok önemlidir.

* Sistem Güncellemeleri:

sudo apt-get update && sudo apt-get upgrade -y

* Moodle Güncellemeleri: Moodle’ın kendi güncelleme mekanizmalarını takip ederek (genellikle yeni sürüm dosyalarını indirip mevcut Moodle dizininin üzerine yazmak ve ardından web arayüzünden veritabanı yükseltmesini çalıştırmak şeklinde) Moodle sürümünüzü güncel tutun. Güncelleme yapmadan önce her zaman yedek almayı unutmayın.

Sorun Giderme (Troubleshooting)

Kurulum veya yapılandırma sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözüm önerileri:

* Beyaz Sayfa (White Screen of Death – WSOD): Bu genellikle PHP hatalarından kaynaklanır. php.ini dosyasında display_errors = On ve error_reporting = E_ALL ayarlarını geçici olarak açarak hataları görebilirsiniz. Ayrıca Apache hata loglarını (/var/log/apache2/error.log) kontrol edin.
* Veritabanı Bağlantı Hatası: Moodle’ın config.php dosyasındaki veritabanı ayarlarını (kullanıcı adı, parola, veritabanı adı) kontrol edin. MySQL sunucusunun çalıştığından emin olun (sudo service mysql status).
* Dosya İzinleri Hatası: sudo chown -R www-data:www-data /var/www/moodle ve sudo chmod -R 755 /var/www/moodle komutlarını tekrar çalıştırın. moodledata dizini için de izinleri kontrol edin.
* PHP Modülleri Eksikliği: Moodle kurulum sihirbazında veya phpinfo.php sayfasında eksik olduğu belirtilen PHP modüllerini sudo apt-get install php5-modul_adi komutuyla yükleyin ve Apache’yi yeniden başlatın.
* Apache Erişim Sorunları: Güvenlik duvarınızın (UFW) HTTP (80) ve HTTPS (443) portlarına izin verdiğinden emin olun. Apache hata loglarını kontrol edin.
* Moodle config.php Dosyası: Moodle kurulum sihirbazı tamamlandıktan sonra, config.php dosyasının doğru şekilde oluşturulduğunu ve moodledata dizininde yazma izni olduğunu kontrol edin. Eğer Moodle kurulum sihirbazı config.php dosyasını oluşturamazsa, size içeriğini gösterir ve manuel olarak oluşturup moodle dizinine kopyalamanızı ister.

Sonuç

Bu kapsamlı rehberde, Ubuntu 12.04 işletim sistemine sahip bir VPS üzerinde LAMP yığını kullanarak Moodle’ın adım adım nasıl kurulacağını detaylı bir şekilde inceledik. Sistem güncellemelerinden başlayarak, Apache, MySQL ve PHP bileşenlerinin kurulumu ve yapılandırması, Moodle için özel bir veritabanı oluşturulması, Moodle dosyalarının indirilip sunucuya yerleştirilmesi ve son olarak web arayüzü üzerinden kurulumun tamamlanması süreçlerini ele aldık.

Ayrıca, kurulum sonrası güvenlik önlemleri ve performans optimizasyonları gibi kritik konulara da değindik. moodledata dizini izinlerinin kısıtlanması, Moodle cron job’ının yapılandırılması, PHP ve MySQL ayarlarının optimizasyonu, güvenlik duvarı kurulumu ve SSL/TLS (HTTPS) ile sitenin güvenliğinin sağlanması gibi adımlar, Moodle platformunuzun stabil, güvenli ve yüksek performanslı çalışması için hayati öneme sahiptir.

Moodle, eğitim dünyasında devrim yaratan güçlü bir araçtır. Bu rehberi takip ederek kendi Moodle platformunuzu başarıyla kurdunuz ve artık çevrimiçi öğrenme ve öğretme potansiyelini keşfetmeye hazırsınız. Unutmayın ki dijital platformların sürekli bakımı, güncellemeler ve güvenlik denetimleri, sorunsuz bir deneyim için vazgeçilmezdir. Başarılı bir e-öğrenme yolculuğu dileriz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.