{"id":38041,"date":"2026-01-22T07:41:18","date_gmt":"2026-01-22T04:41:18","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38041"},"modified":"2026-01-22T07:41:18","modified_gmt":"2026-01-22T04:41:18","slug":"sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/","title":{"rendered":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<p>Bu rehber, Ubuntu 12.04 i\u015fletim sistemine sahip bir Sanal \u00d6zel Sunucu (VPS) \u00fczerinde Moodle&#8217;\u0131 Git \u00fczerinden kurmay\u0131, veritaban\u0131 olarak PostgreSQL, web sunucusu olarak Nginx ve PHP-FPM kullanarak yap\u0131land\u0131rmay\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Ubuntu 12.04&#8217;\u00fcn art\u0131k desteklenmeyen eski bir s\u00fcr\u00fcm oldu\u011funu ve g\u00fcvenlik riskleri ta\u015f\u0131yabilece\u011fini unutmamak \u00f6nemlidir. Bu rehber, belirli bir eski ortam gereksinimi olan kullan\u0131c\u0131lar i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. M\u00fcmk\u00fcnse, daha g\u00fcncel bir Ubuntu s\u00fcr\u00fcm\u00fc ve Moodle versiyonu kullanman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h2>Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu<\/h2>\n<p>Moodle kurulumuna ba\u015flamadan \u00f6nce sunucunuzu g\u00fcncellemeli ve gerekli t\u00fcm yaz\u0131l\u0131mlar\u0131 kurmal\u0131s\u0131n\u0131z. Bu b\u00f6l\u00fcmde PostgreSQL, Nginx, PHP-FPM ve Git kurulumlar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h3>Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir kuruluma ba\u015flamadan \u00f6nce paket listelerinizi g\u00fcncelleyin ve mevcut paketleri y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade -y\n<\/code><\/pre>\n<h3>PostgreSQL Veritaban\u0131 Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Moodle i\u00e7in bir veritaban\u0131na ihtiyac\u0131m\u0131z var. PostgreSQL&#8217;i kuraca\u011f\u0131z ve Moodle i\u00e7in \u00f6zel bir kullan\u0131c\u0131 ve veritaban\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install postgresql postgresql-contrib -y\n<\/code><\/pre>\n<p>\u015eimdi Moodle i\u00e7in bir veritaban\u0131 kullan\u0131c\u0131s\u0131 ve veritaban\u0131 olu\u015ftural\u0131m. <code>postgres<\/code> kullan\u0131c\u0131s\u0131na ge\u00e7erek bu i\u015flemleri yapabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo -i -u postgres\ncreateuser -P moodleuser\n<\/code><\/pre>\n<p>Komut sizden <code>moodleuser<\/code> i\u00e7in bir parola belirlemenizi isteyecektir. G\u00fc\u00e7l\u00fc bir parola se\u00e7ti\u011finizden emin olun.<\/p>\n<pre><code class=\"language-bash\">createdb -O moodleuser moodledb\n<\/code><\/pre>\n<p>Bu komut, <code>moodleuser<\/code> kullan\u0131c\u0131s\u0131n\u0131n sahibi oldu\u011fu <code>moodledb<\/code> ad\u0131nda bir veritaban\u0131 olu\u015fturur. \u0130\u015flemler bittikten sonra <code>exit<\/code> komutuyla <code>postgres<\/code> kullan\u0131c\u0131s\u0131ndan \u00e7\u0131k\u0131\u015f yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">exit\n<\/code><\/pre>\n<h3>Nginx Web Sunucusu Kurulumu<\/h3>\n<p>Nginx, hafif ve y\u00fcksek performansl\u0131 bir web sunucusudur. Kurulumu olduk\u00e7a basittir:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install nginx -y\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra Nginx servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n (varsay\u0131lan olarak zaten b\u00f6yledir):<\/p>\n<pre><code class=\"language-bash\">sudo service nginx start\n<\/code><\/pre>\n<h3>PHP-FPM ve Gerekli PHP Uzant\u0131lar\u0131n\u0131n Kurulumu<\/h3>\n<p>Moodle, PHP tabanl\u0131 bir uygulamad\u0131r ve do\u011fru PHP s\u00fcr\u00fcm\u00fc ile gerekli uzant\u0131lara ihtiya\u00e7 duyar. Ubuntu 12.04 varsay\u0131lan olarak PHP 5.3.x ile gelir, bu da Moodle 2.x serisi i\u00e7in uygundur. Moodle 3.x ve \u00fczeri genellikle daha yeni PHP s\u00fcr\u00fcmlerini (5.6.5+ veya 7.x) gerektirir. Bu rehberde, Ubuntu 12.04&#8217;\u00fcn destekledi\u011fi PHP 5.3.x ile uyumlu Moodle 2.x serisini hedefliyoruz. PHP-FPM (FastCGI Process Manager) Nginx ile PHP uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5-fpm php5-pgsql php5-gd php5-curl php5-xmlrpc php5-intl php5-mbstring php5-zip php5-soap -y\n<\/code><\/pre>\n<p>Bu komut, PHP-FPM&#8217;i ve Moodle&#8217;\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan yayg\u0131n PHP uzant\u0131lar\u0131n\u0131 kuracakt\u0131r. Kurulumdan sonra PHP-FPM servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service php5-fpm start\n<\/code><\/pre>\n<h3>Git Kurulumu<\/h3>\n<p>Moodle&#8217;\u0131 Git deposundan \u00e7ekmek i\u00e7in Git&#8217;e ihtiyac\u0131m\u0131z var:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install git -y\n<\/code><\/pre>\n<h2>Moodle Kurulumu ve \u0130lk Yap\u0131land\u0131rma<\/h2>\n<p>\u015eimdi Moodle dosyalar\u0131n\u0131 Git deposundan \u00e7ekme, veri dizini olu\u015fturma ve temel <code>config.php<\/code> dosyas\u0131n\u0131 yap\u0131land\u0131rma ad\u0131mlar\u0131na ge\u00e7elim.<\/p>\n<h3>Moodle Dosyalar\u0131n\u0131 \u00c7ekme<\/h3>\n<p>Moodle dosyalar\u0131n\u0131 <code>\/var\/www\/html\/moodle<\/code> dizinine indirece\u011fiz. Bu dizini web sunucumuzun k\u00f6k dizini olarak kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/html\ncd \/var\/www\/html\nsudo git clone git:\/\/git.moodle.org\/moodle.git\n<\/code><\/pre>\n<p>\u015eimdi Moodle dizinine ge\u00e7in ve uygun bir Moodle 2.x s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7in. Ubuntu 12.04&#8217;teki PHP 5.3.x ile uyumlu olarak Moodle 2.9&#8217;u kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">cd moodle\nsudo git branch -a\nsudo git checkout MOODLE_29_STABLE\n<\/code><\/pre>\n<h3>Moodle Data Dizinini Olu\u015fturma<\/h3>\n<p>Moodle, y\u00fcklenen dosyalar\u0131, ge\u00e7ici verileri ve oturum bilgilerini depolamak i\u00e7in web sunucusunun do\u011frudan eri\u015femeyece\u011fi ayr\u0131 bir veri dizinine ihtiya\u00e7 duyar. Bu, g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/var\/www\/moodledata\n<\/code><\/pre>\n<h3>Dizin \u0130zinlerini Ayarlama<\/h3>\n<p>Moodle&#8217;\u0131n dosya sistemi \u00fczerinde yazma ve okuma i\u015flemleri yapabilmesi i\u00e7in web sunucusu kullan\u0131c\u0131s\u0131na (genellikle <code>www-data<\/code>) uygun izinleri vermelisiniz:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/html\/moodle\nsudo chmod -R 755 \/var\/www\/html\/moodle\nsudo chown -R www-data:www-data \/var\/www\/moodledata\nsudo chmod -R 777 \/var\/www\/moodledata # Moodle kurulumu i\u00e7in ge\u00e7ici olarak 777, daha sonra 770 veya 750'ye d\u00fc\u015f\u00fcr\u00fclebilir.\n<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> <code>moodledata<\/code> i\u00e7in 777 izni, kurulum s\u0131ras\u0131nda sorun ya\u015fanmamas\u0131 i\u00e7in genellikle \u00f6nerilir. Kurulum tamamland\u0131ktan sonra, g\u00fcvenlik i\u00e7in bu izni 770 veya 750&#8217;ye d\u00fc\u015f\u00fcrmek ve <code>www-data<\/code> grubuna ait oldu\u011fundan emin olmak daha iyidir.<\/p>\n<h3>Moodle config.php Dosyas\u0131n\u0131 Olu\u015fturma<\/h3>\n<p>Moodle&#8217;\u0131n veritaban\u0131 ba\u011flant\u0131 bilgilerini ve di\u011fer temel ayarlar\u0131n\u0131 i\u00e7eren bir <code>config.php<\/code> dosyas\u0131 olu\u015fturmal\u0131y\u0131z. Moodle, bu dosyan\u0131n bir \u00f6rne\u011fini <code>config-dist.php<\/code> olarak sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/www\/html\/moodle\nsudo cp config-dist.php config.php\nsudo nano config.php\n<\/code><\/pre>\n<p>A\u00e7\u0131lan <code>config.php<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 kendi veritaban\u0131 bilgilerinizle g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-php\"><?php\nunset($CFG);\nglobal $CFG;\n$CFG = new stdClass();\n\n$CFG->dbtype    = 'pgsql';       \/\/ 'pgsql' for PostgreSQL\n$CFG->dblibrary = 'native';     \/\/ 'native' or 'ado'\n$CFG->dbhost    = 'localhost';    \/\/ Veritaban\u0131 sunucusu\n$CFG->dbname    = 'moodledb';     \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 ad\u0131\n$CFG->dbuser    = 'moodleuser';   \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 kullan\u0131c\u0131s\u0131\n$CFG->dbpass    = 'your_moodleuser_password'; \/\/ Veritaban\u0131 kullan\u0131c\u0131s\u0131 parolas\u0131\n$CFG->prefix    = 'mdl_';         \/\/ Moodle tablolar\u0131 i\u00e7in \u00f6nek (iste\u011fe ba\u011fl\u0131)\n\n$CFG->wwwroot   = 'http:\/\/your_domain.com'; \/\/ Moodle sitenizin URL'si\n$CFG->dataroot  = '\/var\/www\/moodledata';  \/\/ Moodle veri dizini\n$CFG->admin     = 'admin';\n\nrequire_once(dirname(__FILE__) . '\/lib\/setup.php');\n\n\/\/ There is no php closing tag in this file,\n\/\/ it is intentional because it prevents trailing whitespace problems!\n<\/code><\/pre>\n<p><code>your_moodleuser_password<\/code> k\u0131sm\u0131n\u0131 daha \u00f6nce PostgreSQL i\u00e7in belirledi\u011finiz parola ile, <code>your_domain.com<\/code> k\u0131sm\u0131n\u0131 ise kendi alan ad\u0131n\u0131z veya sunucunuzun IP adresi ile de\u011fi\u015ftirmeyi unutmay\u0131n. Dosyay\u0131 kaydedip kapat\u0131n (Ctrl+O, Enter, Ctrl+X).<\/p>\n<h2>Nginx ve PHP-FPM Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Moodle&#8217;\u0131n web \u00fczerinden eri\u015filebilir olmas\u0131 i\u00e7in Nginx&#8217;i yap\u0131land\u0131rmam\u0131z ve PHP-FPM ile d\u00fczg\u00fcn bir \u015fekilde ileti\u015fim kurmas\u0131n\u0131 sa\u011flamam\u0131z gerekiyor.<\/p>\n<h3>Nginx Sanal Host Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Moodle i\u00e7in yeni bir Nginx sanal host dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/moodle.conf\n<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n. <code>your_domain.com<\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name your_domain.com; # Alan ad\u0131n\u0131z\u0131 veya IP adresinizi yaz\u0131n\n    root \/var\/www\/html\/moodle;\n    index index.php index.html index.htm;\n\n    client_max_body_size 100M; # Y\u00fckleme boyutunu Moodle ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlay\u0131n\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~ ^\/(build|cache|config|data|lib|local|vendor)\/ {\n        deny all;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    location ~ [^\/]\\.php(\/|$) {\n        fastcgi_split_path_info ^(.+\\.php)(\/.+)$;\n        fastcgi_pass unix:\/var\/run\/php5-fpm.sock; # Ubuntu 12.04 i\u00e7in PHP-FPM socket yolu\n        fastcgi_index index.php;\n        include fastcgi_params;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        fastcgi_param PATH_INFO $fastcgi_path_info;\n    }\n}\n<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<h3>Sanal Hostu Etkinle\u015ftirme ve Nginx&#8217;i Yeniden Ba\u015flatma<\/h3>\n<p>Yeni yap\u0131land\u0131rma dosyas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in bir sembolik ba\u011flant\u0131 olu\u015fturun ve varsay\u0131lan Nginx sitesini devre d\u0131\u015f\u0131 b\u0131rak\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/moodle.conf \/etc\/nginx\/sites-enabled\/\nsudo rm \/etc\/nginx\/sites-enabled\/default\n<\/code><\/pre>\n<p>Nginx yap\u0131land\u0131rmas\u0131n\u0131n do\u011fru oldu\u011fundan emin olmak i\u00e7in test edin ve ard\u0131ndan Nginx servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo service nginx restart\n<\/code><\/pre>\n<h3>PHP-FPM Ayarlar\u0131 (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h3>\n<p>PHP-FPM&#8217;in Moodle i\u00e7in yeterli kaynaklara sahip oldu\u011fundan emin olmak i\u00e7in baz\u0131 ayarlar\u0131 kontrol edebilirsiniz. <code>php.ini<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php5\/fpm\/php.ini\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki de\u011ferleri Moodle&#8217;\u0131n gereksinimlerine ve sunucunuzun kaynaklar\u0131na g\u00f6re ayarlay\u0131n:<\/p>\n<ul>\n<li><code>memory_limit = 256M<\/code> (Minimum 128M, daha b\u00fcy\u00fck siteler i\u00e7in 512M veya 1G)<\/li>\n<li><code>upload_max_filesize = 100M<\/code><\/li>\n<li><code>post_max_size = 100M<\/code><\/li>\n<li><code>max_execution_time = 300<\/code><\/li>\n<li><code>max_input_vars = 5000<\/code> (Moodle 2.9 i\u00e7in \u00f6nerilir)<\/li>\n<\/ul>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra PHP-FPM servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service php5-fpm restart\n<\/code><\/pre>\n<h2>Moodle Web Kurulumu ve Son Ayarlar<\/h2>\n<p>Art\u0131k Moodle&#8217;\u0131n web aray\u00fcz\u00fcn\u00fc kullanarak kurulumu tamamlayabilir ve son ayarlar\u0131 yapabiliriz.<\/p>\n<h3>Web Taray\u0131c\u0131s\u0131 \u00dczerinden Kurulumu Tamamlama<\/h3>\n<p>Bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve Moodle sitenizin URL&#8217;sine gidin (\u00f6rne\u011fin, <code>http:\/\/your_domain.com<\/code>). Moodle kurulum sihirbaz\u0131 sizi kar\u015f\u0131layacakt\u0131r.<\/p>\n<ol>\n<li><strong>Dil Se\u00e7imi:<\/strong> Tercih etti\u011finiz dili se\u00e7in ve &#8220;Sonraki&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Yollar\u0131n Onaylanmas\u0131:<\/strong> Moodle yollar\u0131n\u0131n do\u011fru olup olmad\u0131\u011f\u0131n\u0131 kontrol edin (<code>wwwroot<\/code>, <code>dataroot<\/code>). &#8220;Sonraki&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Veritaban\u0131 Ayarlar\u0131:<\/strong> Veritaban\u0131 t\u00fcr\u00fc olarak PostgreSQL se\u00e7ili olmal\u0131 ve daha \u00f6nce <code>config.php<\/code> dosyas\u0131nda belirledi\u011finiz veritaban\u0131 kullan\u0131c\u0131 ad\u0131, parolas\u0131, veritaban\u0131 ad\u0131 gibi bilgilerin do\u011fru oldu\u011funu onaylay\u0131n. &#8220;Sonraki&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Lisans Anla\u015fmas\u0131:<\/strong> Moodle lisans anla\u015fmas\u0131n\u0131 kabul edin ve &#8220;Devam et&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Sunucu Gereksinimleri Kontrol\u00fc:<\/strong> Moodle, sunucunuzun gerekli t\u00fcm gereksinimleri kar\u015f\u0131lay\u0131p kar\u015f\u0131lamad\u0131\u011f\u0131n\u0131 kontrol edecektir. Her \u015feyin ye\u015fil oldu\u011fundan emin olun. Sar\u0131 veya k\u0131rm\u0131z\u0131 uyar\u0131lar varsa, bunlar\u0131 d\u00fczeltmeniz gerekebilir (\u00f6rn. eksik PHP uzant\u0131lar\u0131). &#8220;Devam et&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Kurulum:<\/strong> Moodle, veritaban\u0131 tablolar\u0131n\u0131 olu\u015fturacak ve varsay\u0131lan verileri y\u00fckleyecektir. Bu biraz zaman alabilir. \u0130\u015flem bitti\u011finde &#8220;Devam et&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Y\u00f6netici Hesab\u0131 Olu\u015fturma:<\/strong> Y\u00f6netici hesab\u0131n\u0131z i\u00e7in bir kullan\u0131c\u0131 ad\u0131, g\u00fc\u00e7l\u00fc bir parola, e-posta adresi ve di\u011fer bilgileri girin. Bu bilgilerle Moodle&#8217;a giri\u015f yapacaks\u0131n\u0131z. &#8220;Profili g\u00fcncelle&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Site Ayarlar\u0131:<\/strong> Sitenizin ad\u0131n\u0131, k\u0131sa ad\u0131n\u0131 ve di\u011fer temel ayarlar\u0131 girin. &#8220;De\u011fi\u015fiklikleri kaydet&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<\/ol>\n<p>Tebrikler! Moodle kurulumunuz tamamland\u0131 ve sitenizin ana sayfas\u0131na y\u00f6nlendirileceksiniz.<\/p>\n<h3>Moodle Cron Job Kurulumu<\/h3>\n<p>Moodle&#8217;\u0131n arka plan g\u00f6revlerini (e-posta g\u00f6nderme, yedekleme, bildirimler vb.) d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131rmas\u0131 i\u00e7in bir cron job ayarlaman\u0131z gerekir. Bu, Moodle&#8217;\u0131n sa\u011fl\u0131kl\u0131 \u00e7al\u0131\u015fmas\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-bash\">sudo crontab -e -u www-data\n<\/code><\/pre>\n<p>A\u00e7\u0131lan dosyaya a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin ve kaydedin:<\/p>\n<pre><code class=\"language-bash\"><em> <\/em> <em> <\/em> * \/usr\/bin\/php \/var\/www\/html\/moodle\/admin\/cli\/cron.php >\/dev\/null\n<\/code><\/pre>\n<p>Bu cron job, her dakika <code>www-data<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda Moodle cron beti\u011fini \u00e7al\u0131\u015ft\u0131racakt\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Ubuntu 12.04 VPS \u00fczerinde Nginx, PostgreSQL ve PHP-FPM kullanarak Git \u00fczerinden Moodle kurulumunu tamamlam\u0131\u015f oldunuz. Moodle 2.9 s\u00fcr\u00fcm\u00fcn\u00fc tercih ederek eski i\u015fletim sistemiyle uyumlulu\u011fu sa\u011flad\u0131k. Kurulum sonras\u0131 <code>moodledata<\/code> dizininin izinlerini g\u00f6zden ge\u00e7irmeyi ve g\u00fcvenlik \u00f6nlemleri almay\u0131 unutmay\u0131n.<\/p>\n<p><strong>\u00d6nemli Uyar\u0131:<\/strong> Ubuntu 12.04&#8217;\u00fcn destek \u00f6mr\u00fc sona ermi\u015ftir. Bu, g\u00fcvenlik g\u00fcncellemeleri ve yamalar almayaca\u011f\u0131 anlam\u0131na gelir. \u00dcretim ortamlar\u0131nda kullan\u0131lmas\u0131 \u015fiddetle tavsiye edilmez ve ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. M\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede daha g\u00fcncel bir Ubuntu s\u00fcr\u00fcm\u00fcne ve Moodle versiyonuna ge\u00e7i\u015f yapman\u0131z \u00f6nerilir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S: Moodle&#8217;\u0131n destekledi\u011fi PHP s\u00fcr\u00fcm\u00fc nedir?<\/strong><br \/>\nC: Bu rehberde kullan\u0131lan Moodle 2.9, PHP 5.3.3 veya \u00fczeri bir s\u00fcr\u00fcm gerektirir. Daha yeni Moodle s\u00fcr\u00fcmleri (\u00f6rne\u011fin Moodle 3.x), PHP 5.6.5 veya 7.x serisini gerektirir. G\u00fcncel Moodle s\u00fcr\u00fcmleri i\u00e7in en son PHP 7.x veya 8.x s\u00fcr\u00fcmleri \u00f6nerilir.<\/p>\n<p><strong>S: <code>moodledata<\/code> dizini neden web k\u00f6k\u00fcnde olmamal\u0131d\u0131r?<\/strong><br \/>\nC: <code>moodledata<\/code> dizini, kullan\u0131c\u0131lar\u0131n y\u00fckledi\u011fi dosyalar\u0131, ge\u00e7ici verileri ve di\u011fer hassas bilgileri i\u00e7erir. Bu dizinin do\u011frudan web sunucusu taraf\u0131ndan eri\u015filebilir olmamas\u0131, k\u00f6t\u00fc niyetli kullan\u0131c\u0131lar\u0131n bu dosyalara do\u011frudan URL \u00fczerinden eri\u015fmesini engelleyerek \u00f6nemli bir g\u00fcvenlik katman\u0131 sa\u011flar. Web sunucusu sadece Moodle&#8217;\u0131n PHP betikleri arac\u0131l\u0131\u011f\u0131yla bu dizine eri\u015febilmelidir.<\/p>\n<p><strong>S: Nginx 502 Bad Gateway hatas\u0131 al\u0131rsam ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: Bu hata genellikle Nginx&#8217;in PHP-FPM ile ileti\u015fim kuramad\u0131\u011f\u0131 anlam\u0131na gelir. Kontrol etmeniz gerekenler:<\/p>\n<ul>\n<li>PHP-FPM servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131: <code>sudo service php5-fpm status<\/code><\/li>\n<li>Nginx yap\u0131land\u0131rman\u0131zdaki <code>fastcgi_pass<\/code> yolunun (<code>unix:\/var\/run\/php5-fpm.sock<\/code>) do\u011fru olup olmad\u0131\u011f\u0131.<\/li>\n<li><code>\/etc\/php5\/fpm\/pool.d\/www.conf<\/code> dosyas\u0131nda <code>listen<\/code> y\u00f6nergesinin ayn\u0131 yola ayarl\u0131 olup olmad\u0131\u011f\u0131.<\/li>\n<li>PHP-FPM veya Nginx hata g\u00fcnl\u00fcklerini kontrol etmek (<code>\/var\/log\/nginx\/error.log<\/code>, <code>\/var\/log\/php5-fpm.log<\/code>).<\/li>\n<\/ul>\n<p><strong>S: Moodle cron g\u00f6revi neden \u00f6nemlidir?<\/strong><br \/>\nC: Moodle, arka planda \u00e7al\u0131\u015fan bir\u00e7ok g\u00f6reve sahiptir (e-posta g\u00f6nderme, bildirimler, forum \u00f6zetleri, yedeklemeler, ders etkinliklerinin g\u00fcncellenmesi vb.). Bu g\u00f6revler, cron job arac\u0131l\u0131\u011f\u0131yla d\u00fczenli aral\u0131klarla tetiklenir. Cron g\u00f6revi ayarlanmazsa, Moodle siteniz d\u00fczg\u00fcn \u00e7al\u0131\u015fmayacak veya baz\u0131 \u00f6zellikleri eksik kalacakt\u0131r.<\/p>\n<p><strong>S: Ubuntu 12.04 kullanman\u0131n riskleri nelerdir?<\/strong><br \/>\nC: Ubuntu 12.04 (Precise Pangolin) i\u00e7in ana destek 2017&#8217;de, geni\u015fletilmi\u015f g\u00fcvenlik deste\u011fi (ESM) ise 2019&#8217;da sona ermi\u015ftir. Bu, i\u015fletim sisteminin art\u0131k g\u00fcvenlik g\u00fcncellemeleri, hata d\u00fczeltmeleri veya yaz\u0131l\u0131m yamalar\u0131 almad\u0131\u011f\u0131 anlam\u0131na gelir. Bu durum, sunucunuzu bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 savunmas\u0131z b\u0131rak\u0131r ve sald\u0131r\u0131lara a\u00e7\u0131k hale getirebilir. Ayr\u0131ca, eski yaz\u0131l\u0131m versiyonlar\u0131 modern uygulamalarla uyumluluk sorunlar\u0131 ya\u015fayabilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Bu rehber, Ubuntu 12.04 i\u015fletim sistemine sahip bir Sanal \u00d6zel Sunucu (VPS) \u00fczerinde Moodle&#8217;\u0131 Git \u00fczerinden kurmay\u0131, veritaban\u0131 olarak PostgreS","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38041","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Bu rehber, Ubuntu 12.04 i\u015fletim sistemine sahip bir Sanal \u00d6zel Sunucu (VPS) \u00fczerinde Moodle&#039;\u0131 Git \u00fczerinden kurmay\u0131, veritaban\u0131 olarak PostgreS\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-22T04:41:18+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu\",\"datePublished\":\"2026-01-22T04:41:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\"},\"wordCount\":1752,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\",\"name\":\"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-22T04:41:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/","og_locale":"tr_TR","og_type":"article","og_title":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu","og_description":"Bu rehber, Ubuntu 12.04 i\u015fletim sistemine sahip bir Sanal \u00d6zel Sunucu (VPS) \u00fczerinde Moodle'\u0131 Git \u00fczerinden kurmay\u0131, veritaban\u0131 olarak PostgreS","og_url":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-22T04:41:18+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu","datePublished":"2026-01-22T04:41:18+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/"},"wordCount":1752,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/","url":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/","name":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-22T04:41:18+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sistem-hazirligi-ve-temel-bilesenlerin-kurulumu-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sistem Haz\u0131rl\u0131\u011f\u0131 ve Temel Bile\u015fenlerin Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38041"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38041\/revisions"}],"predecessor-version":[{"id":38042,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38041\/revisions\/38042"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}