{"id":36379,"date":"2025-12-14T22:40:48","date_gmt":"2025-12-14T19:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36379"},"modified":"2025-12-14T22:40:48","modified_gmt":"2025-12-14T19:40:48","slug":"debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/","title":{"rendered":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu<\/h2>\n<p>WordPress, d\u00fcnya genelinde en pop\u00fcler i\u00e7erik y\u00f6netim sistemlerinden (CMS) biridir ve web sitelerinin %40&#8217;\u0131ndan fazlas\u0131na g\u00fc\u00e7 vermektedir. Bloglardan e-ticaret sitelerine, kurumsal portallardan ki\u015fisel sayfalara kadar geni\u015f bir yelpazede kullan\u0131labilen bu platform, esnekli\u011fi, geni\u015f eklenti ve tema ekosistemi ile \u00f6ne \u00e7\u0131kar. Geleneksel olarak Apache web sunucusu (LAMP y\u0131\u011f\u0131n\u0131) ile ili\u015fkilendirilse de, \u00f6zellikle y\u00fcksek trafikli siteler i\u00e7in Nginx (LEMP y\u0131\u011f\u0131n\u0131) ile birlikte kullan\u0131ld\u0131\u011f\u0131nda \u00f6nemli performans avantajlar\u0131 sunar. LEMP, Linux i\u015fletim sistemi, Nginx web sunucusu, MySQL\/MariaDB veritaban\u0131 ve PHP programlama dilinin k\u0131saltmas\u0131d\u0131r. Bu makalede, Debian 9 &#8220;Stretch&#8221; i\u015fletim sistemi \u00fczerine, modern ve performans odakl\u0131 bir web ortam\u0131 olu\u015fturmak i\u00e7in LEMP y\u0131\u011f\u0131n\u0131 ile WordPress&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>Debian 9, kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi ile bilinen, sunucu ortamlar\u0131nda s\u0131k\u00e7a tercih edilen bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Nginx ise, Apache&#8217;ye k\u0131yasla daha az kaynak t\u00fcketimi ve y\u00fcksek e\u015fzamanl\u0131 ba\u011flant\u0131 y\u00f6netimi yetene\u011fi sayesinde, \u00f6zellikle statik i\u00e7erik sunumunda ve ters proxy (reverse proxy) olarak \u00fcst\u00fcn bir performans sergiler. PHP-FPM (FastCGI Process Manager) ise PHP kodlar\u0131n\u0131n Nginx taraf\u0131ndan daha verimli bir \u015fekilde i\u015flenmesini sa\u011flayarak performans\u0131 optimize eder. MariaDB, MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen ve tamamen uyumlu bir \u00e7atal\u0131 olup, performans ve \u00f6zellik a\u00e7\u0131s\u0131ndan \u00f6nemli iyile\u015ftirmeler sunar. Bu kombinasyon, WordPress siteniz i\u00e7in h\u0131zl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir temel olu\u015fturacakt\u0131r.<\/p>\n<p>Bu rehber, teknik bilgiye sahip ancak LEMP ve WordPress kurulumunda yeni olan kullan\u0131c\u0131lara y\u00f6nelik ad\u0131m ad\u0131m bir k\u0131lavuz niteli\u011findedir. Her ad\u0131m\u0131 dikkatlice takip ederek, kendi Debian 9 sunucunuz \u00fczerinde ba\u015far\u0131l\u0131 bir WordPress kurulumu ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<h3>\u00d6n Haz\u0131rl\u0131klar<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce baz\u0131 temel gereksinimleri ve \u00f6n haz\u0131rl\u0131klar\u0131 tamamlamam\u0131z gerekmektedir:<\/p>\n<p>*   <strong>Debian 9 Sunucusu:<\/strong> Temiz bir Debian 9 (Stretch) kurulumuna sahip bir sunucu (VPS veya fiziksel sunucu).<br \/>\n*   <strong>Root Yetkisi veya Sudo Kullan\u0131c\u0131s\u0131:<\/strong> Kurulum ad\u0131mlar\u0131 i\u00e7in <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak veya <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131 ile oturum a\u00e7m\u0131\u015f olman\u0131z gerekmektedir. G\u00fcvenlik nedeniyle <code>root<\/code> kullan\u0131c\u0131s\u0131 yerine <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131 kullan\u0131lmas\u0131 \u00f6nerilir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucuya SSH \u00fczerinden eri\u015febilmelisiniz.<br \/>\n*   <strong>Alan Ad\u0131 (Opsiyonel ama \u00d6nerilen):<\/strong> Kurulumu bir alan ad\u0131 (\u00f6rne\u011fin, <code>alanadiniz.com<\/code>) \u00fczerinden yapacaksan\u0131z, alan ad\u0131n\u0131z\u0131n DNS kay\u0131tlar\u0131n\u0131n sunucunuzun IP adresine y\u00f6nlendirilmi\u015f olmas\u0131 gerekmektedir. Aksi takdirde, kurulumu sunucunuzun IP adresi \u00fczerinden ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sunucunuzu g\u00fcncelleyerek kuruluma haz\u0131r hale getirebiliriz.<\/p>\n<h4>Sistem G\u00fcncellemesi<\/h4>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sistemdeki paket listelerini g\u00fcncellemek ve mevcut paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler ve sisteminizin g\u00fcvenli\u011fini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, paket listelerini g\u00fcnceller ve mevcut t\u00fcm paketleri onaylamaya gerek kalmadan y\u00fckseltir.<\/p>\n<h3>LEMP Y\u0131\u011f\u0131n\u0131n\u0131 Kurulumu<\/h3>\n<p>LEMP y\u0131\u011f\u0131n\u0131, Nginx, MariaDB ve PHP-FPM bile\u015fenlerinden olu\u015fur. Bu b\u00f6l\u00fcmde, her bir bile\u015feni s\u0131ras\u0131yla kuracak ve temel yap\u0131land\u0131rmalar\u0131n\u0131 ger\u00e7ekle\u015ftirece\u011fiz.<\/p>\n<h4>Nginx Web Sunucusunun Kurulumu<\/h4>\n<p>Nginx, LEMP y\u0131\u011f\u0131n\u0131n\u0131n web sunucusu bile\u015fenidir. Debian depolar\u0131nda mevcuttur ve kolayca kurulabilir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra Nginx otomatik olarak ba\u015flayacak ve sistem ba\u015flang\u0131c\u0131nda etkinle\u015ftirilecektir. Nginx&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status nginx<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmelisiniz. Ayr\u0131ca, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini ziyaret ederek Nginx&#8217;in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rebilirsiniz. E\u011fer sunucunuzda bir g\u00fcvenlik duvar\u0131 (UFW gibi) etkinse, Nginx&#8217;in HTTP ve HTTPS trafi\u011fine izin vermeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTP'\nsudo ufw allow 'Nginx HTTPS'\nsudo ufw enable<\/code><\/pre>\n<p>Bu komutlar, Nginx&#8217;in HTTP (80) ve HTTPS (443) portlar\u0131ndan gelen trafi\u011fe izin verir ve g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirir.<\/p>\n<h4>MariaDB Veritaban\u0131 Sunucusunun Kurulumu<\/h4>\n<p>WordPress, site i\u00e7eri\u011fini, kullan\u0131c\u0131 bilgilerini ve ayarlar\u0131 depolamak i\u00e7in bir veritaban\u0131na ihtiya\u00e7 duyar. Bu makalede MariaDB&#8217;yi kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo apt install mariadb-server mariadb-client -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra MariaDB sunucusu otomatik olarak ba\u015flayacakt\u0131r. Kurulumun g\u00fcvenli\u011fini art\u0131rmak i\u00e7in <code>mysql_secure_installation<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rman\u0131z \u015fiddetle tavsiye edilir:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu betik size bir dizi soru soracakt\u0131r:<br \/>\n*   <strong>Enter current password for root (none):<\/strong> \u0130lk kurulumda root \u015fifresi olmad\u0131\u011f\u0131 i\u00e7in do\u011frudan Enter tu\u015funa bas\u0131n.<br \/>\n*   <strong>Set root password? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak root \u015fifresi belirleyin. G\u00fc\u00e7l\u00fc bir \u015fifre se\u00e7ti\u011finizden emin olun.<br \/>\n*   <strong>Remove anonymous users? [Y\/n]:<\/strong> <code>Y<\/code><br \/>\n*   <strong>Disallow root login remotely? [Y\/n]:<\/strong> <code>Y<\/code> (Bu, root kullan\u0131c\u0131s\u0131n\u0131n sadece yerel olarak ba\u011flanabilmesini sa\u011flar.)<br \/>\n*   <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code><br \/>\n*   <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code><\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra MariaDB kurulumunuz daha g\u00fcvenli hale gelecektir.<\/p>\n<h5>WordPress \u0130\u00e7in Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/h5>\n<p>WordPress&#8217;in \u00e7al\u0131\u015fabilmesi i\u00e7in \u00f6zel bir veritaban\u0131na ve bu veritaban\u0131na eri\u015fim yetkisi olan bir kullan\u0131c\u0131ya ihtiyac\u0131 vard\u0131r. MariaDB&#8217;ye root kullan\u0131c\u0131s\u0131 olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>Az \u00f6nce belirledi\u011finiz root \u015fifresini girin. \u015eimdi a\u015fa\u011f\u0131daki SQL komutlar\u0131n\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131rarak WordPress i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturun. <code>wordpress_db<\/code>, <code>wordpress_user<\/code> ve <code>GUCLU_SIFRENIZ<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi tercihlerinize g\u00f6re de\u011fi\u015ftirin ve g\u00fc\u00e7l\u00fc bir \u015fifre kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'GUCLU_SIFRENIZ';\nGRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>Bu komutlar:<br \/>\n*   <code>wordpress_db<\/code> ad\u0131nda yeni bir veritaban\u0131 olu\u015fturur ve UTF-8 karakter setini ayarlar.<br \/>\n*   <code>wordpress_user<\/code> ad\u0131nda, sadece <code>localhost<\/code> \u00fczerinden eri\u015febilen ve belirledi\u011finiz \u015fifreye sahip bir kullan\u0131c\u0131 olu\u015fturur.<br \/>\n*   Bu kullan\u0131c\u0131ya <code>wordpress_db<\/code> veritaban\u0131 \u00fczerinde tam yetki verir.<br \/>\n*   Yetki tablolar\u0131n\u0131 g\u00fcnceller.<br \/>\n*   MariaDB istemcisinden \u00e7\u0131kar.<\/p>\n<h4>PHP ve PHP-FPM Kurulumu<\/h4>\n<p>WordPress, PHP ile yaz\u0131lm\u0131\u015f dinamik bir uygulamad\u0131r. Nginx, PHP kodunu do\u011frudan i\u015fleyemedi\u011fi i\u00e7in, PHP-FPM (FastCGI Process Manager) arac\u0131l\u0131\u011f\u0131yla PHP kodlar\u0131n\u0131 Nginx&#8217;e sunar. Debian 9 varsay\u0131lan olarak PHP 7.0 s\u00fcr\u00fcm\u00fcn\u00fc sunar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install php-fpm php-mysql php-common php-cli php-gd php-curl php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y<\/code><\/pre>\n<p>Bu komut, PHP-FPM&#8217;i ve WordPress&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan baz\u0131 yayg\u0131n PHP mod\u00fcllerini kurar. \u00d6zellikle <code>php-mysql<\/code> veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in, <code>php-gd<\/code> resim i\u015fleme i\u00e7in (tema ve eklentilerde s\u0131k\u00e7a kullan\u0131l\u0131r) ve <code>php-curl<\/code> d\u0131\u015f servislerle ileti\u015fim i\u00e7in \u00f6nemlidir.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra PHP-FPM servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php7.0-fpm\nsudo systemctl enable php7.0-fpm<\/code><\/pre>\n<p>PHP-FPM&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status php7.0-fpm<\/code><\/pre>\n<h5>PHP Yap\u0131land\u0131rmas\u0131<\/h5>\n<p>WordPress&#8217;in daha verimli \u00e7al\u0131\u015fmas\u0131 ve b\u00fcy\u00fck dosyalar\u0131 y\u00fckleyebilmesi i\u00e7in baz\u0131 PHP ayarlar\u0131n\u0131 d\u00fczenlemek faydal\u0131 olacakt\u0131r. PHP yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/php\/7.0\/fpm\/php.ini<\/code> yolundad\u0131r. Bu dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php\/7.0\/fpm\/php.ini<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki de\u011ferleri bulun ve \u00f6nerilen \u015fekilde d\u00fczenleyin (veya mevcut de\u011ferlerden daha y\u00fcksek yap\u0131n):<\/p>\n<pre><code class=\"language-ini\">upload_max_filesize = 64M\npost_max_size = 64M\nmemory_limit = 256M\nmax_execution_time = 300\ncgi.fix_pathinfo=0<\/code><\/pre>\n<p>*   <code>upload_max_filesize<\/code> ve <code>post_max_size<\/code>: Y\u00fcklenebilecek maksimum dosya boyutunu belirler. WordPress medya y\u00fcklemeleri i\u00e7in \u00f6nemlidir.<br \/>\n*   <code>memory_limit<\/code>: Bir PHP beti\u011finin kullanabilece\u011fi maksimum bellek miktar\u0131n\u0131 belirler.<br \/>\n*   <code>max_execution_time<\/code>: Bir PHP beti\u011finin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcreyi belirler.<br \/>\n*   <code>cgi.fix_pathinfo=0<\/code>: Bu ayar, Nginx ile PHP-FPM kullan\u0131rken g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir. <code>1<\/code> olarak ayarlan\u0131rsa, Nginx&#8217;in belirli t\u00fcrdeki k\u00f6t\u00fc niyetli istekleri PHP-FPM&#8217;e yorumlamas\u0131 i\u00e7in g\u00f6ndermesine neden olabilir. Bu nedenle <code>0<\/code> olarak ayarlanmas\u0131 \u00f6nerilir.<\/p>\n<p>De\u011fi\u015fiklikleri kaydedip \u00e7\u0131kt\u0131ktan sonra, PHP-FPM servisini yeniden ba\u015flat\u0131n ki de\u011fi\u015fiklikler etkin olsun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart php7.0-fpm<\/code><\/pre>\n<h3>WordPress Kurulumu<\/h3>\n<p>LEMP y\u0131\u011f\u0131n\u0131m\u0131z art\u0131k haz\u0131r. \u015eimdi WordPress dosyalar\u0131n\u0131 indirebilir, yap\u0131land\u0131rabilir ve Nginx ile entegre edebiliriz.<\/p>\n<h4>WordPress Dosyalar\u0131n\u0131 \u0130ndirme ve Ta\u015f\u0131ma<\/h4>\n<p>WordPress&#8217;in en son s\u00fcr\u00fcm\u00fcn\u00fc resmi web sitesinden indirece\u011fiz ve web sunucumuzun k\u00f6k dizinine ta\u015f\u0131yaca\u011f\u0131z. Nginx i\u00e7in varsay\u0131lan web k\u00f6k dizini genellikle <code>\/var\/www\/html<\/code>&#8216;dir. Biz WordPress&#8217;i bu dizinin alt\u0131na kendi ad\u0131yla bir klas\u00f6re kuraca\u011f\u0131z.<\/p>\n<p>\u00d6nce <code>\/tmp<\/code> dizinine ge\u00e7in ve WordPress&#8217;i indirin:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/wordpress.org\/latest.tar.gz<\/code><\/pre>\n<p>\u0130ndirdi\u011finiz s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyay\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">tar -xzf latest.tar.gz<\/code><\/pre>\n<p>\u015eimdi WordPress dosyalar\u0131n\u0131 bar\u0131nd\u0131racak bir dizin olu\u015ftural\u0131m. Alan ad\u0131n\u0131z <code>alanadiniz.com<\/code> ise, <code>\/var\/www\/html\/alanadiniz.com<\/code> gibi bir yap\u0131 kullanmak iyi bir uygulamad\u0131r. Bu rehberde <code>\/var\/www\/html\/wordpress<\/code> dizinini kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/html\/wordpress\nsudo mv \/tmp\/wordpress\/* \/var\/www\/html\/wordpress\/<\/code><\/pre>\n<p>Bu komutlar, WordPress i\u00e7in bir dizin olu\u015fturur ve indirilen dosyalar\u0131 bu dizine ta\u015f\u0131r.<\/p>\n<h4>Dosya \u0130zinlerini Ayarlama<\/h4>\n<p>WordPress&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi, eklenti ve tema y\u00fckleyebilmesi, medya dosyalar\u0131n\u0131 i\u015fleyebilmesi i\u00e7in do\u011fru dosya izinlerine sahip olmas\u0131 \u00e7ok \u00f6nemlidir. Nginx ve PHP-FPM, <code>www-data<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda \u00e7al\u0131\u015f\u0131r. Bu nedenle, WordPress dosyalar\u0131n\u0131n sahipli\u011fini ve izinlerini buna g\u00f6re ayarlamam\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/html\/wordpress\nsudo find \/var\/www\/html\/wordpress -type d -exec chmod 755 {} \\;\nsudo find \/var\/www\/html\/wordpress -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>*   <code>chown -R www-data:www-data \/var\/www\/html\/wordpress<\/code>: WordPress dizini ve i\u00e7indeki t\u00fcm dosya ve klas\u00f6rlerin sahipli\u011fini <code>www-data<\/code> kullan\u0131c\u0131s\u0131na ve <code>www-data<\/code> grubuna atar.<br \/>\n*   <code>find ... -type d -exec chmod 755 {} \\;<\/code>: T\u00fcm dizinlere <code>755<\/code> (okuma, yazma, \u00e7al\u0131\u015ft\u0131rma) izni verir.<br \/>\n*   <code>find ... -type f -exec chmod 644 {} \\;<\/code>: T\u00fcm dosyalara <code>644<\/code> (okuma, yazma) izni verir.<\/p>\n<p>Bu izinler, WordPress&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in genellikle yeterlidir ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan iyi bir dengedir.<\/p>\n<h4>WordPress Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>WordPress, veritaban\u0131 ba\u011flant\u0131 bilgilerini ve di\u011fer temel ayarlar\u0131 <code>wp-config.php<\/code> adl\u0131 bir dosyada saklar. WordPress ile birlikte gelen <code>wp-config-sample.php<\/code> dosyas\u0131n\u0131 kopyalayarak bu dosyay\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo cp \/var\/www\/html\/wordpress\/wp-config-sample.php \/var\/www\/html\/wordpress\/wp-config.php<\/code><\/pre>\n<p>\u015eimdi bu dosyay\u0131 d\u00fczenleyerek veritaban\u0131 bilgilerini girece\u011fiz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/html\/wordpress\/wp-config.php<\/code><\/pre>\n<p>Dosyada a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve MariaDB kurulumunda belirledi\u011finiz veritaban\u0131 ad\u0131, kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-php\">\/\/ <strong> MySQL settings - You can get this info from your web host <\/strong> \/\/\n\/<em><\/em> The name of the database for WordPress *\/\ndefine( 'DB_NAME', 'wordpress_db' ); \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 ad\u0131\n\n\/<em><\/em> MySQL database username *\/\ndefine( 'DB_USER', 'wordpress_user' ); \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 kullan\u0131c\u0131 ad\u0131\n\n\/<em><\/em> MySQL database password *\/\ndefine( 'DB_PASSWORD', 'GUCLU_SIFRENIZ' ); \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 \u015fifresi\n\n\/<em><\/em> MySQL hostname *\/\ndefine( 'DB_HOST', 'localhost' );\n\n\/<em><\/em> Database Charset to use in creating database tables. *\/\ndefine( 'DB_CHARSET', 'utf8mb4' );\n\n\/<em><\/em> The Database Collate type. Don't change this if in doubt. *\/\ndefine( 'DB_COLLATE', 'utf8mb4_unicode_ci' );<\/code><\/pre>\n<p>Ayr\u0131ca, g\u00fcvenlik anahtarlar\u0131n\u0131 (Authentication Unique Keys and Salts) g\u00fcncellemeniz \u00f6nemlidir. Bu anahtarlar, \u00e7erezleri ve \u015fifreleri daha g\u00fcvenli hale getirir. <code>https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/<\/code> adresini ziyaret ederek otomatik olarak olu\u015fturulmu\u015f anahtarlar\u0131 alabilir ve <code>wp-config.php<\/code> dosyas\u0131ndaki ilgili b\u00f6l\u00fcme yap\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<pre><code class=\"language-php\">define('AUTH_KEY',         'put your unique phrase here');\ndefine('SECURE_AUTH_KEY',  'put your unique phrase here');\ndefine('LOGGED_IN_KEY',    'put your unique phrase here');\ndefine('NONCE_KEY',        'put your unique phrase here');\ndefine('AUTH_SALT',        'put your unique phrase here');\ndefine('SECURE_AUTH_SALT', 'put your unique phrase here');\ndefine('LOGGED_IN_SALT',   'put your unique phrase here');\ndefine('NONCE_SALT',       'put your unique phrase here');<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h3>Nginx Sunucu Blo\u011fu Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Nginx&#8217;in WordPress&#8217;i nas\u0131l sunaca\u011f\u0131n\u0131 ve PHP-FPM ile nas\u0131l etkile\u015fime ge\u00e7ece\u011fini belirlemek i\u00e7in bir sunucu blo\u011fu (server block) yap\u0131land\u0131rmas\u0131 olu\u015fturmam\u0131z gerekiyor.<\/p>\n<p>Yeni bir yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m. Alan ad\u0131n\u0131z varsa <code>alanadiniz.com<\/code> gibi bir isim kullanabilirsiniz. Biz bu \u00f6rnekte <code>wordpress.conf<\/code> ad\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/wordpress.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 dosyaya yap\u0131\u015ft\u0131r\u0131n. <code>server_name<\/code> k\u0131sm\u0131n\u0131 sunucunuzun IP adresi veya alan ad\u0131n\u0131zla de\u011fi\u015ftirin. <code>root<\/code> direktifinin WordPress dosyalar\u0131n\u0131z\u0131n bulundu\u011fu dizini g\u00f6sterdi\u011finden emin olun.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n\n    root \/var\/www\/html\/wordpress;\n    index index.php index.html index.htm;\n\n    server_name your_domain_or_ip_address; # Alan ad\u0131n\u0131z\u0131 veya IP adresinizi buraya yaz\u0131n\n\n    error_log \/var\/log\/nginx\/wordpress_error.log;\n    access_log \/var\/log\/nginx\/wordpress_access.log;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/run\/php\/php7.0-fpm.sock;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # G\u00fcvenlik i\u00e7in .htaccess dosyalar\u0131na eri\u015fimi engelle\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    # WordPress'in baz\u0131 g\u00fcvenlik kurallar\u0131\n    location = \/favicon.ico { log_not_found off; access_log off; }\n    location = \/robots.txt { log_not_found off; access_log off; }\n    location ~* \\.(css|gif|ico|jpeg|jpg|js|png)$ {\n        expires max;\n        log_not_found off;\n    }\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rman\u0131n \u00f6nemli k\u0131s\u0131mlar\u0131:<br \/>\n*   <code>listen 80<\/code>: Nginx&#8217;in 80 numaral\u0131 porttan gelen HTTP isteklerini dinlemesini sa\u011flar.<br \/>\n*   <code>root \/var\/www\/html\/wordpress;<\/code>: WordPress dosyalar\u0131n\u0131n bulundu\u011fu k\u00f6k dizini belirtir.<br \/>\n*   <code>index index.php index.html index.htm;<\/code>: Dizin istendi\u011finde Nginx&#8217;in hangi dosyalar\u0131 arayaca\u011f\u0131n\u0131 belirtir.<br \/>\n*   <code>server_name your_domain_or_ip_address;<\/code>: Bu sunucu blo\u011funun hangi alan ad\u0131 veya IP adresi i\u00e7in ge\u00e7erli oldu\u011funu belirtir.<br \/>\n*   <code>location \/ { try_files $uri $uri\/ \/index.php?$args; }<\/code>: Bu k\u0131s\u0131m, WordPress&#8217;in &#8220;g\u00fczel URL&#8221; (pretty permalinks) yap\u0131s\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. E\u011fer istenen dosya veya dizin bulunamazsa, iste\u011fi <code>index.php<\/code>&#8216;ye y\u00f6nlendirir.<br \/>\n*   <code>location ~ \\.php$ { ... }<\/code>: Bu blok, PHP dosyalar\u0131n\u0131n PHP-FPM taraf\u0131ndan i\u015flenmesini sa\u011flar. <code>fastcgi_pass<\/code> direktifi, PHP-FPM soketinin yolunu belirtir. Debian 9&#8217;da bu genellikle <code>\/run\/php\/php7.0-fpm.sock<\/code>&#8216;tur.<br \/>\n*   <code>location ~ \/\\.ht { deny all; }<\/code>: <code>.htaccess<\/code> dosyalar\u0131na do\u011frudan eri\u015fimi engeller. Nginx <code>.htaccess<\/code> dosyalar\u0131n\u0131 kullanmaz, ancak bu bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h4>Sunucu Blo\u011funu Etkinle\u015ftirme ve Nginx&#8217;i Yeniden Ba\u015flatma<\/h4>\n<p>Yeni sunucu blo\u011fumuzu etkinle\u015ftirmek i\u00e7in, <code>sites-available<\/code> dizinindeki yap\u0131land\u0131rma dosyam\u0131za <code>sites-enabled<\/code> dizininden bir sembolik ba\u011flant\u0131 (symlink) olu\u015fturmam\u0131z gerekiyor:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/wordpress.conf \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<p>Varsay\u0131lan Nginx kar\u015f\u0131lama sayfas\u0131n\u0131 sunan <code>default<\/code> sunucu blo\u011funu devre d\u0131\u015f\u0131 b\u0131rakmak iyi bir uygulamad\u0131r, \u00e7\u00fcnk\u00fc ayn\u0131 port \u00fczerinden birden fazla sunucu blo\u011fu \u00e7ak\u0131\u015fmalara neden olabilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm \/etc\/nginx\/sites-enabled\/default<\/code><\/pre>\n<p>\u015eimdi Nginx yap\u0131land\u0131rmam\u0131z\u0131n s\u00f6zdizimsel olarak do\u011fru olup olmad\u0131\u011f\u0131n\u0131 kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, <code>test is successful<\/code> mesaj\u0131n\u0131 g\u00f6rmelisiniz. Herhangi bir hata varsa, yap\u0131land\u0131rma dosyan\u0131z\u0131 tekrar kontrol edin.<\/p>\n<p>Son olarak, Nginx servisini yeniden ba\u015flatarak de\u011fi\u015fiklikleri etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<h3>WordPress Kurulumunu Tamamlama<\/h3>\n<p>Art\u0131k web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini veya alan ad\u0131n\u0131z\u0131 ziyaret ederek WordPress kurulum sihirbaz\u0131n\u0131 ba\u015flatabilirsiniz.<\/p>\n<p>Taray\u0131c\u0131n\u0131zda <code>http:\/\/your_domain_or_ip_address<\/code> adresine gidin. WordPress&#8217;in kar\u015f\u0131lama ekran\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>1.  <strong>Dil Se\u00e7imi:<\/strong> Kurulum i\u00e7in tercih etti\u011finiz dili se\u00e7in ve &#8220;Devam&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<br \/>\n2.  <strong>Ho\u015f Geldiniz Ekran\u0131:<\/strong> WordPress&#8217;in veritaban\u0131 bilgilerini istedi\u011fi bir sonraki ekranda &#8220;Hadi Ba\u015flayal\u0131m!&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n. (Bu bilgileri <code>wp-config.php<\/code> dosyas\u0131nda zaten girdik, ancak bu ad\u0131m yine de g\u00f6r\u00fcn\u00fcr.)<br \/>\n3.  <strong>Site Bilgileri:<\/strong> WordPress sizden sitenizin ba\u015fl\u0131\u011f\u0131n\u0131, y\u00f6netici kullan\u0131c\u0131 ad\u0131n\u0131, \u015fifreyi ve e-posta adresini isteyecektir. G\u00fc\u00e7l\u00fc bir \u015fifre se\u00e7ti\u011finizden ve y\u00f6netici kullan\u0131c\u0131 ad\u0131 olarak <code>admin<\/code> gibi yayg\u0131n isimler kullanmaktan ka\u00e7\u0131nd\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n4.  <strong>Kurulumu Tamamla:<\/strong> T\u00fcm bilgileri girdikten sonra &#8220;WordPress&#8217;i Kur&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/p>\n<p>Kurulum ba\u015far\u0131yla tamamland\u0131\u011f\u0131nda, size bir ba\u015far\u0131 mesaj\u0131 g\u00f6sterilecek ve WordPress y\u00f6netici paneline giri\u015f yapabilece\u011finiz bir ba\u011flant\u0131 sunulacakt\u0131r. Y\u00f6netici kullan\u0131c\u0131 ad\u0131n\u0131z ve \u015fifrenizle giri\u015f yaparak sitenizi y\u00f6netmeye ba\u015flayabilirsiniz.<\/p>\n<h3>Ek G\u00fcvenlik ve \u0130yile\u015ftirmeler (\u0130ste\u011fe Ba\u011fl\u0131)<\/h3>\n<p>WordPress kurulumunuz art\u0131k \u00e7al\u0131\u015f\u0131r durumda olsa da, baz\u0131 ek g\u00fcvenlik \u00f6nlemleri ve performans iyile\u015ftirmeleri uygulayarak sitenizi daha sa\u011flam hale getirebilirsiniz.<\/p>\n<h4>HTTPS ile G\u00fcvenli Ba\u011flant\u0131 (Let&#8217;s Encrypt)<\/h4>\n<p>Bir web sitesi i\u00e7in HTTPS kullanmak, hem g\u00fcvenlik hem de SEO a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Let&#8217;s Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan pop\u00fcler bir hizmettir.<\/p>\n<p>1.  <strong>Certbot Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot python-certbot-nginx -y<\/code><\/pre>\n<p>2.  <strong>Sertifika Alma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d your_domain.com -d www.your_domain.com<\/code><\/pre>\n<p>    Bu komut, Certbot&#8217;u \u00e7al\u0131\u015ft\u0131r\u0131r, Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak alg\u0131lar ve alan adlar\u0131n\u0131z i\u00e7in bir sertifika al\u0131r. Sizden e-posta adresi isteyecek ve hizmet ko\u015fullar\u0131n\u0131 kabul etmenizi isteyecektir. Ayr\u0131ca, HTTP trafi\u011fini HTTPS&#8217;e y\u00f6nlendirip y\u00f6nlendirmeyece\u011finizi soracakt\u0131r; genellikle bu y\u00f6nlendirmeyi kabul etmek iyi bir fikirdir.<br \/>\n3.  <strong>Otomatik Yenileme Kontrol\u00fc:<\/strong> Certbot, sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir cron i\u015fi de ayarlar. Yenilemenin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot renew --dry-run<\/code><\/pre>\n<h4>Nginx Yap\u0131land\u0131rmas\u0131nda Ek G\u00fcvenlik Ayarlar\u0131<\/h4>\n<p>WordPress i\u00e7in Nginx yap\u0131land\u0131rman\u0131za baz\u0131 ek g\u00fcvenlik ba\u015fl\u0131klar\u0131 ekleyebilirsiniz. <code>wordpress.conf<\/code> dosyan\u0131z\u0131 tekrar a\u00e7\u0131n (<code>sudo nano \/etc\/nginx\/sites-available\/wordpress.conf<\/code>) ve <code>server<\/code> blo\u011funun i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-nginx\"># G\u00fcvenlik Ba\u015fl\u0131klar\u0131\n    add_header X-Frame-Options \"SAMEORIGIN\";\n    add_header X-XSS-Protection \"1; mode=block\";\n    add_header X-Content-Type-Options \"nosniff\";\n    add_header Referrer-Policy \"no-referrer-when-downgrade\";\n    add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\" always;<\/code><\/pre>\n<p>Bu ba\u015fl\u0131klar, sitenizi clickjacking, XSS (Cross-Site Scripting) gibi yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korumaya yard\u0131mc\u0131 olur. <code>Strict-Transport-Security<\/code> (HSTS) ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131lar\u0131n sitenize her zaman HTTPS \u00fczerinden ba\u011flanmas\u0131n\u0131 sa\u011flar. De\u011fi\u015fiklikleri kaydettikten sonra Nginx&#8217;i yeniden ba\u015flat\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<h4>WordPress G\u00fcvenlik Eklentileri<\/h4>\n<p>WordPress&#8217;in kendisi i\u00e7in de g\u00fcvenlik eklentileri (\u00f6rne\u011fin Wordfence, Sucuri Security) kurarak ek bir koruma katman\u0131 sa\u011flayabilirsiniz. Bu eklentiler, k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m taramas\u0131, g\u00fcvenlik duvar\u0131, oturum a\u00e7ma denemelerini s\u0131n\u0131rlama gibi \u00f6zellikler sunar.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorunlar ve Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>502 Bad Gateway Hatas\u0131:<\/strong> Bu genellikle PHP-FPM&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 veya Nginx&#8217;in PHP-FPM ile ileti\u015fim kuramad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<br \/>\n    *   PHP-FPM servisini kontrol edin: <code>sudo systemctl status php7.0-fpm<\/code><br \/>\n    *   PHP-FPM yap\u0131land\u0131rma dosyas\u0131nda (<code>\/etc\/php\/7.0\/fpm\/php.ini<\/code>) <code>cgi.fix_pathinfo=0<\/code> oldu\u011fundan emin olun.<br \/>\n    *   Nginx yap\u0131land\u0131rman\u0131zdaki <code>fastcgi_pass<\/code> yolunun (<code>unix:\/run\/php\/php7.0-fpm.sock<\/code>) do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   PHP-FPM ve Nginx&#8217;i yeniden ba\u015flat\u0131n.<br \/>\n*   <strong>403 Forbidden Hatas\u0131:<\/strong> Bu genellikle dosya veya dizin izinleriyle ilgilidir.<br \/>\n    *   WordPress dizininin (<code>\/var\/www\/html\/wordpress<\/code>) ve i\u00e7indeki dosyalar\u0131n <code>www-data:www-data<\/code> kullan\u0131c\u0131s\u0131na ait oldu\u011fundan ve do\u011fru izinlere (<code>755<\/code> dizinler i\u00e7in, <code>644<\/code> dosyalar i\u00e7in) sahip oldu\u011fundan emin olun.<br \/>\n*   <strong>Veritaban\u0131 Ba\u011flant\u0131 Hatas\u0131:<\/strong> WordPress kurulum sihirbaz\u0131nda veya siteye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatay\u0131 al\u0131rsan\u0131z, <code>wp-config.php<\/code> dosyas\u0131ndaki veritaban\u0131 bilgilerini kontrol edin.<br \/>\n    *   <code>DB_NAME<\/code>, <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code> de\u011ferlerinin do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   MariaDB servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun: <code>sudo systemctl status mariadb<\/code><br \/>\n    *   Veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131n do\u011fru veritaban\u0131na eri\u015fim yetkisi oldu\u011fundan emin olun. <code>sudo mysql -u root -p<\/code> ile MariaDB&#8217;ye girip <code>SHOW GRANTS FOR 'wordpress_user'@'localhost';<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak kontrol edebilirsiniz.<br \/>\n*   <strong>&#8220;Pretty Permalinks&#8221; \u00c7al\u0131\u015fm\u0131yor:<\/strong> WordPress&#8217;te g\u00fczel URL&#8217;ler (\u00f6rne\u011fin <code>\/yazi-adi<\/code> yerine <code>\/p=123<\/code>) \u00e7al\u0131\u015fm\u0131yorsa, Nginx yap\u0131land\u0131rman\u0131zdaki <code>location \/ { try_files $uri $uri\/ \/index.php?$args; }<\/code> blo\u011funun do\u011fru oldu\u011fundan emin olun ve Nginx&#8217;i yeniden ba\u015flat\u0131n.<\/p>\n<p>Sorun giderme s\u0131ras\u0131nda Nginx ve PHP-FPM hata g\u00fcnl\u00fcklerini (<code>\/var\/log\/nginx\/error.log<\/code> ve <code>\/var\/log\/php7.0-fpm.log<\/code> veya Nginx yap\u0131land\u0131rman\u0131zda belirtilen \u00f6zel hata g\u00fcnl\u00fckleri) kontrol etmek, sorunun kayna\u011f\u0131n\u0131 belirlemede \u00e7ok yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Debian 9 i\u015fletim sistemi \u00fczerine Nginx, MariaDB ve PHP-FPM bile\u015fenlerinden olu\u015fan bir LEMP y\u0131\u011f\u0131n\u0131 kurmay\u0131 ve bu y\u0131\u011f\u0131n \u00fczerinde WordPress&#8217;i ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Ba\u015flang\u0131\u00e7taki sistem g\u00fcncellemesinden Nginx, MariaDB ve PHP-FPM kurulumuna, WordPress dosyalar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131ndan Nginx sunucu blo\u011funun ayarlanmas\u0131na kadar her detay\u0131 ele ald\u0131k. Ayr\u0131ca, HTTPS ile g\u00fcvenli ba\u011flant\u0131 sa\u011flamak i\u00e7in Let&#8217;s Encrypt kullan\u0131m\u0131 ve baz\u0131 ek g\u00fcvenlik ipu\u00e7lar\u0131 da dahil olmak \u00fczere post-kurulum iyile\u015ftirmelerini de inceledik.<\/p>\n<p>Art\u0131k Debian 9 sunucunuzda \u00e7al\u0131\u015fan, y\u00fcksek performansl\u0131 ve g\u00fcvenli bir WordPress web sitesine sahipsiniz. Bu kurulum, sitenizin y\u00fcksek trafi\u011fi y\u00f6netmesine ve h\u0131zl\u0131 yan\u0131t s\u00fcreleri sunmas\u0131na olanak tan\u0131yacak sa\u011flam bir temel sa\u011flar. Unutmay\u0131n ki, herhangi bir sunucu ortam\u0131nda oldu\u011fu gibi, d\u00fczenli g\u00fcncellemeler yapmak, yedeklemeleri almak ve g\u00fcvenlik en iyi uygulamalar\u0131n\u0131 takip etmek, sitenizin uzun \u00f6m\u00fcrl\u00fc ve g\u00fcvenli kalmas\u0131 i\u00e7in hayati \u00f6neme sahiptir. WordPress&#8217;in sundu\u011fu geni\u015f tema ve eklenti se\u00e7enekleriyle sitenizi diledi\u011finiz gibi \u00f6zelle\u015ftirebilir ve yay\u0131nlamaya ba\u015flayabilirsiniz. Ba\u015far\u0131l\u0131 bir web deneyimi dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu\nWordPress, d\u00fcnya genelinde en pop\u00fcler i\u00e7erik y\u00f6netim sistemlerinden (CMS) biridir ve web","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":[241],"tags":[],"class_list":{"0":"post-36379","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress 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\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu WordPress, d\u00fcnya genelinde en pop\u00fcler i\u00e7erik y\u00f6netim sistemlerinden (CMS) biridir ve web\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-14T19:40:48+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu\",\"datePublished\":\"2025-12-14T19:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\"},\"wordCount\":2933,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\",\"name\":\"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-14T19:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress 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":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress 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\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu","og_description":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu WordPress, d\u00fcnya genelinde en pop\u00fcler i\u00e7erik y\u00f6netim sistemlerinden (CMS) biridir ve web","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-14T19:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu","datePublished":"2025-12-14T19:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/"},"wordCount":2933,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/","name":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-14T19:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-lemp-yigini-ile-wordpress-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 9 \u00dczerine LEMP Y\u0131\u011f\u0131n\u0131 ile WordPress 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\/36379","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=36379"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36379\/revisions"}],"predecessor-version":[{"id":36380,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36379\/revisions\/36380"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}