{"id":41002,"date":"2026-03-02T22:40:48","date_gmt":"2026-03-02T19:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41002"},"modified":"2026-03-02T22:40:48","modified_gmt":"2026-03-02T19:40:48","slug":"centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/","title":{"rendered":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]<\/h2>\n<p>LEMP y\u0131\u011f\u0131n\u0131, modern web uygulamalar\u0131 i\u00e7in pop\u00fcler ve y\u00fcksek performansl\u0131 bir sunucu ortam\u0131d\u0131r. A\u00e7\u0131l\u0131m\u0131 Linux, Nginx (Engine X), MySQL (veya MariaDB) ve PHP&#8217;dir. Geleneksel LAMP (Linux, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131na bir alternatif olarak ortaya \u00e7\u0131kan LEMP, \u00f6zellikle y\u00fcksek trafikli sitelerde ve e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 y\u00f6netmede Nginx&#8217;in asenkron ve olay tabanl\u0131 mimarisi sayesinde \u00fcst\u00fcn performans sunar. Bu h\u0131zl\u0131 ba\u015flang\u0131\u00e7 rehberi, CentOS 8 i\u015fletim sistemi \u00fczerine tam i\u015flevsel bir LEMP y\u0131\u011f\u0131n\u0131 kurmak i\u00e7in ad\u0131m ad\u0131m talimatlar sunmaktad\u0131r.<\/p>\n<p>CentOS 8, Red Hat Enterprise Linux (RHEL) tabanl\u0131, kurumsal d\u00fczeyde bir i\u015fletim sistemi olup, kararl\u0131l\u0131\u011f\u0131, g\u00fcvenli\u011fi ve uzun s\u00fcreli deste\u011fi ile bilinir. Bu \u00f6zellikler, CentOS 8&#8217;i sunucu ortamlar\u0131 i\u00e7in ideal bir se\u00e7im haline getirmektedir. Bu rehberde, Nginx&#8217;i web sunucusu olarak, MariaDB&#8217;yi veritaban\u0131 y\u00f6netim sistemi olarak ve PHP-FPM&#8217;yi (FastCGI Process Manager) PHP uygulamalar\u0131n\u0131 i\u015flemek i\u00e7in yap\u0131land\u0131raca\u011f\u0131z.<\/p>\n<p>Bu makalenin sonunda, CentOS 8 sunucunuzda kendi web uygulamalar\u0131n\u0131z\u0131 bar\u0131nd\u0131rmaya haz\u0131r, g\u00fcvenli ve performansl\u0131 bir LEMP ortam\u0131na sahip olacaks\u0131n\u0131z. Ad\u0131mlar\u0131 dikkatlice takip etti\u011finizden ve her komutun \u00e7\u0131kt\u0131s\u0131n\u0131 kontrol etti\u011finizden emin olun.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip oldu\u011funuzdan emin olun:<\/p>\n<p>*   <strong>CentOS 8 Sunucusu:<\/strong> Minimum 1 GB RAM ve 1 CPU \u00e7ekirde\u011fine sahip, temiz bir CentOS 8 i\u015fletim sistemi kurulu bir sanal veya fiziksel sunucu.<br \/>\n*   <strong>Root Eri\u015fimi veya Sudo Yetkisine Sahip Bir Kullan\u0131c\u0131:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in y\u00f6netici ayr\u0131cal\u0131klar\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. Bu rehberde <code>sudo<\/code> komutu kullan\u0131lacakt\u0131r.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paketleri indirmek i\u00e7in sunucunuzun aktif bir internet ba\u011flant\u0131s\u0131na sahip olmas\u0131 gerekmektedir.<br \/>\n*   <strong>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Temel komut sat\u0131r\u0131 i\u015flemleri hakk\u0131nda bilgi sahibi olman\u0131z, kurulum s\u00fcrecini daha iyi anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 1: Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sunucunuzdaki t\u00fcm mevcut paketleri g\u00fcncelleyerek en son g\u00fcvenlik yamalar\u0131na ve hata d\u00fczeltmelerine sahip oldu\u011funuzdan emin olmak iyi bir pratiktir. CentOS 8, paket y\u00f6netimi i\u00e7in <code>dnf<\/code> komutunu kullan\u0131r. Ayr\u0131ca, Nginx ve PHP gibi baz\u0131 yaz\u0131l\u0131mlar\u0131n daha g\u00fcncel s\u00fcr\u00fcmleri veya ek mod\u00fclleri i\u00e7in EPEL (Extra Packages for Enterprise Linux) deposunu etkinle\u015ftirmemiz gerekecektir.<\/p>\n<p>\u0130lk olarak, sistemdeki t\u00fcm paketleri g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo dnf update -y<\/code><\/pre>\n<p>Bu komut, mevcut t\u00fcm y\u00fckl\u00fc paketlerin en son s\u00fcr\u00fcmlerini indirir ve kurar. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verilmesini sa\u011flar. G\u00fcncelleme i\u015flemi tamamland\u0131ktan sonra, sistemin \u00e7ekirde\u011fi veya \u00f6nemli paketleri g\u00fcncellenmi\u015fse, sunucuyu yeniden ba\u015flatmak iyi bir fikir olabilir:<\/p>\n<pre><code class=\"language-bash\">sudo dnf upgrade -y\nsudo reboot<\/code><\/pre>\n<p>Sunucu yeniden ba\u015flat\u0131ld\u0131ktan sonra tekrar oturum a\u00e7\u0131n. \u015eimdi EPEL deposunu kural\u0131m. EPEL, RHEL tabanl\u0131 sistemler i\u00e7in ek paketler sa\u011flayan bir topluluk deposudur ve bir\u00e7ok pop\u00fcler yaz\u0131l\u0131m\u0131 i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">sudo dnf install epel-release -y<\/code><\/pre>\n<p>EPEL deposunun etkinle\u015ftirildi\u011fini do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf repolist<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>epel<\/code> deposunu g\u00f6rmelisiniz. Art\u0131k sistemimiz g\u00fcncel ve gerekli depolara sahip.<\/p>\n<h3>Ad\u0131m 2: Nginx Kurulumu<\/h3>\n<p>Nginx (Engine X), y\u00fcksek performansl\u0131, kararl\u0131 ve d\u00fc\u015f\u00fck kaynak t\u00fcketimine sahip pop\u00fcler bir a\u00e7\u0131k kaynakl\u0131 web sunucusu ve ters proxy sunucusudur. Y\u00fcksek e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 y\u00f6netme yetene\u011fi sayesinde, \u00f6zellikle dinamik i\u00e7erik sunan web uygulamalar\u0131 i\u00e7in idealdir.<\/p>\n<p>Nginx&#8217;i CentOS 8&#8217;e kurmak i\u00e7in a\u015fa\u011f\u0131daki <code>dnf<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Nginx servisini ba\u015flatman\u0131z ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flaman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<p>Nginx servisinin durumunu kontrol ederek d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun:<\/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\u00f6rmelisiniz.<\/p>\n<h4>Firewall Ayarlar\u0131n\u0131 Yap\u0131land\u0131rma<\/h4>\n<p>CentOS 8, varsay\u0131lan olarak <code>firewalld<\/code> servisini kullan\u0131r. Nginx&#8217;in d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in HTTP (port 80) ve HTTPS (port 443) trafi\u011fine izin vermeniz gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-service=http\nsudo firewall-cmd --permanent --add-service=https\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>Bu komutlar, g\u00fcvenlik duvar\u0131na HTTP ve HTTPS servisleri i\u00e7in kal\u0131c\u0131 kurallar ekler ve ard\u0131ndan g\u00fcvenlik duvar\u0131n\u0131 yeniden y\u00fckleyerek de\u011fi\u015fiklikleri uygular.<\/p>\n<h4>Nginx&#8217;in \u00c7al\u0131\u015ft\u0131\u011f\u0131n\u0131 Do\u011frulama<\/h4>\n<p>\u015eimdi bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 girin. \u00d6rne\u011fin, <code>http:\/\/your_server_ip<\/code>. E\u011fer her \u015fey yolundaysa, Nginx&#8217;in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu, Nginx&#8217;in ba\u015far\u0131l\u0131 bir \u015fekilde kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Ad\u0131m 3: MariaDB (MySQL) Kurulumu<\/h3>\n<p>MariaDB, MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131 bir \u00e7atal\u0131d\u0131r. MySQL ile tam uyumlu olup, ayn\u0131 komutlar\u0131 ve aray\u00fczleri kullan\u0131r. Performans iyile\u015ftirmeleri ve yeni \u00f6zellikler sunmas\u0131 nedeniyle pop\u00fcler bir se\u00e7imdir. Bu rehberde MariaDB&#8217;yi kuraca\u011f\u0131z.<\/p>\n<p>MariaDB sunucusunu ve istemcisini kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install mariadb-server mariadb -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, MariaDB 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 mariadb\nsudo systemctl enable mariadb<\/code><\/pre>\n<p>MariaDB servisinin durumunu kontrol ederek d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun:<\/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\u00f6rmelisiniz.<\/p>\n<h4>MariaDB G\u00fcvenlik Ayarlar\u0131n\u0131 Yap\u0131land\u0131rma<\/h4>\n<p>MariaDB&#8217;yi kurduktan sonra, veritaban\u0131 sunucunuzun g\u00fcvenli\u011fini sa\u011flamak \u00e7ok \u00f6nemlidir. MariaDB, bu ama\u00e7la <code>mysql_secure_installation<\/code> adl\u0131 bir betik sa\u011flar. Bu betik, root \u015fifresi belirleme, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rma, root&#8217;un uzaktan oturum a\u00e7mas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakma ve test veritaban\u0131n\u0131 silme gibi \u00f6nemli g\u00fcvenlik ad\u0131mlar\u0131n\u0131 atman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Betik size a\u015fa\u011f\u0131daki sorular\u0131 soracakt\u0131r:<\/p>\n<p>1.  <strong>Enter current password for root (enter for none):<\/strong> \u0130lk kurulumda root \u015fifresi olmad\u0131\u011f\u0131 i\u00e7in do\u011frudan Enter tu\u015funa bas\u0131n.<br \/>\n2.  <strong>Set root password? [Y\/n]:<\/strong> <code>Y<\/code> yaz\u0131n ve g\u00fc\u00e7l\u00fc bir root \u015fifresi belirleyin. Bu \u015fifreyi unutmay\u0131n!<br \/>\n3.  <strong>Remove anonymous users? [Y\/n]:<\/strong> <code>Y<\/code> yaz\u0131n. Anonim kullan\u0131c\u0131lar, herkesin veritaban\u0131na giri\u015f yapmas\u0131na izin verir ve bir g\u00fcvenlik riski olu\u015fturur.<br \/>\n4.  <strong>Disallow root login remotely? [Y\/n]:<\/strong> <code>Y<\/code> yaz\u0131n. Root kullan\u0131c\u0131s\u0131n\u0131n sadece <code>localhost<\/code> \u00fczerinden eri\u015fmesine izin vermek, g\u00fcvenli\u011fi art\u0131r\u0131r.<br \/>\n5.  <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code> yaz\u0131n. Test veritaban\u0131 gereksizdir ve g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturabilir.<br \/>\n6.  <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code> yaz\u0131n. Bu, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin hemen etkili olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>T\u00fcm bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra MariaDB sunucunuz daha g\u00fcvenli hale gelecektir.<\/p>\n<h4>\u0130ste\u011fe Ba\u011fl\u0131: Bir Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/h4>\n<p>\u00c7o\u011fu web uygulamas\u0131 i\u00e7in \u00f6zel bir veritaban\u0131 ve bu veritaban\u0131na eri\u015fimi olan \u00f6zel bir kullan\u0131c\u0131 olu\u015fturmak iyi bir uygulamad\u0131r. Bu, uygulaman\u0131z\u0131n root kullan\u0131c\u0131s\u0131 yerine s\u0131n\u0131rl\u0131 yetkilere sahip bir kullan\u0131c\u0131yla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>MariaDB komut istemcisine root olarak giri\u015f yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>\u0130stendi\u011finde, <code>mysql_secure_installation<\/code> s\u0131ras\u0131nda belirledi\u011finiz root \u015fifresini girin.<\/p>\n<p>\u015eimdi yeni bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE mydatabase;\nCREATE USER 'myuser'@'localhost' IDENTIFIED BY 'your_strong_password';\nGRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>*   <code>mydatabase<\/code> yerine kendi veritaban\u0131 ad\u0131n\u0131z\u0131,<br \/>\n*   <code>myuser<\/code> yerine kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131,<br \/>\n*   <code>your_strong_password<\/code> yerine g\u00fc\u00e7l\u00fc bir \u015fifre kullanmay\u0131 unutmay\u0131n.<\/p>\n<p>Bu ad\u0131mlarla, <code>mydatabase<\/code> ad\u0131nda bir veritaban\u0131 ve <code>myuser<\/code> ad\u0131nda, sadece <code>localhost<\/code> \u00fczerinden bu veritaban\u0131na tam eri\u015fim yetkisine sahip bir kullan\u0131c\u0131 olu\u015fturmu\u015f olursunuz.<\/p>\n<h3>Ad\u0131m 4: PHP Kurulumu ve FPM Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PHP, web geli\u015ftirme i\u00e7in en pop\u00fcler sunucu tarafl\u0131 betik dillerinden biridir. Dinamik web i\u00e7eri\u011fi olu\u015fturmak ve veritabanlar\u0131yla etkile\u015fim kurmak i\u00e7in kullan\u0131l\u0131r. Nginx, PHP kodunu do\u011frudan i\u015fleyemedi\u011fi i\u00e7in, PHP-FPM (FastCGI Process Manager) ad\u0131 verilen bir arac\u0131ya ihtiya\u00e7 duyar\u0131z. PHP-FPM, PHP yorumlay\u0131c\u0131s\u0131n\u0131 y\u00f6neten ve Nginx&#8217;ten gelen PHP isteklerini i\u015fleyen bir FastCGI sunucusudur.<\/p>\n<p>CentOS 8&#8217;de, <code>dnf<\/code> mod\u00fcl komutu ile farkl\u0131 PHP s\u00fcr\u00fcmleri aras\u0131ndan se\u00e7im yapabilirsiniz. Mevcut PHP mod\u00fcllerini listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module list php<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>php:7.2<\/code>, <code>php:7.3<\/code>, <code>php:7.4<\/code> gibi se\u00e7enekler g\u00f6rebilirsiniz. Genellikle en son kararl\u0131 s\u00fcr\u00fcm\u00fc tercih etmek iyi bir fikirdir. Bu rehberde \u00f6rnek olarak PHP 7.4&#8217;\u00fc etkinle\u015ftirece\u011fiz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module enable php:7.4 -y<\/code><\/pre>\n<p>\u015eimdi PHP ve PHP-FPM&#8217;yi, ayr\u0131ca web uygulamalar\u0131 i\u00e7in genellikle gerekli olan baz\u0131 yayg\u0131n PHP mod\u00fcllerini kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install php php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json php-cli -y<\/code><\/pre>\n<p>*   <code>php<\/code>: Temel PHP paketi.<br \/>\n*   <code>php-fpm<\/code>: PHP FastCGI Process Manager.<br \/>\n*   <code>php-mysqlnd<\/code>: MySQL veritabanlar\u0131na ba\u011flanmak i\u00e7in PHP s\u00fcr\u00fcc\u00fcs\u00fc.<br \/>\n*   <code>php-gd<\/code>: G\u00f6r\u00fcnt\u00fc i\u015fleme yetenekleri i\u00e7in.<br \/>\n*   <code>php-xml<\/code>: XML verileriyle \u00e7al\u0131\u015fmak i\u00e7in.<br \/>\n*   <code>php-mbstring<\/code>: \u00c7ok baytl\u0131 karakter dizileriyle \u00e7al\u0131\u015fmak i\u00e7in.<br \/>\n*   <code>php-json<\/code>: JSON verileriyle \u00e7al\u0131\u015fmak i\u00e7in.<br \/>\n*   <code>php-cli<\/code>: Komut sat\u0131r\u0131ndan PHP \u00e7al\u0131\u015ft\u0131rmak i\u00e7in.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra, 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 php-fpm\nsudo systemctl enable php-fpm<\/code><\/pre>\n<p>PHP-FPM servisinin durumunu kontrol ederek d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status php-fpm<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmelisiniz.<\/p>\n<h4>PHP-FPM Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Nginx ile PHP-FPM&#8217;nin sorunsuz \u00e7al\u0131\u015fmas\u0131 i\u00e7in PHP-FPM yap\u0131land\u0131rma dosyas\u0131nda k\u00fc\u00e7\u00fck bir de\u011fi\u015fiklik yapmam\u0131z gerekiyor. Nginx, PHP-FPM ile varsay\u0131lan olarak <code>nginx<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda ileti\u015fim kurar. Bu nedenle, PHP-FPM&#8217;nin de ayn\u0131 kullan\u0131c\u0131\/grup alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamal\u0131y\u0131z.<\/p>\n<p>PHP-FPM yap\u0131land\u0131rma dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php-fpm.d\/www.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve de\u011ferlerini <code>nginx<\/code> olarak de\u011fi\u015ftirin (yakla\u015f\u0131k 23. ve 24. sat\u0131rlar):<\/p>\n<pre><code class=\"language-ini\">; Unix user\/group of processes\n; Note: The user is mandatory. If the group is not set, the default user's group\n;       will be used.\nuser = nginx\ngroup = nginx<\/code><\/pre>\n<p>Ayr\u0131ca, PHP-FPM&#8217;nin Nginx ile nas\u0131l ileti\u015fim kurdu\u011funu belirten <code>listen<\/code> sat\u0131r\u0131n\u0131 kontrol edin. Varsay\u0131lan olarak bir Unix soketi (<code>\/run\/php-fpm\/www.sock<\/code>) kullan\u0131r, bu genellikle en iyi performans\u0131 sa\u011flar. Bu soketin sahipli\u011fini de <code>nginx<\/code> kullan\u0131c\u0131s\u0131na ve grubuna atamam\u0131z gerekir:<\/p>\n<pre><code class=\"language-ini\">listen = \/run\/php-fpm\/www.sock\n;listen = 127.0.0.1:9000\n\n; Set owner.\nlisten.owner = nginx\nlisten.group = nginx<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedip dosyay\u0131 kapat\u0131n (Ctrl+X, Y, Enter).<\/p>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in PHP-FPM servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart php-fpm<\/code><\/pre>\n<h3>Ad\u0131m 5: Nginx&#8217;i PHP ile \u00c7al\u0131\u015facak \u015eekilde Yap\u0131land\u0131rma<\/h3>\n<p>Nginx&#8217;in PHP-FPM ile etkile\u015fim kurabilmesi i\u00e7in sanal ana bilgisayar (server block) yap\u0131land\u0131rmas\u0131n\u0131 d\u00fczenlememiz gerekiyor. Nginx&#8217;in varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/nginx\/nginx.conf<\/code> genel ayarlar\u0131 i\u00e7erir. Sanal ana bilgisayar yap\u0131land\u0131rmalar\u0131 genellikle <code>\/etc\/nginx\/conf.d\/<\/code> dizinindeki <code>.conf<\/code> uzant\u0131l\u0131 dosyalarda bulunur.<\/p>\n<p>Varsay\u0131lan <code>default.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilir veya kendi alan ad\u0131n\u0131z i\u00e7in yeni bir dosya olu\u015fturabilirsiniz. Yeni bir dosya olu\u015fturmak daha iyi bir pratik olabilir, \u00f6rne\u011fin <code>mywebsite.conf<\/code>.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/conf.d\/default.conf<\/code><\/pre>\n<p>Mevcut i\u00e7eri\u011fi silin ve a\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 yap\u0131\u015ft\u0131r\u0131n. <code>your_domain_or_ip<\/code> yerine sunucunuzun IP adresini veya alan ad\u0131n\u0131 yazmay\u0131 unutmay\u0131n. Web sitenizin dosyalar\u0131n\u0131 bar\u0131nd\u0131raca\u011f\u0131n\u0131z <code>root<\/code> dizinini de belirleyin. Genellikle <code>\/usr\/share\/nginx\/html<\/code> veya <code>\/var\/www\/html<\/code> kullan\u0131l\u0131r. <code>\/var\/www\/html<\/code> daha yayg\u0131n bir tercihtir, bu y\u00fczden bu rehberde onu kullanaca\u011f\u0131z. E\u011fer bu dizin yoksa olu\u015fturman\u0131z gerekir: <code>sudo mkdir -p \/var\/www\/html<\/code>.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name your_domain_or_ip; # Sunucunuzun IP adresi veya alan ad\u0131\n\n    root \/var\/www\/html; # Web sitenizin dosyalar\u0131n\u0131n bulundu\u011fu dizin\n    index index.php index.html index.htm;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    location ~ \\.php$ {\n        try_files $uri =404;\n        fastcgi_pass unix:\/run\/php-fpm\/www.sock; # PHP-FPM soket yolu\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # \u0130ste\u011fe ba\u011fl\u0131: .htaccess dosyalar\u0131na eri\u015fimi engelle\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n<p><strong>Yap\u0131land\u0131rma A\u00e7\u0131klamas\u0131:<\/strong><\/p>\n<p>*   <code>listen 80;<\/code>: Nginx&#8217;in 80 numaral\u0131 porttan gelen HTTP isteklerini dinlemesini sa\u011flar.<br \/>\n*   <code>server_name your_domain_or_ip;<\/code>: Bu sunucu blo\u011funun hangi alan ad\u0131 veya IP adresi i\u00e7in ge\u00e7erli oldu\u011funu belirtir.<br \/>\n*   <code>root \/var\/www\/html;<\/code>: Web sitenizin k\u00f6k dizinini tan\u0131mlar. T\u00fcm web dosyalar\u0131n\u0131z burada bulunacakt\u0131r.<br \/>\n*   <code>index index.php index.html index.htm;<\/code>: Bir dizine eri\u015fildi\u011finde Nginx&#8217;in varsay\u0131lan olarak hangi dosyalar\u0131 arayaca\u011f\u0131n\u0131 belirtir. <code>index.php<\/code>&#8216;yi ilk s\u0131raya koymak \u00f6nemlidir.<br \/>\n*   <code>location \/ { ... }<\/code>: T\u00fcm istekler i\u00e7in genel bir kurald\u0131r. <code>try_files<\/code> komutu, istenen dosyan\u0131n veya dizinin var olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Yoksa 404 hatas\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <code>location ~ \\.php$ { ... }<\/code>: Yaln\u0131zca <code>.php<\/code> ile biten dosya isteklerini i\u015fler.<br \/>\n    *   <code>try_files $uri =404;<\/code>: \u0130stenen PHP dosyas\u0131n\u0131n var olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n    *   <code>fastcgi_pass unix:\/run\/php-fpm\/www.sock;<\/code>: PHP isteklerini i\u015flemek i\u00e7in PHP-FPM&#8217;ye g\u00f6nderir. <code>unix:<\/code> \u00f6neki, bir Unix soketi kullan\u0131ld\u0131\u011f\u0131n\u0131 belirtir. E\u011fer PHP-FPM&#8217;yi bir TCP portu \u00fczerinden dinleyecek \u015fekilde yap\u0131land\u0131rd\u0131ysan\u0131z (<code>listen = 127.0.0.1:9000<\/code>), buray\u0131 <code>fastcgi_pass 127.0.0.1:9000;<\/code> olarak de\u011fi\u015ftirmelisiniz.<br \/>\n    *   <code>fastcgi_index index.php;<\/code>: PHP-FPM&#8217;nin dizin istekleri i\u00e7in varsay\u0131lan olarak <code>index.php<\/code>&#8216;yi aramas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<\/code>: PHP-FPM&#8217;ye, y\u00fcr\u00fct\u00fclecek beti\u011fin tam yolunu bildirir.<br \/>\n    *   <code>include fastcgi_params;<\/code>: FastCGI protokol\u00fc i\u00e7in gerekli standart parametreleri i\u00e7erir.<br \/>\n*   <code>location ~ \/\\.ht { ... }<\/code>: <code>.htaccess<\/code> gibi gizli dosyalara do\u011frudan web eri\u015fimini engeller. Nginx <code>.htaccess<\/code> dosyalar\u0131n\u0131 kullanmaz, bu nedenle bu dosyalar\u0131n gizlenmesi g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<p>De\u011fi\u015fiklikleri kaydedip dosyay\u0131 kapat\u0131n.<\/p>\n<h4>Nginx Yap\u0131land\u0131rmas\u0131n\u0131 Kontrol Etme ve Yeniden Ba\u015flatma<\/h4>\n<p>Yap\u0131land\u0131rma dosyan\u0131zda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Nginx&#8217;in test komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>syntax is ok<\/code> ve <code>test is successful<\/code> diyorsa, yap\u0131land\u0131rman\u0131z do\u011fru demektir. \u015eimdi Nginx servisini yeniden ba\u015flatarak de\u011fi\u015fikliklerin etkili olmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<h3>Ad\u0131m 6: PHP Bilgisini Test Etme<\/h3>\n<p>LEMP y\u0131\u011f\u0131n\u0131n\u0131z\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in, web k\u00f6k dizininize basit bir PHP bilgi dosyas\u0131 (<code>info.php<\/code>) olu\u015ftural\u0131m.<\/p>\n<p>Web k\u00f6k dizininiz <code>\/var\/www\/html<\/code> oldu\u011fu i\u00e7in bu dizine gidin (e\u011fer yoksa olu\u015fturun ve sahiplik\/izinleri ayarlay\u0131n):<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/html\nsudo chown -R nginx:nginx \/var\/www\/html\nsudo chmod -R 755 \/var\/www\/html<\/code><\/pre>\n<p>\u015eimdi <code>info.php<\/code> dosyas\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/html\/info.php<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\"><?php\nphpinfo();\n?><\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<p>\u015eimdi bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 takip eden <code>\/info.php<\/code> adresini ziyaret edin: <code>http:\/\/your_server_ip\/info.php<\/code>.<\/p>\n<p>E\u011fer her \u015fey yolundaysa, PHP yap\u0131land\u0131rman\u0131zla ilgili detayl\u0131 bilgileri i\u00e7eren bir sayfa g\u00f6rmelisiniz. Bu sayfa, PHP&#8217;nin Nginx ile d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular. Sayfada <code>Nginx<\/code> ve <code>FPM\/FastCGI<\/code> gibi ifadeleri arayarak Nginx&#8217;in PHP-FPM arac\u0131l\u0131\u011f\u0131yla PHP&#8217;yi i\u015fledi\u011finden emin olabilirsiniz.<\/p>\n<p><strong>\u00d6NEML\u0130 G\u00dcVENL\u0130K UYARISI:<\/strong> <code>info.php<\/code> dosyas\u0131, sunucunuz hakk\u0131nda hassas bilgiler i\u00e7erir. Test i\u015flemini tamamlad\u0131ktan hemen sonra bu dosyay\u0131 silmeniz \u015fiddetle tavsiye edilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm \/var\/www\/html\/info.php<\/code><\/pre>\n<h3>Ek G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>LEMP y\u0131\u011f\u0131n\u0131n\u0131 kurduktan sonra, sunucunuzun g\u00fcvenli\u011fini daha da art\u0131rmak i\u00e7in baz\u0131 ek ad\u0131mlar atman\u0131z \u00f6nemlidir.<\/p>\n<h4>SSL\/TLS (HTTPS) Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Web sitenize g\u00fcvenli eri\u015fim sa\u011flamak i\u00e7in SSL\/TLS sertifikas\u0131 kurman\u0131z gerekir. Let&#8217;s Encrypt, \u00fccretsiz SSL sertifikalar\u0131 sunan pop\u00fcler bir sertifika yetkilisidir ve Certbot arac\u0131 ile kolayca kurulabilir.<\/p>\n<p>1.  <strong>Certbot Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo dnf install certbot python3-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>    <code>your_domain.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 yaz\u0131n. Certbot, otomatik olarak Nginx yap\u0131land\u0131rman\u0131z\u0131 g\u00fcncelleyecek ve sertifikay\u0131 kuracakt\u0131r.<br \/>\n3.  <strong>Otomatik Yenileme:<\/strong> Certbot, sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir cron i\u015fi veya systemd zamanlay\u0131c\u0131s\u0131 da kuracakt\u0131r.<\/p>\n<h4>SELinux Y\u00f6netimi<\/h4>\n<p>CentOS&#8217;un g\u00fc\u00e7l\u00fc g\u00fcvenlik \u00f6zelliklerinden biri olan SELinux, baz\u0131 durumlarda Nginx ve PHP-FPM&#8217;nin d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyebilir. E\u011fer web uygulaman\u0131z dosya yazma veya veritaban\u0131na ba\u011flanma gibi i\u015flemlerde sorun ya\u015f\u0131yorsa, SELinux politikalar\u0131n\u0131 ayarlaman\u0131z gerekebilir.<\/p>\n<p>*   <strong>PHP&#8217;nin Veritaban\u0131na Ba\u011flanmas\u0131na \u0130zin Verme:<\/strong><br \/>\n    E\u011fer PHP, MariaDB&#8217;ye ba\u011flanam\u0131yorsa, SELinux&#8217;un a\u011f ba\u011flant\u0131lar\u0131n\u0131 engellemesi olas\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo setsebool -P httpd_can_network_connect_db 1<\/code><\/pre>\n<p>    Bu komut, HTTP servislerinin (Nginx arac\u0131l\u0131\u011f\u0131yla \u00e7al\u0131\u015fan PHP) a\u011f \u00fczerinden veritabanlar\u0131na ba\u011flanmas\u0131na kal\u0131c\u0131 olarak izin verir.<\/p>\n<p>*   <strong>Web K\u00f6k Dizininde Yazma \u0130zni:<\/strong><br \/>\n    E\u011fer uygulaman\u0131z\u0131n <code>\/var\/www\/html<\/code> dizinine veya alt dizinlerine dosya yazmas\u0131 gerekiyorsa (\u00f6rne\u011fin, y\u00fcklemeler, \u00f6nbellek dosyalar\u0131), SELinux politikalar\u0131n\u0131 ayarlaman\u0131z gerekebilir.<\/p>\n<pre><code class=\"language-bash\">sudo semanage fcontext -a -t httpd_sys_rw_content_t \"\/var\/www\/html(\/.*)?\"\n    sudo restorecon -Rv \/var\/www\/html<\/code><\/pre>\n<p>    Bu komutlar, <code>\/var\/www\/html<\/code> dizini ve alt\u0131ndaki t\u00fcm dosyalar i\u00e7in <code>httpd_sys_rw_content_t<\/code> etiketini tan\u0131mlar ve uygular, bu da Nginx&#8217;in bu dizinlere yazma iznine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>*   <strong>G\u00fcnl\u00fck Dosyalar\u0131 ve Di\u011fer \u00d6zel Dizinler:<\/strong><br \/>\n    Uygulaman\u0131z\u0131n \u00f6zel g\u00fcnl\u00fck veya yap\u0131land\u0131rma dizinleri varsa, bunlar i\u00e7in de uygun SELinux ba\u011flamlar\u0131n\u0131 ayarlaman\u0131z gerekebilir. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">sudo semanage fcontext -a -t httpd_log_t \"\/var\/log\/mywebapp(\/.*)?\"\n    sudo restorecon -Rv \/var\/log\/mywebapp<\/code><\/pre>\n<h4>PHP G\u00fcvenlik Ayarlar\u0131<\/h4>\n<p>PHP yap\u0131land\u0131rma dosyas\u0131nda (<code>\/etc\/php.ini<\/code>) baz\u0131 g\u00fcvenlik ayarlar\u0131n\u0131 g\u00f6zden ge\u00e7irebilirsiniz:<\/p>\n<p>*   <strong><code>disable_functions<\/code>:<\/strong> G\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturabilecek veya gereksiz fonksiyonlar\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n*   <strong><code>open_basedir<\/code>:<\/strong> PHP betiklerinin eri\u015febilece\u011fi dizinleri k\u0131s\u0131tlay\u0131n. Bu, bir beti\u011fin k\u00f6t\u00fcye kullan\u0131lmas\u0131 durumunda zarar\u0131n yay\u0131lmas\u0131n\u0131 engeller.<br \/>\n*   <strong><code>expose_php = Off<\/code>:<\/strong> PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn HTTP ba\u015fl\u0131klar\u0131nda g\u00f6r\u00fcnmesini engelleyerek bilgi if\u015fas\u0131n\u0131 azalt\u0131n.<br \/>\n*   <strong><code>log_errors = On<\/code> ve <code>error_log = \/var\/log\/php-errors.log<\/code>:<\/strong> Hatalar\u0131 web sayfas\u0131nda g\u00f6stermek yerine bir dosyaya kaydetmek, hassas bilgilerin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131n\u0131 engeller.<\/p>\n<h4>Nginx G\u00fcvenlik Ayarlar\u0131<\/h4>\n<p>*   <strong>Sunucu S\u00fcr\u00fcm\u00fcn\u00fc Gizleme:<\/strong> Nginx yap\u0131land\u0131rman\u0131zda <code>server_tokens off;<\/code> sat\u0131r\u0131n\u0131 <code>http<\/code> blo\u011funa ekleyerek Nginx s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn HTTP yan\u0131tlar\u0131nda g\u00f6r\u00fcnmesini engelleyin.<br \/>\n*   <strong>Gereksiz Mod\u00fclleri Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> Yaln\u0131zca ihtiyac\u0131n\u0131z olan Nginx mod\u00fcllerini etkin tutun.<br \/>\n*   <strong>Rate Limiting:<\/strong> DDoS sald\u0131r\u0131lar\u0131na kar\u015f\u0131 veya a\u015f\u0131r\u0131 istekleri s\u0131n\u0131rlamak i\u00e7in <code>limit_req_zone<\/code> ve <code>limit_req<\/code> direktiflerini kullan\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Tebrikler! CentOS 8 sunucunuzda ba\u015far\u0131l\u0131 bir \u015fekilde bir LEMP y\u0131\u011f\u0131n\u0131 kurdunuz ve yap\u0131land\u0131rd\u0131n\u0131z. Art\u0131k Nginx web sunucunuz, MariaDB veritaban\u0131 sunucunuz ve PHP-FPM arac\u0131l\u0131\u011f\u0131yla PHP betiklerini i\u015fleyebilen g\u00fc\u00e7l\u00fc ve esnek bir platforma sahipsiniz. Bu h\u0131zl\u0131 ba\u015flang\u0131\u00e7 rehberi, temel kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 kapsarken, ayn\u0131 zamanda ek g\u00fcvenlik \u00f6nlemleri hakk\u0131nda da size bilgi vermi\u015ftir.<\/p>\n<p>Bu rehberin ard\u0131ndan, web uygulaman\u0131z\u0131 <code>\/var\/www\/html<\/code> dizinine da\u011f\u0131tabilir ve Nginx sanal ana bilgisayar yap\u0131land\u0131rman\u0131z\u0131 alan ad\u0131n\u0131za g\u00f6re \u00f6zelle\u015ftirebilirsiniz. Performans optimizasyonu, \u00f6nbellekleme mekanizmalar\u0131 ve daha geli\u015fmi\u015f g\u00fcvenlik uygulamalar\u0131 gibi konular\u0131 ara\u015ft\u0131rmaya devam ederek LEMP y\u0131\u011f\u0131n\u0131n\u0131zdan en iyi \u015fekilde yararlanabilirsiniz. Unutmay\u0131n, herhangi bir \u00fcretim ortam\u0131nda g\u00fcvenlik ve kararl\u0131l\u0131k her zaman \u00f6ncelikli olmal\u0131d\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] LEMP y\u0131\u011f\u0131n\u0131, modern web uygulamalar\u0131 i\u00e7in pop\u00fcler ve y\u00fcksek performansl\u0131 bir sunucu ortam\u0131d\u0131r.","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-41002","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>CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] - 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\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]\" \/>\n<meta property=\"og:description\" content=\"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] LEMP y\u0131\u011f\u0131n\u0131, modern web uygulamalar\u0131 i\u00e7in pop\u00fcler ve y\u00fcksek performansl\u0131 bir sunucu ortam\u0131d\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-02T19: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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]\",\"datePublished\":\"2026-03-02T19:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\"},\"wordCount\":2888,\"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\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\",\"name\":\"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-03-02T19:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]\"}]},{\"@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":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] - 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\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]","og_description":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] LEMP y\u0131\u011f\u0131n\u0131, modern web uygulamalar\u0131 i\u00e7in pop\u00fcler ve y\u00fcksek performansl\u0131 bir sunucu ortam\u0131d\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-03-02T19:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]","datePublished":"2026-03-02T19:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/"},"wordCount":2888,"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\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/","name":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-03-02T19:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-lemp-linux-nginx-mysql-php-yigini-kurulumu-hizli-baslangic-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 8 \u00dczerine LEMP (Linux, Nginx, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 Rehberi]"}]},{"@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\/41002","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=41002"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41002\/revisions"}],"predecessor-version":[{"id":41003,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41002\/revisions\/41003"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}