{"id":32305,"date":"2025-10-20T06:41:08","date_gmt":"2025-10-20T03:41:08","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32305"},"modified":"2025-10-20T06:41:08","modified_gmt":"2025-10-20T03:41:08","slug":"debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Debian 8 (Jessie), sunucu ortamlar\u0131 i\u00e7in kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi ile bilinen pop\u00fcler bir i\u015fletim sistemidir. Web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc ve verimli bir yap\u0131land\u0131rma arayanlar i\u00e7in LEMP (Linux, Nginx, MySQL, PHP) stack&#8217;i ideal bir \u00e7\u00f6z\u00fcmd\u00fcr. LEMP, geleneksel LAMP (Linux, Apache, MySQL, PHP) stack&#8217;ine modern ve y\u00fcksek performansl\u0131 bir alternatif sunar. Bu kapsaml\u0131 rehberde, Debian 8 sunucunuz \u00fczerine LEMP stack&#8217;ini ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve optimize edece\u011finizi \u00f6\u011freneceksiniz.<\/p>\n<p>LEMP stack&#8217;i, web sunucusu olarak Nginx&#8217;i kullan\u0131r. Nginx, e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 y\u00fcksek verimlilikle i\u015fleme yetene\u011fi, d\u00fc\u015f\u00fck kaynak t\u00fcketimi ve statik i\u00e7erik sunumundaki \u00fcst\u00fcn performans\u0131 ile \u00f6ne \u00e7\u0131kar. Veritaban\u0131 y\u00f6netim sistemi olarak MySQL (veya genellikle Debian&#8217;da varsay\u0131lan olarak gelen MariaDB) kullan\u0131l\u0131rken, dinamik i\u00e7erik i\u015fleme PHP-FPM (FastCGI Process Manager) arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir. Bu bile\u015fenlerin birle\u015fimi, h\u0131zl\u0131, \u00f6l\u00e7eklenebilir ve g\u00fcvenli web uygulamalar\u0131 i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<p>Bu rehber, Debian 8 sunucunuzda temel Linux komutlar\u0131na a\u015fina oldu\u011funuzu varsaymaktad\u0131r. T\u00fcm ad\u0131mlar, root kullan\u0131c\u0131s\u0131 olarak veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 ile ger\u00e7ekle\u015ftirilecektir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Debian 8 sunucunuzda LEMP stack kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131n\u0131zdan emin olun:<\/p>\n<p>*   <strong>Debian 8 (Jessie) Sunucusu:<\/strong> Temiz bir Debian 8 kurulumuna sahip bir sanal \u00f6zel sunucu (VPS) veya fiziksel sunucu.<br \/>\n*   <strong>Root Eri\u015fimi veya Sudo Yetkileri:<\/strong> Kurulum komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in root kullan\u0131c\u0131s\u0131 olarak oturum a\u00e7m\u0131\u015f olman\u0131z veya <code>sudo<\/code> grubuna dahil edilmi\u015f bir kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131n olmas\u0131 gerekmektedir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Sunucuya paket indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 zorunludur.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 aray\u00fcz\u00fcnde (CLI) gezinme ve temel komutlar\u0131 kullanma becerisi.<\/p>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzun paket listesini g\u00fcncelleyerek ve mevcut paketleri y\u00fckselterek en iyi ba\u015flang\u0131c\u0131 yapman\u0131z\u0131 \u00f6neririz. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nleyecektir.<\/p>\n<h2>Sistem G\u00fcncelleme ve Temel Bile\u015fenlerin Kurulumu<\/h2>\n<p>LEMP kurulumuna ba\u015flamadan \u00f6nce, Debian 8 sunucunuzun paket listesini g\u00fcncelleyerek ve t\u00fcm y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckselterek sisteminizi haz\u0131r hale getirmelisiniz. Bu ad\u0131m, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmaya ve kararl\u0131l\u0131\u011f\u0131 art\u0131rmaya yard\u0131mc\u0131 olur.<\/p>\n<h3>Sistem G\u00fcncellemesi<\/h3>\n<p>\u0130lk olarak, sunucunuzdaki paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update<\/code><\/pre>\n<p>Ard\u0131ndan, mevcut y\u00fckl\u00fc paketleri y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get upgrade<\/code><\/pre>\n<p>Bu i\u015flem biraz zaman alabilir. Y\u00fckseltme s\u0131ras\u0131nda herhangi bir soru sorulursa, genellikle varsay\u0131lan se\u00e7ene\u011fi (Y veya Evet) kabul edebilirsiniz. T\u00fcm y\u00fckseltmeler tamamland\u0131ktan sonra, baz\u0131 durumlarda \u00e7ekirdek veya sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131nda \u00f6nemli de\u011fi\u015fiklikler olabilece\u011finden, da\u011f\u0131t\u0131m y\u00fckseltmesi yapmak da faydal\u0131 olabilir:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get dist-upgrade<\/code><\/pre>\n<p>Bu komut, yeni ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve eski, gereksiz ba\u011f\u0131ml\u0131l\u0131klar\u0131 kald\u0131r\u0131r.<\/p>\n<h3>Temel Yard\u0131mc\u0131 Programlar\u0131n Kurulumu<\/h3>\n<p>LEMP stack&#8217;inin kurulumu ve y\u00f6netimi s\u0131ras\u0131nda ihtiya\u00e7 duyabilece\u011finiz baz\u0131 yayg\u0131n yard\u0131mc\u0131 programlar\u0131 y\u00fcklemek iyi bir uygulamad\u0131r. Bu programlar aras\u0131nda <code>sudo<\/code> (e\u011fer root kullan\u0131c\u0131s\u0131 de\u011filseniz), <code>curl<\/code>, <code>wget<\/code> ve <code>git<\/code> gibi ara\u00e7lar bulunur:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install sudo curl wget git unzip -y<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, Debian 8 sunucunuz LEMP stack&#8217;ini kurmaya haz\u0131r hale gelecektir.<\/p>\n<h2>Nginx Web Sunucusunun Kurulumu<\/h2>\n<p>Nginx (engine-x olarak okunur) y\u00fcksek performansl\u0131, hafif ve g\u00fc\u00e7l\u00fc bir web sunucusudur. \u00d6zellikle y\u00fcksek trafikli siteler ve e\u015fzamanl\u0131 ba\u011flant\u0131lar i\u00e7in optimize edilmi\u015ftir. Apache&#8217;ye k\u0131yasla daha az bellek kullan\u0131r ve statik i\u00e7erik sunumunda daha h\u0131zl\u0131d\u0131r.<\/p>\n<h3>Nginx Nedir?<\/h3>\n<p>Nginx, asenkron, olay tabanl\u0131 bir mimariye sahip, ters proxy, y\u00fck dengeleyici ve HTTP \u00f6nbelle\u011fi olarak da i\u015flev g\u00f6rebilen bir web sunucusudur. Mod\u00fcler yap\u0131s\u0131 ve esnek konfig\u00fcrasyon se\u00e7enekleri sayesinde modern web uygulamalar\u0131n\u0131n ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in idealdir. LEMP stack&#8217;inin &#8220;E&#8221; harfini temsil eder ve PHP-FPM ile birlikte \u00e7al\u0131\u015farak dinamik i\u00e7eri\u011fi etkin bir \u015fekilde sunar.<\/p>\n<h3>Nginx Kurulumu<\/h3>\n<p>Nginx&#8217;i Debian 8 sunucunuza kurmak olduk\u00e7a basittir. Debian&#8217;\u0131n resmi depolar\u0131nda Nginx paketi bulunur.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, Nginx servisi otomatik olarak ba\u015flayacakt\u0131r.<\/p>\n<h3>Nginx Servisini Ba\u015flatma ve Kontrol Etme<\/h3>\n<p>Nginx servisinin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak \u00f6nemlidir.<\/p>\n<p>Nginx servisini ba\u015flatmak i\u00e7in (e\u011fer otomatik ba\u015flamad\u0131ysa):<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx<\/code><\/pre>\n<p>Sistemin yeniden ba\u015flat\u0131lmas\u0131 durumunda Nginx&#8217;in otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable nginx<\/code><\/pre>\n<p>Nginx servisinin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status nginx<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmeniz, Nginx&#8217;in ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>Nginx&#8217;in do\u011fru bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini ziyaret edebilirsiniz. E\u011fer her \u015fey yolundaysa, &#8220;Welcome to nginx!&#8221; yazan varsay\u0131lan Nginx kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>Nginx Temel Konfig\u00fcrasyonu<\/h3>\n<p>Nginx&#8217;in ana konfig\u00fcrasyon dosyas\u0131 <code>\/etc\/nginx\/nginx.conf<\/code> adresinde bulunur. Ancak, her site i\u00e7in ayr\u0131 konfig\u00fcrasyon dosyalar\u0131 olu\u015fturmak ve bunlar\u0131 <code>sites-available<\/code> ile <code>sites-enabled<\/code> dizinleri arac\u0131l\u0131\u011f\u0131yla y\u00f6netmek daha yayg\u0131n ve d\u00fczenli bir yakla\u015f\u0131md\u0131r.<\/p>\n<p>*   <code>\/etc\/nginx\/sites-available\/<\/code>: Bu dizin, sunucunuzda yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z t\u00fcm web sitelerinin konfig\u00fcrasyon dosyalar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>\/etc\/nginx\/sites-enabled\/<\/code>: Bu dizin, aktif olan web sitelerinin konfig\u00fcrasyon dosyalar\u0131na sembolik ba\u011flant\u0131lar (symlink) i\u00e7erir. Nginx yaln\u0131zca bu dizindeki dosyalar\u0131 y\u00fckler.<\/p>\n<p>Varsay\u0131lan olarak, <code>\/etc\/nginx\/sites-available\/default<\/code> ad\u0131nda bir varsay\u0131lan konfig\u00fcrasyon dosyas\u0131 bulunur. Bu dosyay\u0131 d\u00fczenleyebilir veya kendi alan ad\u0131n\u0131z i\u00e7in yeni bir dosya olu\u015fturabilirsiniz. Kendi alan ad\u0131n\u0131z i\u00e7in bir sanal host (server block) olu\u015ftural\u0131m. \u00d6rne\u011fin, <code>example.com<\/code> i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/example.com<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki temel konfig\u00fcrasyonu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n\n    root \/var\/www\/example.com\/html;\n    index index.php index.html index.htm;\n\n    server_name example.com www.example.com;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # PHP-FPM entegrasyonu daha sonra eklenecek\n    # location ~ \\.php$ {\n    #     include snippets\/fastcgi-php.conf;\n    #     fastcgi_pass unix:\/var\/run\/php5-fpm.sock;\n    # }\n\n    # Hata sayfalar\u0131\n    error_page 404 \/404.html;\n    location = \/404.html {\n        internal;\n    }\n\n    error_page 500 502 503 504 \/50x.html;\n    location = \/50x.html {\n        internal;\n    }\n}<\/code><\/pre>\n<p>Bu konfig\u00fcrasyonda:<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\/example.com\/html;<\/code>: Web sitenizin k\u00f6k dizinini belirtir. Bu dizini olu\u015fturman\u0131z gerekecek.<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 example.com www.example.com;<\/code>: Bu sanal host&#8217;un hangi alan adlar\u0131 i\u00e7in ge\u00e7erli oldu\u011funu belirtir.<br \/>\n*   <code>location \/ { try_files $uri $uri\/ =404; }<\/code>: Gelen isteklerin nas\u0131l i\u015flenece\u011fini belirler. \u00d6nce dosya, sonra dizin olarak arar, bulunamazsa 404 hatas\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>\u015eimdi web sitenizin k\u00f6k dizinini olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/example.com\/html\nsudo chown -R www-data:www-data \/var\/www\/example.com\/html\nsudo chmod -R 755 \/var\/www\/example.com\/html<\/code><\/pre>\n<p>Test ama\u00e7l\u0131 olarak bu dizine basit bir <code>index.html<\/code> dosyas\u0131 olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">echo \"\" | sudo tee \/var\/www\/example.com\/html\/index.html<\/code><\/pre>\n<p>Yeni sanal host dosyas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in, <code>sites-enabled<\/code> dizinine bir sembolik ba\u011flant\u0131 olu\u015fturun ve varsay\u0131lan konfig\u00fcrasyonu devre d\u0131\u015f\u0131 b\u0131rak\u0131n (iste\u011fe ba\u011fl\u0131, ama genellikle daha temiz bir yakla\u015f\u0131md\u0131r):<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/example.com \/etc\/nginx\/sites-enabled\/\nsudo rm \/etc\/nginx\/sites-enabled\/default<\/code><\/pre>\n<p>Nginx konfig\u00fcrasyonunuzda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer <code>test is successful<\/code> mesaj\u0131n\u0131 g\u00f6r\u00fcrseniz, konfig\u00fcrasyonunuz do\u011fru demektir. Son olarak, Nginx&#8217;i yeni konfig\u00fcrasyonu y\u00fcklemesi i\u00e7in yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<p>Art\u0131k <code>example.com<\/code> (veya sunucunuzun IP adresi) \u00fczerinden web sitenize eri\u015fti\u011finizde, olu\u015fturdu\u011funuz <code>index.html<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini g\u00f6rmelisiniz.<\/p>\n<h2>MySQL (MariaDB) Veritaban\u0131 Sunucusunun Kurulumu<\/h2>\n<p>MySQL, d\u00fcnyan\u0131n en pop\u00fcler a\u00e7\u0131k kaynakl\u0131 ili\u015fkisel veritaban\u0131 y\u00f6netim sistemidir. Web uygulamalar\u0131 i\u00e7in veri depolama ve y\u00f6netimi konusunda end\u00fcstri standard\u0131 haline gelmi\u015ftir. Debian 8&#8217;de, MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen bir \u00e7atal\u0131 olan MariaDB, varsay\u0131lan veritaban\u0131 sunucusu olarak gelir. MariaDB, MySQL ile y\u00fcksek uyumlulu\u011fa sahiptir ve genellikle daha iyi performans ve ek \u00f6zellikler sunar.<\/p>\n<h3>MySQL\/MariaDB Nedir?<\/h3>\n<p>MariaDB, MySQL ile ayn\u0131 komutlar\u0131, aray\u00fczleri ve protokolleri kullanan, tamamen uyumlu bir veritaban\u0131 sunucusudur. \u00c7o\u011fu durumda, MySQL ile \u00e7al\u0131\u015fan bir uygulama, MariaDB ile de sorunsuz bir \u015fekilde \u00e7al\u0131\u015facakt\u0131r. Verilerin yap\u0131land\u0131r\u0131lm\u0131\u015f bir \u015fekilde saklanmas\u0131n\u0131, sorgulanmas\u0131n\u0131 ve y\u00f6netilmesini sa\u011flar. Web uygulamalar\u0131nda kullan\u0131c\u0131 bilgileri, i\u00e7erik, ayarlar ve di\u011fer dinamik veriler genellikle bir veritaban\u0131nda tutulur.<\/p>\n<h3>MariaDB Kurulumu<\/h3>\n<p>MariaDB&#8217;yi Debian 8 sunucunuza kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install mariadb-server mariadb-client -y<\/code><\/pre>\n<p>Bu komut, MariaDB sunucu paketini ve istemci ara\u00e7lar\u0131n\u0131 y\u00fckleyecektir. Kurulum s\u0131ras\u0131nda sizden bir root \u015fifresi belirlemeniz istenebilir. E\u011fer istenmezse, kurulum sonras\u0131 g\u00fcvenlik beti\u011fi arac\u0131l\u0131\u011f\u0131yla belirleyebilirsiniz.<\/p>\n<h3>MariaDB G\u00fcvenlik Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>MariaDB kurulumundan hemen sonra, veritaban\u0131 sunucunuzun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in <code>mysql_secure_installation<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rman\u0131z \u00f6nemlidir. Bu betik, varsay\u0131lan g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmaya yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Betik size bir dizi soru soracakt\u0131r:<\/p>\n<p>1.  <strong>Enter current password for root (enter for none):<\/strong> E\u011fer kurulum s\u0131ras\u0131nda bir \u015fifre belirlemediyseniz, do\u011frudan Enter tu\u015funa bas\u0131n. Belirlediyseniz, o \u015fifreyi girin.<br \/>\n2.  <strong>Set root password? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak root kullan\u0131c\u0131s\u0131 i\u00e7in g\u00fc\u00e7l\u00fc bir \u015fifre belirleyin. Bu \u015fifreyi unutmay\u0131n, \u00e7\u00fcnk\u00fc veritaban\u0131 y\u00f6netimi i\u00e7in gereklidir.<br \/>\n3.  <strong>Remove anonymous users? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak anonim kullan\u0131c\u0131lar\u0131 kald\u0131r\u0131n. Bu, veritaban\u0131n\u0131za yetkisiz eri\u015fimi engeller.<br \/>\n4.  <strong>Disallow root login remotely? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak root kullan\u0131c\u0131s\u0131n\u0131n uzaktan ba\u011flanmas\u0131n\u0131 engelleyin. Bu, g\u00fcvenlik i\u00e7in kritik \u00f6neme sahiptir. Veritaban\u0131na uzaktan eri\u015fim gerekti\u011finde, bunun i\u00e7in \u00f6zel bir kullan\u0131c\u0131 olu\u015fturman\u0131z \u00f6nerilir.<br \/>\n5.  <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak varsay\u0131lan &#8220;test&#8221; veritaban\u0131n\u0131 kald\u0131r\u0131n. Bu veritaban\u0131, test ama\u00e7l\u0131d\u0131r ve \u00fcretim ortam\u0131nda g\u00fcvenlik riski olu\u015fturabilir.<br \/>\n6.  <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak ayr\u0131cal\u0131k tablolar\u0131n\u0131 yeniden y\u00fckleyin. Bu, yapt\u0131\u011f\u0131n\u0131z t\u00fcm de\u011fi\u015fikliklerin hemen uygulanmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, MariaDB veritaban\u0131 sunucunuz daha g\u00fcvenli bir yap\u0131land\u0131rmaya sahip olacakt\u0131r.<\/p>\n<h3>MariaDB Servisini Kontrol Etme<\/h3>\n<p>MariaDB servisinin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak \u00f6nemlidir.<\/p>\n<p>MariaDB servisini ba\u015flatmak i\u00e7in (e\u011fer otomatik ba\u015flamad\u0131ysa):<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mariadb<\/code><\/pre>\n<p>Sistemin yeniden ba\u015flat\u0131lmas\u0131 durumunda MariaDB&#8217;nin otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable mariadb<\/code><\/pre>\n<p>MariaDB servisinin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mariadb<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmeniz, MariaDB&#8217;nin ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>MariaDB&#8217;ye root kullan\u0131c\u0131s\u0131 olarak ba\u011flanarak kurulumu test edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>\u0130stendi\u011finde, <code>mysql_secure_installation<\/code> beti\u011finde belirledi\u011finiz root \u015fifresini girin. Ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011flan\u0131rsan\u0131z, MySQL komut istemini g\u00f6receksiniz. \u00c7\u0131kmak i\u00e7in <code>exit;<\/code> yaz\u0131p Enter tu\u015funa bas\u0131n.<\/p>\n<h2>PHP ve PHP-FPM Kurulumu<\/h2>\n<p>PHP (Hypertext Preprocessor), web geli\u015ftirme i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f, sunucu tarafl\u0131 bir betik dilidir. Dinamik web siteleri ve web uygulamalar\u0131 olu\u015fturmak i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r. Nginx ile PHP&#8217;yi kullanmak i\u00e7in PHP-FPM (FastCGI Process Manager) gereklidir. PHP-FPM, PHP yorumlay\u0131c\u0131s\u0131n\u0131 y\u00f6neten ve Nginx ile ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan bir FastCGI uygulamas\u0131d\u0131r.<\/p>\n<h3>PHP Nedir?<\/h3>\n<p>PHP, HTML i\u00e7ine g\u00f6m\u00fclebilen veya bir betik dosyas\u0131 olarak \u00e7al\u0131\u015ft\u0131r\u0131labilen a\u00e7\u0131k kaynakl\u0131 bir betik dilidir. Veritabanlar\u0131yla etkile\u015fime ge\u00e7ebilir, sunucu taraf\u0131nda form verilerini i\u015fleyebilir, oturumlar\u0131 y\u00f6netebilir ve dinamik i\u00e7erik olu\u015fturabilir. PHP-FPM ise, PHP betiklerinin Nginx gibi web sunucular\u0131 taraf\u0131ndan nas\u0131l i\u015flendi\u011fini y\u00f6neten geli\u015fmi\u015f bir FastCGI y\u00f6neticisidir. Her bir PHP iste\u011fi i\u00e7in ayr\u0131 bir i\u015flem (process) havuzu olu\u015fturarak performans ve kararl\u0131l\u0131k sa\u011flar.<\/p>\n<h3>PHP-FPM ve Gerekli Mod\u00fcllerin Kurulumu<\/h3>\n<p>Debian 8, PHP 5.x s\u00fcr\u00fcm\u00fcn\u00fc kullan\u0131r. PHP-FPM&#8217;yi ve temel PHP mod\u00fcllerini kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5-fpm php5-mysql php5-cli -y<\/code><\/pre>\n<p>*   <code>php5-fpm<\/code>: Nginx ile PHP etkile\u015fimi i\u00e7in FastCGI i\u015flem y\u00f6neticisi.<br \/>\n*   <code>php5-mysql<\/code>: PHP&#8217;nin MySQL\/MariaDB veritabanlar\u0131yla ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan mod\u00fcl.<br \/>\n*   <code>php5-cli<\/code>: Komut sat\u0131r\u0131ndan PHP betiklerini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in PHP yorumlay\u0131c\u0131s\u0131.<\/p>\n<p>Web uygulamalar\u0131n\u0131z\u0131n ihtiya\u00e7 duyabilece\u011fi di\u011fer yayg\u0131n PHP mod\u00fcllerini de kurman\u0131z \u00f6nerilir. \u0130\u015fte baz\u0131 \u00f6rnekler:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5-curl php5-gd php5-mcrypt php5-mbstring php5-xmlrpc php5-soap php5-intl php5-json -y<\/code><\/pre>\n<p>*   <code>php5-curl<\/code>: HTTP istekleri yapmak i\u00e7in cURL k\u00fct\u00fcphanesini kullan\u0131r.<br \/>\n*   <code>php5-gd<\/code>: G\u00f6r\u00fcnt\u00fc i\u015fleme (thumbnail olu\u015fturma, boyutland\u0131rma vb.) i\u00e7in GD k\u00fct\u00fcphanesini kullan\u0131r.<br \/>\n*   <code>php5-mcrypt<\/code>: \u015eifreleme i\u015flevleri sa\u011flar (baz\u0131 eski uygulamalar i\u00e7in gerekli olabilir).<br \/>\n*   <code>php5-mbstring<\/code>: \u00c7ok baytl\u0131 karakter dizileriyle \u00e7al\u0131\u015fmak i\u00e7in.<br \/>\n*   <code>php5-xmlrpc<\/code>: XML-RPC i\u015flevselli\u011fi sa\u011flar.<br \/>\n*   <code>php5-soap<\/code>: SOAP servisleriyle ileti\u015fim kurmak i\u00e7in.<br \/>\n*   <code>php5-intl<\/code>: Uluslararas\u0131la\u015ft\u0131rma (internationalization) i\u015flevleri i\u00e7in.<br \/>\n*   <code>php5-json<\/code>: JSON verilerini i\u015flemek i\u00e7in.<\/p>\n<p>Uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re bu listeyi geni\u015fletebilirsiniz.<\/p>\n<h3>PHP-FPM Konfig\u00fcrasyonu<\/h3>\n<p>PHP-FPM&#8217;nin ana konfig\u00fcrasyon dosyas\u0131 <code>\/etc\/php5\/fpm\/php.ini<\/code> adresinde bulunur. Nginx ile d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 ve g\u00fcvenlik i\u00e7in bu dosyada baz\u0131 ayarlar\u0131 yapman\u0131z \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php5\/fpm\/php.ini<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve de\u011ferini <code>0<\/code> olarak ayarlay\u0131n. Bu ayar, PHP&#8217;nin Nginx ile birlikte kullan\u0131ld\u0131\u011f\u0131nda g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturmas\u0131n\u0131 engeller:<\/p>\n<pre><code class=\"language-ini\">;cgi.fix_pathinfo=1<\/code><\/pre>\n<p>De\u011fi\u015ftirilmesi gereken sat\u0131r:<\/p>\n<pre><code class=\"language-ini\">cgi.fix_pathinfo=0<\/code><\/pre>\n<p>Noktal\u0131 virg\u00fcl\u00fc kald\u0131rarak ve de\u011feri <code>0<\/code> yaparak bu de\u011fi\u015fikli\u011fi kaydedin.<\/p>\n<p>Ayr\u0131ca, uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na g\u00f6re a\u015fa\u011f\u0131daki gibi di\u011fer ayarlar\u0131 da d\u00fczenleyebilirsiniz:<br \/>\n*   <code>upload_max_filesize<\/code>: Y\u00fcklenebilecek maksimum dosya boyutu.<br \/>\n*   <code>post_max_size<\/code>: POST isteklerinin maksimum boyutu.<br \/>\n*   <code>memory_limit<\/code>: Bir PHP beti\u011finin kullanabilece\u011fi maksimum bellek miktar\u0131.<br \/>\n*   <code>max_execution_time<\/code>: Bir PHP beti\u011finin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcre.<\/p>\n<p>\u00d6rne\u011fin, daha b\u00fcy\u00fck dosyalar\u0131n y\u00fcklenmesine izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-ini\">upload_max_filesize = 64M\npost_max_size = 64M<\/code><\/pre>\n<p>PHP-FPM, varsay\u0131lan olarak <code>\/etc\/php5\/fpm\/pool.d\/www.conf<\/code> dosyas\u0131nda tan\u0131mlanan bir <code>www<\/code> havuzu kullan\u0131r. Bu havuz, Nginx&#8217;in PHP-FPM ile nas\u0131l ileti\u015fim kuraca\u011f\u0131n\u0131 belirler. Genellikle, Unix soketi \u00fczerinden ileti\u015fim kurulur. Bu dosyay\u0131 kontrol etmeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php5\/fpm\/pool.d\/www.conf<\/code><\/pre>\n<p><code>listen<\/code> y\u00f6nergesinin a\u015fa\u011f\u0131daki gibi ayarland\u0131\u011f\u0131ndan emin olun (bu, varsay\u0131lan ayar olmal\u0131d\u0131r):<\/p>\n<pre><code class=\"language-ini\">listen = \/var\/run\/php5-fpm.sock<\/code><\/pre>\n<p>E\u011fer bu sat\u0131r\u0131n ba\u015f\u0131nda noktal\u0131 virg\u00fcl varsa kald\u0131r\u0131n. Alternatif olarak, <code>listen = 127.0.0.1:9000<\/code> \u015feklinde bir TCP portu da kullanabilirsiniz, ancak Unix soketleri genellikle yerel ileti\u015fim i\u00e7in daha h\u0131zl\u0131 ve g\u00fcvenlidir.<\/p>\n<h3>PHP-FPM Servisini Ba\u015flatma ve Kontrol Etme<\/h3>\n<p>PHP-FPM servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php5-fpm\nsudo systemctl enable php5-fpm<\/code><\/pre>\n<p>PHP-FPM servisinin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status php5-fpm<\/code><\/pre>\n<p><code>Active: active (running)<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmeniz gerekmektedir.<\/p>\n<h2>Nginx&#8217;i PHP-FPM ile Entegre Etme<\/h2>\n<p>PHP-FPM kurulduktan ve yap\u0131land\u0131r\u0131ld\u0131ktan sonra, Nginx&#8217;in PHP betiklerini i\u015flemek i\u00e7in PHP-FPM&#8217;ye istekleri nas\u0131l iletece\u011fini belirtmeniz gerekir. Bu, daha \u00f6nce olu\u015fturdu\u011fumuz Nginx sanal host konfig\u00fcrasyon dosyas\u0131nda yap\u0131l\u0131r.<\/p>\n<h3>Nginx Sanal Host Dosyas\u0131n\u0131 G\u00fcncelleme<\/h3>\n<p>Daha \u00f6nce olu\u015fturdu\u011funuz <code>\/etc\/nginx\/sites-available\/example.com<\/code> dosyas\u0131n\u0131 tekrar a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/example.com<\/code><\/pre>\n<p>Dosyada, PHP dosyalar\u0131n\u0131 i\u015flemek i\u00e7in yorum sat\u0131r\u0131 olarak b\u0131rakt\u0131\u011f\u0131m\u0131z <code>location ~ \\.php$<\/code> blo\u011funu bulun ve a\u015fa\u011f\u0131daki gibi g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n\n    root \/var\/www\/example.com\/html;\n    index index.php index.html index.htm;\n\n    server_name example.com www.example.com;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # PHP-FPM entegrasyonu\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/var\/run\/php5-fpm.sock; # PHP-FPM'nin dinledi\u011fi soket veya port\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # Hata sayfalar\u0131\n    error_page 404 \/404.html;\n    location = \/404.html {\n        internal;\n    }\n\n    error_page 500 502 503 504 \/50x.html;\n    location = \/50x.html {\n        internal;\n    }\n}<\/code><\/pre>\n<p>Bu <code>location ~ \\.php$<\/code> blo\u011fu:<br \/>\n*   <code>location ~ \\.php$<\/code>: URL&#8217;nin <code>.php<\/code> ile biten t\u00fcm istekleri yakalar.<br \/>\n*   <code>include snippets\/fastcgi-php.conf;<\/code>: PHP-FPM ile FastCGI ba\u011flant\u0131s\u0131 i\u00e7in gerekli baz\u0131 genel ayarlar\u0131 i\u00e7erir. Debian 8&#8217;de bu dosya genellikle mevcuttur.<br \/>\n*   <code>fastcgi_pass unix:\/var\/run\/php5-fpm.sock;<\/code>: \u0130stekleri PHP-FPM&#8217;nin dinledi\u011fi Unix soketine iletir. E\u011fer PHP-FPM&#8217;yi bir TCP portunda (\u00f6rne\u011fin <code>127.0.0.1:9000<\/code>) dinleyecek \u015fekilde yap\u0131land\u0131rd\u0131ysan\u0131z, bu sat\u0131r\u0131 buna g\u00f6re de\u011fi\u015ftirmelisiniz.<br \/>\n*   <code>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<\/code>: PHP-FPM&#8217;ye \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 gereken beti\u011fin tam yolunu bildirir.<br \/>\n*   <code>include fastcgi_params;<\/code>: FastCGI protokol\u00fc i\u00e7in gerekli di\u011fer parametreleri i\u00e7erir.<\/p>\n<p><code>index<\/code> y\u00f6nergesinde <code>index.php<\/code>&#8216;nin <code>index.html<\/code>&#8216;den \u00f6nce geldi\u011finden emin olun, b\u00f6ylece bir dizine eri\u015fildi\u011finde PHP dosyalar\u0131 \u00f6ncelikli olarak i\u015flenir.<\/p>\n<h3>Nginx Konfig\u00fcrasyonunu Test Etme ve Yeniden Y\u00fckleme<\/h3>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra, Nginx konfig\u00fcrasyonunuzda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 tekrar kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer <code>test is successful<\/code> mesaj\u0131n\u0131 al\u0131rsan\u0131z, Nginx&#8217;i yeni konfig\u00fcrasyonu y\u00fcklemesi i\u00e7in yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<p>Bu ad\u0131mla birlikte Nginx, PHP-FPM ile entegre edilmi\u015f ve PHP betiklerini i\u015fleyebilecek duruma gelmi\u015ftir.<\/p>\n<h2>PHP \u0130\u015flevselli\u011fini Test Etme<\/h2>\n<p>LEMP stack&#8217;inin t\u00fcm bile\u015fenleri kurulup yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131na g\u00f6re, PHP&#8217;nin Nginx arac\u0131l\u0131\u011f\u0131yla d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in basit bir PHP dosyas\u0131 olu\u015fturabiliriz.<\/p>\n<h3>Test PHP Dosyas\u0131 Olu\u015fturma<\/h3>\n<p>Web sitenizin k\u00f6k dizinine (<code>\/var\/www\/example.com\/html\/<\/code>) <code>info.php<\/code> ad\u0131nda bir dosya olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/example.com\/html\/info.php<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki PHP kodunu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\"><?php\nphpinfo();\n?><\/code><\/pre>\n<p>Bu kod, PHP&#8217;nin t\u00fcm konfig\u00fcrasyon bilgilerini ve y\u00fckl\u00fc mod\u00fcllerini g\u00f6steren bir sayfa olu\u015fturacakt\u0131r.<\/p>\n<h3>Taray\u0131c\u0131dan Eri\u015fim<\/h3>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131z\u0131 takip eden <code>\/info.php<\/code> yolunu ziyaret edin:<\/p>\n<p><code>http:\/\/your_server_ip\/info.php<\/code> veya <code>http:\/\/your_domain\/info.php<\/code><\/p>\n<p>E\u011fer her \u015fey do\u011fru yap\u0131land\u0131r\u0131ld\u0131ysa, PHP&#8217;nin detayl\u0131 konfig\u00fcrasyon bilgilerini i\u00e7eren bir sayfa g\u00f6rmelisiniz. Bu sayfa, PHP&#8217;nin Nginx taraf\u0131ndan ba\u015far\u0131yla i\u015flendi\u011fini g\u00f6sterir. Sayfada Nginx ve FPM ile ilgili b\u00f6l\u00fcmleri de g\u00f6rebilirsiniz.<\/p>\n<h3>G\u00fcvenlik Notu<\/h3>\n<p><code>phpinfo()<\/code> sayfas\u0131, sunucunuz hakk\u0131nda \u00e7ok fazla hassas bilgi i\u00e7erir. Testi tamamlad\u0131ktan sonra, bu dosyay\u0131 hemen silmeniz <strong>kesinlikle<\/strong> \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm \/var\/www\/example.com\/html\/info.php<\/code><\/pre>\n<p>Bu, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nleyecektir.<\/p>\n<h2>Ek G\u00fcvenlik ve Optimizasyon \u00d6nerileri<\/h2>\n<p>LEMP stack&#8217;iniz art\u0131k \u00e7al\u0131\u015f\u0131r durumda. Ancak, \u00fcretim ortam\u0131nda kullanmadan \u00f6nce g\u00fcvenlik ve performans iyile\u015ftirmeleri yapmak \u00f6nemlidir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Sunucunuzu d\u0131\u015far\u0131dan gelebilecek yetkisiz eri\u015fimlere kar\u015f\u0131 korumak i\u00e7in bir g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmak kritik \u00f6neme sahiptir. Debian 8&#8217;de <code>iptables<\/code> varsay\u0131lan olarak bulunur, ancak kullan\u0131m\u0131 biraz karma\u015f\u0131k olabilir. Daha basit bir alternatif olarak <code>UFW<\/code> (Uncomplicated Firewall) kullanabilirsiniz. E\u011fer UFW y\u00fckl\u00fc de\u011filse:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install ufw -y<\/code><\/pre>\n<p>Ard\u0131ndan, gerekli portlar\u0131 a\u00e7\u0131n (SSH i\u00e7in 22, HTTP i\u00e7in 80, HTTPS i\u00e7in 443):<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH\nsudo ufw allow 'Nginx HTTP'\nsudo ufw allow 'Nginx HTTPS' # E\u011fer SSL kuracaksan\u0131z\nsudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p>Bu komutlar, yaln\u0131zca belirtilen portlardan gelen ba\u011flant\u0131lara izin verir ve di\u011fer t\u00fcm ba\u011flant\u0131lar\u0131 engeller.<\/p>\n<h3>SSL\/TLS Kurulumu (Let&#8217;s Encrypt)<\/h3>\n<p>Web sitenizin g\u00fcvenli\u011fini art\u0131rmak ve SEO s\u0131ralaman\u0131z\u0131 iyile\u015ftirmek i\u00e7in HTTPS kullanmak \u015fartt\u0131r. Let&#8217;s Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan pop\u00fcler bir servistir. Certbot arac\u0131 ile Nginx i\u00e7in kolayca sertifika alabilir ve otomatik yenileme ayarlayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install certbot python-certbot-nginx -t jessie-backports -y<\/code><\/pre>\n<p>Daha sonra sertifika almak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d example.com -d www.example.com<\/code><\/pre>\n<p>Certbot, Nginx konfig\u00fcrasyonunuzu otomatik olarak g\u00fcncelleyecek ve sertifikay\u0131 ayarlayacakt\u0131r.<\/p>\n<h3>MySQL G\u00fcvenli\u011fi<\/h3>\n<p>*   <strong>G\u00fc\u00e7l\u00fc \u015eifreler:<\/strong> Veritaban\u0131 kullan\u0131c\u0131lar\u0131 i\u00e7in her zaman g\u00fc\u00e7l\u00fc ve karma\u015f\u0131k \u015fifreler kullan\u0131n.<br \/>\n*   <strong>Ayr\u0131cal\u0131kl\u0131 Kullan\u0131c\u0131lar:<\/strong> Her uygulama veya web sitesi i\u00e7in root kullan\u0131c\u0131s\u0131 yerine ayr\u0131, minimum ayr\u0131cal\u0131klara sahip veritaban\u0131 kullan\u0131c\u0131lar\u0131 olu\u015fturun.<br \/>\n*   <strong>Uzak Eri\u015fim:<\/strong> <code>mysql_secure_installation<\/code> beti\u011fi ile root kullan\u0131c\u0131s\u0131n\u0131n uzaktan eri\u015fimini zaten engelledik. Di\u011fer kullan\u0131c\u0131lar i\u00e7in de uzaktan eri\u015fimi yaln\u0131zca ihtiya\u00e7 duyuldu\u011funda ve g\u00fcvenli IP adreslerinden k\u0131s\u0131tlay\u0131n.<\/p>\n<h3>PHP Optimizasyonu<\/h3>\n<p>*   <strong>OPcache:<\/strong> PHP betiklerinin derlenmi\u015f hallerini bellekte \u00f6nbelle\u011fe alarak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran OPcache mod\u00fcl\u00fcn\u00fc etkinle\u015ftirin. Debian 8&#8217;de <code>php5-opcache<\/code> olarak bulunur:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5-opcache -y\n    sudo systemctl restart php5-fpm<\/code><\/pre>\n<p>    <code>php.ini<\/code> dosyas\u0131nda (genellikle <code>\/etc\/php5\/fpm\/php.ini<\/code>) <code>opcache.enable=1<\/code> oldu\u011fundan emin olun.<br \/>\n*   <strong>PHP-FPM Havuz Ayarlar\u0131:<\/strong> <code>\/etc\/php5\/fpm\/pool.d\/www.conf<\/code> dosyas\u0131ndaki <code>pm<\/code> (process manager) ayarlar\u0131n\u0131 sunucunuzun kaynaklar\u0131na g\u00f6re optimize edin. <code>pm = dynamic<\/code> veya <code>pm = ondemand<\/code> kullanmak, bellek kullan\u0131m\u0131n\u0131 dengelemeye yard\u0131mc\u0131 olabilir. <code>pm.max_children<\/code>, <code>pm.start_servers<\/code>, <code>pm.min_spare_servers<\/code>, <code>pm.max_spare_servers<\/code> gibi de\u011ferleri sunucunuzun RAM miktar\u0131na ve beklenen trafik y\u00fck\u00fcne g\u00f6re ayarlay\u0131n.<\/p>\n<h3>Nginx Optimizasyonu<\/h3>\n<p>*   <strong>Worker Processes ve Connections:<\/strong> <code>\/etc\/nginx\/nginx.conf<\/code> dosyas\u0131ndaki <code>worker_processes<\/code> (genellikle CPU \u00e7ekirdek say\u0131n\u0131za e\u015fit veya 2 kat\u0131) ve <code>worker_connections<\/code> (genellikle 1024 veya daha y\u00fcksek) ayarlar\u0131n\u0131 sunucunuzun donan\u0131m\u0131na ve trafik beklentisine g\u00f6re ayarlay\u0131n.<br \/>\n*   <strong>Gzip S\u0131k\u0131\u015ft\u0131rma:<\/strong> Nginx&#8217;in <code>gzip<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirerek web sayfalar\u0131n\u0131n ve di\u011fer metin tabanl\u0131 dosyalar\u0131n s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flay\u0131n. Bu, bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 azalt\u0131r ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131r. <code>nginx.conf<\/code> i\u00e7inde <code>gzip on;<\/code> ve ilgili di\u011fer <code>gzip_<\/code> y\u00f6nergelerini ekleyin.<br \/>\n*   <strong>\u00d6nbellekleme:<\/strong> Statik dosyalar i\u00e7in taray\u0131c\u0131 \u00f6nbelleklemesini etkinle\u015ftirin. Bu, istemcilerin s\u0131k eri\u015filen dosyalar\u0131 tekrar indirmesini engeller.<\/p>\n<h3>Log Y\u00f6netimi<\/h3>\n<p>Nginx, PHP-FPM ve MariaDB&#8217;nin hata ve eri\u015fim loglar\u0131n\u0131 d\u00fczenli olarak kontrol etmek, sorunlar\u0131 tespit etmek ve g\u00fcvenlik olaylar\u0131n\u0131 izlemek i\u00e7in \u00f6nemlidir.<br \/>\n*   Nginx loglar\u0131: <code>\/var\/log\/nginx\/<\/code><br \/>\n*   PHP-FPM loglar\u0131: <code>\/var\/log\/php5-fpm.log<\/code><br \/>\n*   MariaDB loglar\u0131: <code>\/var\/log\/mysql\/<\/code><\/p>\n<p>Bu loglar\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin ve gerekirse log rotasyonu (logrotate) ara\u00e7lar\u0131n\u0131 kullanarak disk alan\u0131n\u0131n dolmas\u0131n\u0131 engelleyin.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Debian 8 (Jessie) sunucunuz \u00fczerine LEMP stack&#8217;ini (Linux, Nginx, MySQL\/MariaDB, PHP-FPM) ad\u0131m ad\u0131m ba\u015far\u0131yla kurdunuz ve temel yap\u0131land\u0131rmalar\u0131n\u0131 ger\u00e7ekle\u015ftirdiniz. Nginx&#8217;i web sunucusu olarak kurdunuz, MariaDB&#8217;yi veritaban\u0131 y\u00f6netim sistemi olarak yap\u0131land\u0131rd\u0131n\u0131z ve PHP-FPM&#8217;yi Nginx ile entegre ederek dinamik i\u00e7erik i\u015fleme yetene\u011fi kazand\u0131rd\u0131n\u0131z. Ayr\u0131ca, sisteminizin g\u00fcvenli\u011fini ve performans\u0131n\u0131 art\u0131rmak i\u00e7in baz\u0131 ek \u00f6nerilerde bulunduk.<\/p>\n<p>Art\u0131k Debian 8 sunucunuz, modern ve y\u00fcksek performansl\u0131 web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in sa\u011flam bir temele sahiptir. Bir sonraki ad\u0131m, WordPress, Laravel, Symfony gibi bir i\u00e7erik y\u00f6netim sistemi (CMS) veya \u00f6zel bir web uygulamas\u0131n\u0131 bu LEMP stack&#8217;i \u00fczerine da\u011f\u0131tmakt\u0131r. Unutmay\u0131n ki, sunucu y\u00f6netimi s\u00fcrekli bir s\u00fcre\u00e7tir; d\u00fczenli g\u00fcncellemeler, g\u00fcvenlik kontrolleri ve performans izleme, web uygulaman\u0131z\u0131n sorunsuz ve g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>Bu rehber, LEMP kurulumunun temelini atm\u0131\u015ft\u0131r. \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re daha fazla optimizasyon ve g\u00fcvenlik \u00f6nlemleri alarak sunucunuzu daha da g\u00fc\u00e7lendirebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber\nDebian 8 (Jessie), sunucu ortamlar\u0131 i\u00e7in kararl\u0131l\u0131\u011f\u0131 ve","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-32305","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 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber - 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-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber Debian 8 (Jessie), sunucu ortamlar\u0131 i\u00e7in kararl\u0131l\u0131\u011f\u0131 ve\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-20T03:41:08+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-20T03:41:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":3566,\"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-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-20T03:41:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@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 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber - 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-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber Debian 8 (Jessie), sunucu ortamlar\u0131 i\u00e7in kararl\u0131l\u0131\u011f\u0131 ve","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-20T03:41:08+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-20T03:41:08+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/"},"wordCount":3566,"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-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/","name":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-20T03:41:08+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-lemp-stack-linux-nginx-mysql-php-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 8 \u00dczerine LEMP Stack (Linux, Nginx, MySQL, PHP) Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@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\/32305","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=32305"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32305\/revisions"}],"predecessor-version":[{"id":32306,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32305\/revisions\/32306"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}