{"id":39306,"date":"2026-02-18T15:40:56","date_gmt":"2026-02-18T12:40:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=39306"},"modified":"2026-02-18T15:40:56","modified_gmt":"2026-02-18T12:40:56","slug":"phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/","title":{"rendered":"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama"},"content":{"rendered":"<p><body><\/p>\n<h2>phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Veritaban\u0131 y\u00f6netimi, modern web uygulamalar\u0131n\u0131n ve sunucu altyap\u0131lar\u0131n\u0131n temel bir bile\u015fenidir. MySQL ve MariaDB gibi ili\u015fkisel veritaban\u0131 sistemleri, web geli\u015ftiricileri ve sistem y\u00f6neticileri aras\u0131nda yayg\u0131n olarak kullan\u0131lmaktad\u0131r. Bu veritabanlar\u0131n\u0131 komut sat\u0131r\u0131 aray\u00fcz\u00fcnden y\u00f6netmek \u00e7o\u011fu zaman karma\u015f\u0131k ve zaman al\u0131c\u0131 olabilir. \u0130\u015fte tam bu noktada phpMyAdmin devreye girer. phpMyAdmin, MySQL ve MariaDB veritabanlar\u0131n\u0131 bir web taray\u0131c\u0131s\u0131 \u00fczerinden kolayca y\u00f6netmenizi sa\u011flayan \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131 bir ara\u00e7t\u0131r. Veritaban\u0131 olu\u015fturma, tablolar\u0131 d\u00fczenleme, kullan\u0131c\u0131lar\u0131 y\u00f6netme, SQL sorgular\u0131 \u00e7al\u0131\u015ft\u0131rma ve veri i\u00e7e\/d\u0131\u015fa aktarma gibi bir\u00e7ok i\u015flemi grafiksel bir aray\u00fczle yapman\u0131za olanak tan\u0131r.<\/p>\n<p>Bu makalede, CentOS 7 i\u015fletim sistemi \u00fczerinde Nginx web sunucusu ile phpMyAdmin&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m detayl\u0131 bir \u015fekilde anlataca\u011f\u0131z. Nginx, y\u00fcksek performansl\u0131, \u00f6l\u00e7eklenebilir ve kaynak dostu bir web sunucusu olarak bilinirken, CentOS 7 ise kurumsal d\u00fczeyde istikrar ve g\u00fcvenlik sunan pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Bu kombinasyon, phpMyAdmin i\u00e7in hem g\u00fc\u00e7l\u00fc bir altyap\u0131 hem de g\u00fcvenli bir ortam sa\u011flayacakt\u0131r. Kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131n yan\u0131 s\u0131ra, phpMyAdmin kurulumunuzu potansiyel g\u00fcvenlik tehditlerine kar\u015f\u0131 korumak i\u00e7in \u00e7e\u015fitli g\u00fcvenlik \u00f6nlemlerini de ele alaca\u011f\u0131z.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n sunucunuzda mevcut oldu\u011fundan emin olmal\u0131s\u0131n\u0131z:<\/p>\n<p>*   <strong>CentOS 7 Sunucusu:<\/strong> SSH eri\u015fimi olan ve <code>sudo<\/code> yetkilerine sahip bir CentOS 7 sunucusu.<br \/>\n*   <strong>Nginx Kurulumu:<\/strong> Sunucunuzda Nginx web sunucusu kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmal\u0131d\u0131r. E\u011fer kurulu de\u011filse, kurulum ad\u0131mlar\u0131n\u0131 bu makalede bulabilirsiniz.<br \/>\n*   <strong>PHP-FPM Kurulumu:<\/strong> PHP ve PHP-FPM (FastCGI Process Manager) kurulu ve Nginx ile entegre edilmi\u015f olmal\u0131d\u0131r. phpMyAdmin&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli PHP mod\u00fclleri de kurulmal\u0131d\u0131r.<br \/>\n*   <strong>MariaDB\/MySQL Kurulumu:<\/strong> Sunucunuzda MariaDB veya MySQL veritaban\u0131 sunucusu kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmal\u0131d\u0131r. phpMyAdmin bu veritabanlar\u0131n\u0131 y\u00f6netmek i\u00e7in kullan\u0131lacakt\u0131r.<br \/>\n*   <strong>Firewall Yap\u0131land\u0131rmas\u0131:<\/strong> Sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin, <code>firewalld<\/code>) etkinse, web trafi\u011fine (HTTP\/HTTPS) izin verildi\u011finden emin olunmal\u0131d\u0131r.<\/p>\n<p>Bu \u00f6n ko\u015fullar tamamland\u0131\u011f\u0131nda, phpMyAdmin kurulumuna ve yap\u0131land\u0131rmas\u0131na ba\u015flayabiliriz.<\/p>\n<h3>Sistem G\u00fcncellemesi ve Gerekli Paketlerin Kurulumu<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan ve gerekli temel paketlerin y\u00fckl\u00fc oldu\u011fundan emin olmak her zaman iyi bir uygulamad\u0131r. Bu, potansiyel uyumluluk sorunlar\u0131n\u0131 veya g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<p>\u0130lk olarak, sistemdeki t\u00fcm paketleri g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y<\/code><\/pre>\n<p>Ard\u0131ndan, baz\u0131 yard\u0131mc\u0131 programlar\u0131 ve EPEL (Extra Packages for Enterprise Linux) deposunu y\u00fcklememiz gerekebilir. EPEL, CentOS i\u00e7in ek yaz\u0131l\u0131mlar sa\u011flayan bir depodur ve baz\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131 kar\u015f\u0131lamak i\u00e7in faydal\u0131 olabilir. <code>wget<\/code> dosyalar\u0131 indirmek, <code>unzip<\/code> ise s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyalar\u0131 a\u00e7mak i\u00e7in gereklidir. <code>policycoreutils-python<\/code> ise SELinux y\u00f6netimi i\u00e7in kullan\u0131l\u0131r ve ilerleyen ad\u0131mlarda ihtiya\u00e7 duyulabilir.<\/p>\n<pre><code class=\"language-bash\">sudo yum install epel-release -y\nsudo yum install wget unzip policycoreutils-python -y<\/code><\/pre>\n<h3>Nginx Kurulumu (E\u011fer Kurulu De\u011filse)<\/h3>\n<p>E\u011fer sunucunuzda Nginx zaten kurulu ve yap\u0131land\u0131r\u0131lm\u0131\u015fsa bu ad\u0131m\u0131 atlayabilirsiniz. Aksi takdirde, Nginx&#8217;i kurmak ve temel ayarlar\u0131n\u0131 yapmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin.<\/p>\n<p>Nginx&#8217;i CentOS deposundan kurun:<\/p>\n<pre><code class=\"language-bash\">sudo yum install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Nginx 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 nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<p>CentOS 7&#8217;de varsay\u0131lan g\u00fcvenlik duvar\u0131 <code>firewalld<\/code>&#8216;dir. Nginx&#8217;in d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in HTTP ve HTTPS servislerine 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>\u015eimdi bir web taray\u0131c\u0131s\u0131ndan sunucunuzun IP adresine veya alan ad\u0131na giderek Nginx&#8217;in \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz. Varsay\u0131lan Nginx kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>MariaDB\/MySQL Kurulumu (E\u011fer Kurulu De\u011filse)<\/h3>\n<p>phpMyAdmin bir veritaban\u0131 y\u00f6netim arac\u0131 oldu\u011fundan, y\u00f6netilecek bir veritaban\u0131 sunucusuna ihtiyac\u0131n\u0131z vard\u0131r. Bu rehberde MariaDB&#8217;yi kullanaca\u011f\u0131z, ancak ad\u0131mlar MySQL i\u00e7in de benzerdir. E\u011fer MariaDB\/MySQL kuruluysa bu ad\u0131m\u0131 atlayabilirsiniz.<\/p>\n<p>MariaDB sunucusunu ve istemcisini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo yum install mariadb-server mariadb -y<\/code><\/pre>\n<p>Kurulumdan 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>Yeni kurulmu\u015f bir MariaDB sunucusunun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in <code>mysql_secure_installation<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rmak \u00e7ok \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu betik size bir dizi soru soracakt\u0131r:<br \/>\n*   <strong>Enter current password for root (none):<\/strong> \u0130lk kurulumda root parolas\u0131 yoktur, bu y\u00fczden sadece Enter&#8217;a bas\u0131n.<br \/>\n*   <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 parola belirleyin. Bu parolay\u0131 unutmay\u0131n!<br \/>\n*   <strong>Remove anonymous users? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak anonim kullan\u0131c\u0131lar\u0131 kald\u0131r\u0131n.<br \/>\n*   <strong>Disallow root login remotely? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak root kullan\u0131c\u0131s\u0131n\u0131n uzaktan eri\u015fimini engelleyin. Bu, g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<br \/>\n*   <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak test veritaban\u0131n\u0131 kald\u0131r\u0131n.<br \/>\n*   <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code> tu\u015funa basarak ayr\u0131cal\u0131k tablolar\u0131n\u0131 yeniden y\u00fckleyin.<\/p>\n<p>\u015eimdi phpMyAdmin&#8217;in kullanaca\u011f\u0131 \u00f6zel bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015ftural\u0131m. Bu, root kullan\u0131c\u0131s\u0131n\u0131 do\u011frudan kullanmaktan daha g\u00fcvenlidir.<\/p>\n<p>MariaDB kabu\u011funa root olarak giri\u015f yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>Az \u00f6nce belirledi\u011finiz root parolas\u0131n\u0131 girin. Ard\u0131ndan a\u015fa\u011f\u0131daki SQL komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE phpmyadmin_db;\nCREATE USER 'pmauser'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD';\nGRANT ALL PRIVILEGES ON phpmyadmin_db.* TO 'pmauser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p><code>STRONG_PASSWORD<\/code> yerine kendi g\u00fc\u00e7l\u00fc parolan\u0131z\u0131 kulland\u0131\u011f\u0131n\u0131zdan emin olun. Bu kullan\u0131c\u0131 ve veritaban\u0131 phpMyAdmin&#8217;in kendi yap\u0131land\u0131rma verilerini depolamak i\u00e7in kullan\u0131labilir, ancak ana veritaban\u0131 i\u015flemlerini ger\u00e7ekle\u015ftirmek i\u00e7in de\u011fil. phpMyAdmin&#8217;e giri\u015f yaparken genellikle ger\u00e7ek veritaban\u0131 kullan\u0131c\u0131lar\u0131n\u0131z\u0131 kullan\u0131rs\u0131n\u0131z.<\/p>\n<h3>PHP-FPM Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>phpMyAdmin bir PHP uygulamas\u0131 oldu\u011fu i\u00e7in, PHP ve Nginx ile PHP uygulamalar\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan PHP-FPM&#8217;e ihtiyac\u0131m\u0131z var.<\/p>\n<p>PHP ve gerekli PHP mod\u00fcllerini kurun. phpMyAdmin&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>php-mysqlnd<\/code> (MySQL\/MariaDB ba\u011flant\u0131s\u0131 i\u00e7in), <code>php-gd<\/code> (g\u00f6r\u00fcnt\u00fc i\u015fleme i\u00e7in), <code>php-mbstring<\/code> (\u00e7ok baytl\u0131 dizeler i\u00e7in), <code>php-xml<\/code>, <code>php-json<\/code> ve <code>php-zip<\/code> gibi mod\u00fcller kritik \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-bash\">sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json php-zip -y<\/code><\/pre>\n<p>Kurulumdan sonra, PHP-FPM yap\u0131land\u0131rma dosyas\u0131nda baz\u0131 de\u011fi\u015fiklikler yapmam\u0131z gerekebilir. Nginx ile d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>www.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyece\u011fiz:<\/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 d\u00fczenleyin:<\/p>\n<p>1.  <code>user<\/code> ve <code>group<\/code> de\u011ferlerini <code>nginx<\/code> olarak de\u011fi\u015ftirin (varsay\u0131lan olarak <code>apache<\/code> olabilir):<\/p>\n<pre><code class=\"language-ini\">user = nginx\n    group = nginx<\/code><\/pre>\n<p>2.  <code>listen<\/code> sat\u0131r\u0131n\u0131 kontrol edin. Nginx ile PHP-FPM aras\u0131nda ileti\u015fim i\u00e7in bir Unix soketi kullanmak genellikle daha performansl\u0131 ve g\u00fcvenlidir:<\/p>\n<pre><code class=\"language-ini\">listen = \/run\/php-fpm\/www.sock<\/code><\/pre>\n<p>3.  <code>listen.owner<\/code> ve <code>listen.group<\/code> de\u011ferlerini <code>nginx<\/code> olarak ayarlay\u0131n:<\/p>\n<pre><code class=\"language-ini\">listen.owner = nginx\n    listen.group = nginx<\/code><\/pre>\n<p>4.  <code>cgi.fix_pathinfo<\/code> sat\u0131r\u0131n\u0131 bulun ve yorum sat\u0131r\u0131ndan \u00e7\u0131kar\u0131p <code>0<\/code> olarak ayarlay\u0131n. Bu, g\u00fcvenlik a\u00e7\u0131klar\u0131 potansiyelini azalt\u0131r:<\/p>\n<pre><code class=\"language-ini\">php_admin_value[cgi.fix_pathinfo] = 0<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n (Ctrl+X, Y, Enter).<\/p>\n<p>\u015eimdi PHP-FPM servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php-fpm\nsudo systemctl enable php-fpm<\/code><\/pre>\n<h3>phpMyAdmin Kurulumu<\/h3>\n<p>\u015eimdi phpMyAdmin&#8217;in kendisini indirelim ve web sunucumuzun eri\u015febilece\u011fi bir konuma yerle\u015ftirelim.<\/p>\n<p>phpMyAdmin&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc resmi web sitesinden indirmek en iyisidir. En son s\u00fcr\u00fcm\u00fc kontrol etmek i\u00e7in phpMyAdmin indirme sayfas\u0131na (https:\/\/www.phpmyadmin.net\/downloads\/) gidin. Bu makalenin yaz\u0131ld\u0131\u011f\u0131 an itibar\u0131yla g\u00fcncel bir s\u00fcr\u00fcm \u00f6rne\u011fi kullanaca\u011f\u0131z, ancak siz her zaman en son s\u00fcr\u00fcm\u00fc kullanmal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/files.phpmyadmin.net\/phpMyAdmin\/5.2.1\/phpMyAdmin-5.2.1-all-languages.zip<\/code><\/pre>\n<p>\u0130ndirilen zip dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">unzip phpMyAdmin-5.2.1-all-languages.zip<\/code><\/pre>\n<p>A\u00e7\u0131lan dizini Nginx&#8217;in web k\u00f6k dizinine ta\u015f\u0131y\u0131n. Genellikle <code>\/usr\/share\/nginx\/html\/<\/code> dizini kullan\u0131l\u0131r. phpMyAdmin&#8217;e daha kolay eri\u015fim i\u00e7in dizinin ad\u0131n\u0131 <code>phpmyadmin<\/code> olarak de\u011fi\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo mv phpMyAdmin-5.2.1-all-languages \/usr\/share\/nginx\/html\/phpmyadmin<\/code><\/pre>\n<p>Dizin ve dosyalar\u0131n Nginx kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir ve yaz\u0131labilir oldu\u011fundan emin olmak i\u00e7in do\u011fru izinleri ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R nginx:nginx \/usr\/share\/nginx\/html\/phpmyadmin\nsudo chmod -R 755 \/usr\/share\/nginx\/html\/phpmyadmin<\/code><\/pre>\n<h3>phpMyAdmin Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>phpMyAdmin&#8217;i kullanmadan \u00f6nce temel bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturmam\u0131z gerekiyor.<\/p>\n<p>phpMyAdmin dizinine gidin:<\/p>\n<pre><code class=\"language-bash\">cd \/usr\/share\/nginx\/html\/phpmyadmin<\/code><\/pre>\n<p>\u00d6rnek yap\u0131land\u0131rma dosyas\u0131n\u0131 kopyalayarak kendi yap\u0131land\u0131rma dosyam\u0131z\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo cp config.sample.inc.php config.inc.php<\/code><\/pre>\n<p>\u015eimdi bu dosyay\u0131 d\u00fczenleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo nano config.inc.php<\/code><\/pre>\n<p>Dosya i\u00e7inde a\u015fa\u011f\u0131daki \u00f6nemli ayarlar\u0131 bulup d\u00fczenleyin:<\/p>\n<p>1.  <strong><code>$cfg['blowfish_secret']<\/code>:<\/strong> Bu, \u00e7erez tabanl\u0131 kimlik do\u011frulama i\u00e7in kullan\u0131lan rastgele bir parolad\u0131r. G\u00fcvenli\u011finiz i\u00e7in 32 karakterlik g\u00fc\u00e7l\u00fc, rastgele bir dize olu\u015fturmal\u0131s\u0131n\u0131z. \u00d6rne\u011fin, a\u015fa\u011f\u0131daki komutu kullanarak bir dize olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">openssl rand -base64 32<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131y\u0131 kopyalay\u0131n ve <code>$cfg['blowfish_secret']<\/code> sat\u0131r\u0131na t\u0131rnak i\u015faretleri aras\u0131na yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\">$cfg['blowfish_secret'] = 'YOUR_32_CHARACTER_RANDOM_STRING_HERE'; \/<em> YOU MUST FILL IN THIS FOR COOKIE AUTH! <\/em>\/<\/code><\/pre>\n<p>2.  <strong><code>$cfg['Servers'][$i]['host']<\/code>:<\/strong> MariaDB\/MySQL sunucunuzun ana bilgisayar ad\u0131n\u0131 belirtir. Genellikle <code>localhost<\/code>&#8216;tur:<\/p>\n<pre><code class=\"language-php\">$cfg['Servers'][$i]['host'] = 'localhost';<\/code><\/pre>\n<p>3.  <strong>phpMyAdmin&#8217;in Yap\u0131land\u0131rma Depolama Alan\u0131 (Opsiyonel ama \u00d6nerilir):<\/strong><br \/>\n    phpMyAdmin, baz\u0131 geli\u015fmi\u015f \u00f6zellikler (ili\u015fkiler, izleme, yer imleri vb.) i\u00e7in kendi \u00f6zel tablolar\u0131n\u0131 bir veritaban\u0131nda depolayabilir. Bu, kullan\u0131c\u0131 deneyimini art\u0131r\u0131r. Bu \u00f6zelli\u011fi etkinle\u015ftirmek i\u00e7in, phpMyAdmin dizininde bulunan <code>examples\/create_tables.sql<\/code> dosyas\u0131n\u0131 MariaDB sunucunuza aktarman\u0131z gerekir.<\/p>\n<p>    MariaDB kabu\u011funa girin:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>    Parolan\u0131z\u0131 girin ve ard\u0131ndan SQL dosyas\u0131n\u0131 i\u00e7e aktar\u0131n (phpMyAdmin&#8217;in kendi verilerini depolayaca\u011f\u0131 <code>phpmyadmin_db<\/code> veritaban\u0131na):<\/p>\n<pre><code class=\"language-sql\">SOURCE \/usr\/share\/nginx\/html\/phpmyadmin\/examples\/create_tables.sql;<\/code><\/pre>\n<p>    <code>phpmyadmin_db<\/code> veritaban\u0131n\u0131 kullanaca\u011f\u0131m\u0131zdan emin olmak i\u00e7in \u00f6nce se\u00e7elim:<\/p>\n<pre><code class=\"language-sql\">USE phpmyadmin_db;\n    SOURCE \/usr\/share\/nginx\/html\/phpmyadmin\/examples\/create_tables.sql;<\/code><\/pre>\n<p>    \u00c7\u0131k\u0131\u015f yap\u0131n:<\/p>\n<pre><code class=\"language-sql\">EXIT;<\/code><\/pre>\n<p>    \u015eimdi <code>config.inc.php<\/code> dosyas\u0131nda bu ayarlar\u0131 etkinle\u015ftirelim. Dosyan\u0131n sonuna do\u011fru a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulup yorum sat\u0131r\u0131ndan \u00e7\u0131kar\u0131n ve kullan\u0131c\u0131\/veritaban\u0131 adlar\u0131n\u0131 do\u011fru \u015fekilde ayarlay\u0131n:<\/p>\n<pre><code class=\"language-php\">$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin_db';\n    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmarks';\n    $cfg['Servers'][$i]['relation'] = 'pma__relation';\n    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';\n    $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';\n    $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';\n    $cfg['Servers'][$i]['column_info'] = 'pma__column_info';\n    $cfg['Servers'][$i]['history'] = 'pma__history';\n    $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';\n    $cfg['Servers'][$i]['tracking'] = 'pma__tracking';\n    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';\n    $cfg['Servers'][$i]['recent'] = 'pma__recent';\n    $cfg['Servers'][$i]['favorite'] = 'pma__favorite';\n    $cfg['Servers'][$i]['users'] = 'pma__users';\n    $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';\n    $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';\n    $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';\n    $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';\n    $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';\n    $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';\n    $cfg['Servers'][$i]['advisory_controllocation'] = 'pma__advisory_controllocation';<\/code><\/pre>\n<p>    Ayr\u0131ca, phpMyAdmin&#8217;in bu tablolara eri\u015fimi i\u00e7in <code>pmauser<\/code> kullan\u0131c\u0131s\u0131n\u0131 da yap\u0131land\u0131rabilirsiniz, ancak bu genellikle gerekli de\u011fildir \u00e7\u00fcnk\u00fc phpMyAdmin&#8217;e giri\u015f yaparken veritaban\u0131 kullan\u0131c\u0131lar\u0131n\u0131z\u0131 kullan\u0131rs\u0131n\u0131z. Bu ayarlar, phpMyAdmin&#8217;in kendi dahili meta verilerini depolamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<h3>Nginx Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Son ad\u0131m, Nginx&#8217;i phpMyAdmin&#8217;i sunacak \u015fekilde yap\u0131land\u0131rmakt\u0131r. Bunun i\u00e7in \u00f6zel bir Nginx sunucu blo\u011fu olu\u015fturabilir veya mevcut bir sanal ana bilgisayar yap\u0131land\u0131rmas\u0131na ekleme yapabilirsiniz. phpMyAdmin&#8217;i ayr\u0131 bir alt alan ad\u0131 (\u00f6rne\u011fin, <code>phpmyadmin.your_domain.com<\/code>) veya bir alt dizin (\u00f6rne\u011fin, <code>your_domain.com\/phpmyadmin<\/code>) \u00fczerinden eri\u015filebilir k\u0131labilirsiniz. G\u00fcvenlik nedeniyle, ayr\u0131 bir alt alan ad\u0131 kullanmak veya eri\u015fim URL&#8217;sini gizlemek daha iyidir.<\/p>\n<p>Bu \u00f6rnekte, <code>\/etc\/nginx\/conf.d\/phpmyadmin.conf<\/code> ad\u0131nda yeni bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/conf.d\/phpmyadmin.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 dosyaya yap\u0131\u015ft\u0131r\u0131n. <code>your_domain.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 veya sunucunuzun IP adresini kullan\u0131n:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name your_domain.com; # phpMyAdmin'e eri\u015fmek i\u00e7in kullanaca\u011f\u0131n\u0131z alan ad\u0131 veya IP\n\n    root \/usr\/share\/nginx\/html\/phpmyadmin;\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;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # phpMyAdmin'in hassas yap\u0131land\u0131rma dosyalar\u0131na do\u011frudan eri\u015fimi engelle\n    location ~ \/(config\\.inc\\.php|README|LICENSE|ChangeLog|INSTALL\\.txt|setup|sql|doc|examples)$ {\n        deny all;\n    }\n\n    # Gizli dosyalara (.ht* gibi) eri\u015fimi engelle\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n<p><strong>Yap\u0131land\u0131rma A\u00e7\u0131klamas\u0131:<\/strong><br \/>\n*   <code>listen 80;<\/code>: Nginx&#8217;in 80 numaral\u0131 porttan gelen HTTP isteklerini dinlemesini sa\u011flar.<br \/>\n*   <code>server_name your_domain.com;<\/code>: Bu sunucu blo\u011funun hangi alan ad\u0131na yan\u0131t verece\u011fini belirtir.<br \/>\n*   <code>root \/usr\/share\/nginx\/html\/phpmyadmin;<\/code>: phpMyAdmin dosyalar\u0131n\u0131n bulundu\u011fu dizini belirtir.<br \/>\n*   <code>index index.php index.html index.htm;<\/code>: Dizine yap\u0131lan isteklerde hangi dosyalar\u0131n \u00f6ncelikli olarak aranaca\u011f\u0131n\u0131 belirtir.<br \/>\n*   <code>location \/ { ... }<\/code>: T\u00fcm istekleri i\u015fler ve dosya bulunamazsa 404 hatas\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <code>location ~ \\.php$ { ... }<\/code>: <code>.php<\/code> uzant\u0131l\u0131 t\u00fcm istekleri PHP-FPM&#8217;e y\u00f6nlendirir. <code>fastcgi_pass<\/code> ile PHP-FPM soketine ba\u011flant\u0131 kurar.<br \/>\n*   <code>location ~ \/(config\\.inc\\.php|...) { deny all; }<\/code>: Bu \u00f6nemli g\u00fcvenlik blo\u011fu, phpMyAdmin&#8217;in yap\u0131land\u0131rma dosyalar\u0131, belgeler ve kurulum dosyalar\u0131 gibi hassas dosyalara do\u011frudan web eri\u015fimini engeller.<br \/>\n*   <code>location ~ \/\\.ht { deny all; }<\/code>: Apache&#8217;den kalan <code>.htaccess<\/code> gibi gizli dosyalara eri\u015fimi engeller (Nginx <code>.htaccess<\/code> kullanmaz, ancak bu bir g\u00fcvenlik \u00f6nlemidir).<\/p>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<p>Nginx yap\u0131land\u0131rman\u0131z\u0131n s\u00f6zdizimi a\u00e7\u0131s\u0131ndan do\u011fru oldu\u011funu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer <code>syntax is ok<\/code> ve <code>test is successful<\/code> mesajlar\u0131n\u0131 g\u00f6r\u00fcrseniz, Nginx&#8217;i yeniden y\u00fckleyerek yeni yap\u0131land\u0131rmay\u0131 etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<p>\u015eimdi bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve <code>http:\/\/your_domain.com<\/code> (veya sunucunuzun IP adresi) adresine giderek phpMyAdmin giri\u015f sayfas\u0131n\u0131 g\u00f6rmelisiniz. MariaDB&#8217;ye olu\u015fturdu\u011funuz <code>pmauser<\/code> veya ba\u015fka bir veritaban\u0131 kullan\u0131c\u0131s\u0131 ile giri\u015f yapabilirsiniz.<\/p>\n<h2>phpMyAdmin G\u00fcvenli\u011fini Sa\u011flama<\/h2>\n<p>phpMyAdmin, veritabanlar\u0131n\u0131za do\u011frudan eri\u015fim sa\u011flad\u0131\u011f\u0131 i\u00e7in potansiyel bir g\u00fcvenlik riskidir. Kurulumdan sonra, uygulaman\u0131z\u0131 ve veritabanlar\u0131n\u0131z\u0131 yetkisiz eri\u015fimden korumak i\u00e7in ek g\u00fcvenlik \u00f6nlemleri alman\u0131z kritik \u00f6neme sahiptir.<\/p>\n<h3>1. phpMyAdmin URL&#8217;sini De\u011fi\u015ftirme<\/h3>\n<p>Varsay\u0131lan olarak <code>your_domain.com\/phpmyadmin<\/code> gibi kolay tahmin edilebilir bir URL \u00fczerinden eri\u015filebilir olmas\u0131, sald\u0131rganlar\u0131n hedefi olman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r. URL&#8217;yi daha karma\u015f\u0131k ve tahmin edilemez bir isimle de\u011fi\u015ftirmek, &#8220;security by obscurity&#8221; (belirsizlik yoluyla g\u00fcvenlik) sa\u011flasa da, ilk savunma hatt\u0131 olarak faydal\u0131d\u0131r.<\/p>\n<p>phpMyAdmin dizininin ad\u0131n\u0131 de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo mv \/usr\/share\/nginx\/html\/phpmyadmin \/usr\/share\/nginx\/html\/my_secret_pma_dashboard<\/code><\/pre>\n<p><code>my_secret_pma_dashboard<\/code> yerine kendi se\u00e7ti\u011finiz karma\u015f\u0131k bir isim kullan\u0131n.<\/p>\n<p>Ard\u0131ndan, Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>\/etc\/nginx\/conf.d\/phpmyadmin.conf<\/code>) a\u00e7\u0131n ve <code>root<\/code> y\u00f6nergesini yeni dizin ad\u0131n\u0131 g\u00f6sterecek \u015fekilde g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-nginx\">root \/usr\/share\/nginx\/html\/my_secret_pma_dashboard;<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<p>Art\u0131k phpMyAdmin&#8217;e yeni URL&#8217;den (<code>http:\/\/your_domain.com\/my_secret_pma_dashboard<\/code>) eri\u015febilirsiniz.<\/p>\n<h3>2. Nginx ile Temel Kimlik Do\u011frulama (Basic Authentication)<\/h3>\n<p>Nginx&#8217;in kendi temel kimlik do\u011frulama \u00f6zelli\u011fini kullanarak phpMyAdmin&#8217;e eri\u015fimi daha da k\u0131s\u0131tlayabilirsiniz. Bu, phpMyAdmin&#8217;in kendi giri\u015f ekran\u0131ndan \u00f6nce bir Nginx kullan\u0131c\u0131 ad\u0131\/parola istemi g\u00f6sterir.<\/p>\n<p>\u0130lk olarak, <code>httpd-tools<\/code> paketini y\u00fckleyerek <code>htpasswd<\/code> arac\u0131n\u0131 edinin:<\/p>\n<pre><code class=\"language-bash\">sudo yum install httpd-tools -y<\/code><\/pre>\n<p>Ard\u0131ndan, phpMyAdmin i\u00e7in bir kullan\u0131c\u0131 ad\u0131 ve parola olu\u015fturun. Parola dosyas\u0131n\u0131 <code>\/etc\/nginx\/.htpasswd_phpmyadmin<\/code> gibi g\u00fcvenli bir yere kaydedin:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/nginx\/.htpasswd_phpmyadmin pmaadmin<\/code><\/pre>\n<p><code>pmaadmin<\/code> yerine istedi\u011finiz bir kullan\u0131c\u0131 ad\u0131n\u0131 kullanabilirsiniz. Komut, sizden yeni bir parola girmenizi isteyecektir.<\/p>\n<p>\u015eimdi Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>\/etc\/nginx\/conf.d\/phpmyadmin.conf<\/code>) a\u00e7\u0131n ve <code>server<\/code> blo\u011funun i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-nginx\">location \/ {\n        # ... di\u011fer ayarlar ...\n        auth_basic \"Restricted Access\";\n        auth_basic_user_file \/etc\/nginx\/.htpasswd_phpmyadmin;\n    }<\/code><\/pre>\n<p>Bu ayarlar, <code>\/<\/code> konumuna yap\u0131lan t\u00fcm istekler i\u00e7in temel kimlik do\u011frulamas\u0131n\u0131 etkinle\u015ftirir. phpMyAdmin&#8217;e eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda, \u00f6nce bu Nginx kimlik do\u011frulama penceresini g\u00f6receksiniz.<\/p>\n<p>Dosyay\u0131 kaydedin ve Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<h3>3. IP Adresi K\u0131s\u0131tlamas\u0131<\/h3>\n<p>E\u011fer phpMyAdmin&#8217;e sadece belirli IP adreslerinden eri\u015fmeniz gerekiyorsa, Nginx yap\u0131land\u0131rman\u0131za IP tabanl\u0131 k\u0131s\u0131tlamalar ekleyebilirsiniz. Bu, sadece izin verilen IP adreslerinden gelen ba\u011flant\u0131lara izin verirken, di\u011fer t\u00fcm ba\u011flant\u0131lar\u0131 engeller.<\/p>\n<p>Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>\/etc\/nginx\/conf.d\/phpmyadmin.conf<\/code>) a\u00e7\u0131n ve <code>server<\/code> blo\u011funun i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (tercihen <code>location \/<\/code> blo\u011funun i\u00e7ine):<\/p>\n<pre><code class=\"language-nginx\">location \/ {\n        # ... di\u011fer ayarlar ...\n        allow YOUR_IP_ADDRESS; # Kendi IP adresinizi buraya yaz\u0131n\n        deny all;              # Di\u011fer t\u00fcm IP adreslerini engelle\n    }<\/code><\/pre>\n<p>Birden fazla IP adresine izin vermek i\u00e7in her biri i\u00e7in ayr\u0131 bir <code>allow<\/code> sat\u0131r\u0131 kullanabilirsiniz.<\/p>\n<pre><code class=\"language-nginx\">location \/ {\n        allow 192.168.1.100; # Ofis IP adresiniz\n        allow 203.0.113.50;  # Ev IP adresiniz\n        deny all;\n    }<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<h3>4. SSL\/TLS Kullan\u0131m\u0131 (HTTPS)<\/h3>\n<p>phpMyAdmin&#8217;e eri\u015fimi her zaman HTTPS \u00fczerinden sa\u011flamak zorunludur. Bu, veritaban\u0131 kullan\u0131c\u0131 adlar\u0131, parolalar\u0131 ve veritaban\u0131 i\u00e7eri\u011fi gibi hassas verilerin a\u011f \u00fczerinden \u015fifrelenmesini sa\u011flar. Let&#8217;s Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan pop\u00fcler bir sertifika yetkilisidir.<\/p>\n<p>CentOS 7 \u00fczerinde Let&#8217;s Encrypt (Certbot arac\u0131l\u0131\u011f\u0131yla) kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<pre><code class=\"language-bash\">sudo yum install certbot python2-certbot-nginx -y<\/code><\/pre>\n<p>Ard\u0131ndan, Nginx i\u00e7in bir sertifika al\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d your_domain.com<\/code><\/pre>\n<p><code>your_domain.com<\/code> yerine phpMyAdmin&#8217;e eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z alan ad\u0131n\u0131 yaz\u0131n. Certbot, sizden e-posta adresi girmenizi ve hizmet ko\u015fullar\u0131n\u0131 kabul etmenizi isteyecektir. Ba\u015far\u0131l\u0131 olursa, Nginx yap\u0131land\u0131rma dosyan\u0131z\u0131 otomatik olarak HTTPS&#8217;ye y\u00f6nlendirme ve SSL ayarlar\u0131n\u0131 i\u00e7erecek \u015fekilde g\u00fcncelleyecektir.<\/p>\n<p>Bu i\u015flemden sonra Nginx yap\u0131land\u0131rma dosyan\u0131z a\u015fa\u011f\u0131daki gibi g\u00f6r\u00fcnecektir (Certbot taraf\u0131ndan otomatik olarak eklenen k\u0131s\u0131mlar):<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 443 ssl; # HTTPS i\u00e7in 443 portunu dinle\n    server_name your_domain.com;\n\n    ssl_certificate \/etc\/letsencrypt\/live\/your_domain.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/your_domain.com\/privkey.pem;\n    include \/etc\/letsencrypt\/options-ssl-nginx.conf;\n    ssl_dhparam \/etc\/letsencrypt\/ssl-dhparams.pem;\n\n    root \/usr\/share\/nginx\/html\/my_secret_pma_dashboard; # Yeni dizin ad\u0131n\u0131z\n    index index.php index.html index.htm;\n\n    # ... di\u011fer location bloklar\u0131 ve g\u00fcvenlik ayarlar\u0131 ...\n}\n\nserver {\n    listen 80;\n    server_name your_domain.com;\n    return 301 https:\/\/$host$request_uri; # HTTP isteklerini HTTPS'ye y\u00f6nlendir\n}<\/code><\/pre>\n<p>Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<p>Art\u0131k phpMyAdmin&#8217;e <code>https:\/\/your_domain.com\/my_secret_pma_dashboard<\/code> adresinden g\u00fcvenli bir \u015fekilde eri\u015fmelisiniz.<\/p>\n<h3>5. phpMyAdmin Yap\u0131land\u0131rma Dosyas\u0131 G\u00fcvenli\u011fi<\/h3>\n<p><code>config.inc.php<\/code> dosyas\u0131, hassas bilgileri (blowfish secret gibi) i\u00e7erir. Bu dosyan\u0131n izinlerini k\u0131s\u0131tlayarak sadece Nginx kullan\u0131c\u0131s\u0131n\u0131n okuyabilmesini sa\u011flamak \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo chmod 600 \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/config.inc.php\nsudo chown nginx:nginx \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/config.inc.php<\/code><\/pre>\n<p>Ayr\u0131ca, Nginx yap\u0131land\u0131rmas\u0131na zaten ekledi\u011fimiz gibi, bu dosyan\u0131n web \u00fczerinden do\u011frudan eri\u015fimini tamamen engellemek \u00f6nemlidir:<\/p>\n<pre><code class=\"language-nginx\">location ~ \/(config\\.inc\\.php|README|LICENSE|ChangeLog|INSTALL\\.txt|setup|sql|doc|examples)$ {\n        deny all;\n    }<\/code><\/pre>\n<h3>6. Gereksiz Dosyalar\u0131 Kald\u0131rma<\/h3>\n<p>phpMyAdmin kurulumu, belgeler, \u00f6rnekler ve kurulum betikleri gibi baz\u0131 gereksiz dosyalar i\u00e7erebilir. Bunlar potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 yaratabilir veya gereksiz bilgiler sa\u011flayabilir.<\/p>\n<p><code>setup<\/code>, <code>examples<\/code>, <code>doc<\/code> ve <code>sql<\/code> dizinlerini kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/setup\/\nsudo rm -rf \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/examples\/\nsudo rm -rf \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/doc\/\nsudo rm -rf \/usr\/share\/nginx\/html\/my_secret_pma_dashboard\/sql\/<\/code><\/pre>\n<p>Ayr\u0131ca, <code>README<\/code>, <code>LICENSE<\/code>, <code>ChangeLog<\/code>, <code>INSTALL.txt<\/code> gibi dosyalar\u0131 da kald\u0131rabilirsiniz.<\/p>\n<h3>7. SELinux Ayarlar\u0131<\/h3>\n<p>CentOS&#8217;ta SELinux (Security-Enhanced Linux) varsay\u0131lan olarak etkindir ve g\u00fcvenlik i\u00e7in ek bir katman sa\u011flar. E\u011fer phpMyAdmin&#8217;e veya veritaban\u0131na eri\u015fimde sorun ya\u015f\u0131yorsan\u0131z, SELinux politikalar\u0131n\u0131 ayarlaman\u0131z gerekebilir.<\/p>\n<p>phpMyAdmin dosyalar\u0131n\u0131n Nginx taraf\u0131ndan do\u011fru ba\u011flamda sunuldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo semanage fcontext -a -t httpd_sys_content_t \"\/usr\/share\/nginx\/html\/my_secret_pma_dashboard(\/.*)?\"\nsudo restorecon -Rv \/usr\/share\/nginx\/html\/my_secret_pma_dashboard<\/code><\/pre>\n<p>E\u011fer phpMyAdmin, MariaDB\/MySQL&#8217;e ba\u011flan\u0131rken SELinux&#8217;tan kaynaklanan bir izin hatas\u0131 verirse (genellikle <code>Can't connect to local MySQL server through socket<\/code> hatas\u0131), Nginx&#8217;in a\u011f ba\u011flant\u0131s\u0131 kurmas\u0131na izin vermeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo setsebool -P httpd_can_network_connect_db on<\/code><\/pre>\n<p>Bu komut, Nginx&#8217;in veritaban\u0131 sunucusuna a\u011f \u00fczerinden ba\u011flanmas\u0131na izin verir. <code>httpd_can_connect_php<\/code> boolean&#8217;\u0131 da PHP-FPM ile ileti\u015fim sorunlar\u0131 ya\u015fan\u0131rsa kontrol edilebilir, ancak PHP-FPM soketi genellikle <code>nginx<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in bu nadiren bir sorun olur.<\/p>\n<h3>8. G\u00fcncel Kalma<\/h3>\n<p>Yaz\u0131l\u0131m g\u00fcncellemeleri, g\u00fcvenlik yamalar\u0131 ve hata d\u00fczeltmeleri i\u00e7erir. phpMyAdmin, Nginx, PHP ve MariaDB\/MySQL&#8217;i d\u00fczenli olarak g\u00fcncel tutmak, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 korunman\u0131n en temel ve en \u00f6nemli yoludur.<\/p>\n<p>Sistem paketlerini d\u00fczenli olarak g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y<\/code><\/pre>\n<p>phpMyAdmin&#8217;in yeni s\u00fcr\u00fcmleri \u00e7\u0131kt\u0131\u011f\u0131nda, yukar\u0131daki kurulum ad\u0131mlar\u0131n\u0131 takip ederek (yeni dosyalar\u0131 indirip mevcut dizine ta\u015f\u0131yarak ve izinleri ayarlayarak) manuel olarak g\u00fcncellemeniz gerekebilir. Her zaman en son kararl\u0131 s\u00fcr\u00fcm\u00fc kullanmaya \u00f6zen g\u00f6sterin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, CentOS 7 sunucusu \u00fczerinde Nginx ile phpMyAdmin&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak ele ald\u0131k. Ad\u0131m ad\u0131m kurulum s\u00fcrecinden, MariaDB, PHP-FPM ve Nginx yap\u0131land\u0131rmalar\u0131na kadar her bir a\u015famay\u0131 titizlikle inceledik. phpMyAdmin&#8217;in ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7al\u0131\u015f\u0131r duruma getirilmesinin ard\u0131ndan, uygulaman\u0131z\u0131 ve veritabanlar\u0131n\u0131z\u0131 olas\u0131 sald\u0131r\u0131lardan korumak i\u00e7in bir dizi kritik g\u00fcvenlik \u00f6nlemi \u00fczerinde durduk.<\/p>\n<p>\u00d6zetle, phpMyAdmin kurulumunuzun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in \u015fu temel ad\u0131mlar\u0131 izlemelisiniz:<\/p>\n<p>*   <strong>URL&#8217;yi Gizleme:<\/strong> phpMyAdmin dizin ad\u0131n\u0131 tahmin edilemez bir isimle de\u011fi\u015ftirerek ilk savunma hatt\u0131n\u0131 olu\u015fturun.<br \/>\n*   <strong>Temel Kimlik Do\u011frulama:<\/strong> Nginx&#8217;in kendi temel kimlik do\u011frulama mekanizmas\u0131n\u0131 kullanarak ek bir parola katman\u0131 ekleyin.<br \/>\n*   <strong>IP K\u0131s\u0131tlamas\u0131:<\/strong> Yaln\u0131zca belirli, g\u00fcvenilir IP adreslerinden eri\u015fime izin vererek yetkisiz eri\u015fimi \u00f6nleyin.<br \/>\n*   <strong>HTTPS Kullan\u0131m\u0131:<\/strong> Let&#8217;s Encrypt gibi ara\u00e7larla SSL\/TLS sertifikalar\u0131 kullanarak t\u00fcm trafi\u011fi \u015fifreleyin.<br \/>\n*   <strong>Dosya \u0130zinleri ve Eri\u015fimi:<\/strong> Hassas yap\u0131land\u0131rma dosyalar\u0131n\u0131n izinlerini k\u0131s\u0131tlay\u0131n ve web \u00fczerinden do\u011frudan eri\u015fimi engelleyin.<br \/>\n*   <strong>Gereksiz Dosyalar\u0131 Kald\u0131rma:<\/strong> Kurulumla gelen ve g\u00fcvenlik riski olu\u015fturabilecek gereksiz dosyalar\u0131 temizleyin.<br \/>\n*   <strong>SELinux Yap\u0131land\u0131rmas\u0131:<\/strong> Gerekirse SELinux politikalar\u0131n\u0131 d\u00fczenleyerek sistem g\u00fcvenli\u011fini art\u0131r\u0131n.<br \/>\n*   <strong>D\u00fczenli G\u00fcncellemeler:<\/strong> T\u00fcm yaz\u0131l\u0131m bile\u015fenlerini (phpMyAdmin, Nginx, PHP, MariaDB) d\u00fczenli olarak g\u00fcncelleyerek bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 korunun.<\/p>\n<p>Bu kapsaml\u0131 rehber sayesinde, CentOS 7 sunucunuzda Nginx ile phpMyAdmin&#8217;i hem i\u015flevsel hem de g\u00fcvenli bir \u015fekilde kullanmaya ba\u015flayabilirsiniz. Unutmay\u0131n ki g\u00fcvenlik, s\u00fcrekli bir s\u00fcre\u00e7tir ve en iyi uygulamalar\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irmek ve uygulamak hayati \u00f6nem ta\u015f\u0131r. Veritaban\u0131 y\u00f6netiminizde ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama\nGiri\u015f\nVeritaban\u0131 y\u00f6netimi, modern web uygulamalar\u0131n\u0131n ve sunucu altya","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-39306","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>phpMyAdmin&#039;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama - 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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"phpMyAdmin&#039;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama\" \/>\n<meta property=\"og:description\" content=\"phpMyAdmin&#039;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama Giri\u015f Veritaban\u0131 y\u00f6netimi, modern web uygulamalar\u0131n\u0131n ve sunucu altya\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-18T12:40:56+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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama\",\"datePublished\":\"2026-02-18T12:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\"},\"wordCount\":3205,\"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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\",\"name\":\"phpMyAdmin'i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-18T12:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama\"}]},{\"@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":"phpMyAdmin'i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama - 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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/","og_locale":"tr_TR","og_type":"article","og_title":"phpMyAdmin'i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama","og_description":"phpMyAdmin'i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama Giri\u015f Veritaban\u0131 y\u00f6netimi, modern web uygulamalar\u0131n\u0131n ve sunucu altya","og_url":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-18T12:40:56+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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama","datePublished":"2026-02-18T12:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/"},"wordCount":3205,"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\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/","url":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/","name":"phpMyAdmin'i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-18T12:40:56+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/phpmyadmini-nginx-ile-centos-7-sunucusuna-kurma-ve-guvenligini-saglama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"phpMyAdmin&#8217;i Nginx ile CentOS 7 Sunucusuna Kurma ve G\u00fcvenli\u011fini Sa\u011flama"}]},{"@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\/39306","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=39306"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39306\/revisions"}],"predecessor-version":[{"id":39307,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39306\/revisions\/39307"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}