{"id":31380,"date":"2025-10-09T08:41:31","date_gmt":"2025-10-09T05:41:31","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31380"},"modified":"2025-10-09T08:41:31","modified_gmt":"2025-10-09T05:41:31","slug":"on-gereksinimler-ve-sistem-guncelleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/","title":{"rendered":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme"},"content":{"rendered":"<p><body><\/p>\n<p>Bu rehber, FreeBSD 12.0 i\u015fletim sistemi \u00fczerinde bir FAMP (FreeBSD, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131 kurmak ve yap\u0131land\u0131rmak isteyen kullan\u0131c\u0131lar i\u00e7in tasarlanm\u0131\u015ft\u0131r. FAMP, dinamik web siteleri ve uygulamalar\u0131 bar\u0131nd\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir platform sa\u011flar. Apache web sunucusu, MySQL veritaban\u0131 ve PHP betik dili kombinasyonu, d\u00fcnya genelinde milyonlarca web sitesinin temelini olu\u015fturmaktad\u0131r. Bu k\u0131lavuzda, her bir bile\u015fenin ad\u0131m ad\u0131m nas\u0131l kurulaca\u011f\u0131n\u0131 ve birbirleriyle entegre edilece\u011fini ayr\u0131nt\u0131l\u0131 olarak ele alaca\u011f\u0131z.<\/p>\n<h2>\u00d6n Gereksinimler ve Sistem G\u00fcncelleme<\/h2>\n<p>FAMP y\u0131\u011f\u0131n\u0131n\u0131 kurmaya ba\u015flamadan \u00f6nce, FreeBSD 12.0 kurulu ve \u00e7al\u0131\u015fan bir sisteminizin olmas\u0131 gerekmektedir. \u0130nternet ba\u011flant\u0131s\u0131 da paketleri indirmek i\u00e7in zorunludur. Kurulum s\u00fcrecini sorunsuz tamamlamak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulayarak sisteminizi g\u00fcncelleyelim ve gerekli temel ara\u00e7lar\u0131 kontrol edelim.<\/p>\n<h3>Paket Y\u00f6neticisi Kontrol\u00fc ve Sistem G\u00fcncellemesi<\/h3>\n<p>FreeBSD&#8217;de yaz\u0131l\u0131m kurulumu i\u00e7in genellikle <code>pkg<\/code> (paket y\u00f6neticisi) kullan\u0131l\u0131r. E\u011fer <code>pkg<\/code> sisteminizde kurulu de\u011filse, ilk kez bir paket kurmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda sistem size otomatik olarak kurmay\u0131 teklif edecektir. Bunu kabul edebilirsiniz. Daha sonra, paket listelerini g\u00fcncelleyip mevcut paketleri y\u00fckselterek sisteminizi en yeni s\u00fcr\u00fcme getirelim:<\/p>\n<pre><code class=\"language-bash\">sudo pkg update\nsudo pkg upgrade -y\n<\/code><\/pre>\n<p>Bu komutlar, sisteminizdeki t\u00fcm kurulu paketleri g\u00fcncelleyecektir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermenizi sa\u011flar. Bu i\u015flem biraz zaman alabilir.<\/p>\n<h2>Apache Web Sunucusu Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Apache HTTP Sunucusu, d\u00fcnyan\u0131n en pop\u00fcler web sunucular\u0131ndan biridir. Web sitenizin i\u00e7eri\u011fini ziyaret\u00e7ilere sunmaktan sorumludur. FreeBSD 12.0 \u00fczerinde Apache 2.4 s\u00fcr\u00fcm\u00fcn\u00fc kuraca\u011f\u0131z.<\/p>\n<h3>Apache Kurulumu<\/h3>\n<p>Apache&#8217;yi kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo pkg install apache24 -y\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Apache servisinin sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamal\u0131 ve servisi ba\u015flatmal\u0131y\u0131z. Bunun i\u00e7in <code>sysrc<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo sysrc apache24_enable=\"YES\"\nsudo service apache24 start\n<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131n ard\u0131ndan Apache web sunucusu \u00e7al\u0131\u015f\u0131r durumda olmal\u0131d\u0131r. Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131p sunucunuzun IP adresini veya alan ad\u0131n\u0131 yazarak test edebilirsiniz (\u00f6rn: <code>http:\/\/sunucu_ip_adresiniz<\/code>). E\u011fer &#8220;It works!&#8221; yazan bir sayfa g\u00f6r\u00fcyorsan\u0131z, Apache ba\u015far\u0131yla kurulmu\u015f demektir.<\/p>\n<h3>Temel Apache Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 <code>\/usr\/local\/etc\/apache24\/httpd.conf<\/code> konumundad\u0131r. Bu dosyada baz\u0131 temel de\u011fi\u015fiklikler yapmam\u0131z gerekecek.<\/p>\n<p>Bir metin d\u00fczenleyici ile dosyay\u0131 a\u00e7\u0131n (\u00f6rn: <code>ee<\/code> veya <code>nano<\/code>):<\/p>\n<pre><code class=\"language-bash\">sudo ee \/usr\/local\/etc\/apache24\/httpd.conf\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulup d\u00fczenleyin veya ekleyin:<\/p>\n<ol>\n<li><strong>ServerName:<\/strong> Genellikle yorum sat\u0131r\u0131 (<code>#<\/code> ile ba\u015flayan) olarak gelir. Kendi sunucunuzun IP adresini veya alan ad\u0131n\u0131 buraya yaz\u0131n.<\/li>\n<pre><code class=\"language-apache\">#ServerName www.example.com:80\nServerName sunucu_ip_adresiniz_veya_alan_adiniz:80\n<\/code><\/pre>\n<li><strong>DirectoryIndex:<\/strong> PHP dosyalar\u0131n\u0131n varsay\u0131lan olarak y\u00fcklenmesini sa\u011flamak i\u00e7in <code>index.php<\/code>&#8216;yi ekleyin.<\/li>\n<pre><code class=\"language-apache\">#\n<h2>DirectoryIndex: sets the default directory index for a directory<\/h2>\n<h2><IfModule dir_module><\/h2>\n    DirectoryIndex index.php index.html\n<\/IfModule>\n<\/code><\/pre>\n<li><strong>AllowOverride:<\/strong> <code>.htaccess<\/code> dosyalar\u0131n\u0131n kullan\u0131lmas\u0131na izin vermek i\u00e7in <code>AllowOverride None<\/code> yerine <code>AllowOverride All<\/code> yap\u0131n. Bu, genellikle web uygulamalar\u0131 i\u00e7in gereklidir.<\/li>\n<pre><code class=\"language-apache\"><Directory \"\/usr\/local\/www\/apache24\/data\">\n    Options Indexes FollowSymLinks\n    AllowOverride All\n    Require all granted\n<\/Directory>\n<\/code><\/pre>\n<\/ol>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra Apache servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service apache24 restart\n<\/code><\/pre>\n<p><strong>Pratik Bilgi:<\/strong> Varsay\u0131lan web k\u00f6k dizini <code>\/usr\/local\/www\/apache24\/data<\/code>&#8216;d\u0131r. T\u00fcm web sitenizin dosyalar\u0131n\u0131 bu dizine veya sanal host yap\u0131land\u0131rmas\u0131 ile belirleyece\u011finiz ba\u015fka bir dizine y\u00fckleyeceksiniz.<\/p>\n<h2>MySQL Veritaban\u0131 Sunucusu Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>MySQL, a\u00e7\u0131k kaynakl\u0131 ve yayg\u0131n olarak kullan\u0131lan bir ili\u015fkisel veritaban\u0131 y\u00f6netim sistemidir. Web uygulamalar\u0131n\u0131z\u0131n verilerini depolamak i\u00e7in kullan\u0131lacakt\u0131r.<\/p>\n<h3>MySQL Kurulumu<\/h3>\n<p>MySQL&#8217;in belirli bir s\u00fcr\u00fcm\u00fcn\u00fc kurmak isteyebilirsiniz (\u00f6rn: <code>mysql80-server<\/code> veya <code>mysql57-server<\/code>). Bu rehberde <code>mysql80-server<\/code> s\u00fcr\u00fcm\u00fcn\u00fc kullanaca\u011f\u0131z. Mevcut s\u00fcr\u00fcmleri <code>pkg search mysql-server<\/code> komutu ile kontrol edebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo pkg install mysql80-server -y\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, MySQL servisinin sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamal\u0131 ve servisi ba\u015flatmal\u0131y\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo sysrc mysql_enable=\"YES\"\nsudo service mysql-server start\n<\/code><\/pre>\n<h3>MySQL G\u00fcvenli Kurulumu<\/h3>\n<p>Yeni kurulan bir MySQL sunucusunun g\u00fcvenlik yap\u0131land\u0131rmas\u0131n\u0131 yapmak \u00e7ok \u00f6nemlidir. <code>mysql_secure_installation<\/code> beti\u011fi, root \u015fifresi belirleme, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rma, uzaktan root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakma ve test veritaban\u0131n\u0131 silme gibi ad\u0131mlarda size yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation\n<\/code><\/pre>\n<p>Bu betik size \u00e7e\u015fitli sorular soracakt\u0131r:<\/p>\n<ul>\n<li><code>VALIDATE PASSWORD COMPONENT<\/code> kurmak isteyip istemedi\u011finizi soracak. Bu, g\u00fc\u00e7l\u00fc \u015fifreler zorunlu k\u0131lar. \u0130sterseniz &#8220;y&#8221; (yes) diyerek kurabilirsiniz, istemezseniz &#8220;n&#8221; (no) diyebilirsiniz. E\u011fer kurarsan\u0131z, bir \u015fifre g\u00fcc\u00fc seviyesi se\u00e7meniz istenecektir.<\/li>\n<li><code>Set root password? [Y\/n]<\/code> (Root \u015fifresi belirle?) -> <code>Y<\/code> se\u00e7ip g\u00fc\u00e7l\u00fc bir \u015fifre belirleyin.<\/li>\n<li><code>Remove anonymous users? [Y\/n]<\/code> (Anonim kullan\u0131c\u0131lar\u0131 kald\u0131r?) -> <code>Y<\/code><\/li>\n<li><code>Disallow root login remotely? [Y\/n]<\/code> (Root&#8217;un uzaktan giri\u015f yapmas\u0131n\u0131 engelle?) -> <code>Y<\/code> (Genellikle g\u00fcvenlik i\u00e7in \u00f6nerilir, root kullan\u0131c\u0131s\u0131n\u0131n sadece localhost&#8217;tan ba\u011flanmas\u0131na izin verir.)<\/li>\n<li><code>Remove test database and access to it? [Y\/n]<\/code> (Test veritaban\u0131n\u0131 ve eri\u015fimini kald\u0131r?) -> <code>Y<\/code><\/li>\n<li><code>Reload privilege tables now? [Y\/n]<\/code> (Yetki tablolar\u0131n\u0131 \u015fimdi yeniden y\u00fckle?) -> <code>Y<\/code><\/li>\n<\/ul>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra MySQL sunucunuz daha g\u00fcvenli bir \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015f olacakt\u0131r.<\/p>\n<p><strong>Pratik Bilgi:<\/strong> MySQL&#8217;e root kullan\u0131c\u0131s\u0131 olarak ba\u011flanmak i\u00e7in <code>mysql -u root -p<\/code> komutunu kullanabilirsiniz. Ard\u0131ndan belirledi\u011finiz \u015fifreyi girmeniz istenecektir. Veritaban\u0131 olu\u015fturma, kullan\u0131c\u0131 y\u00f6netimi gibi i\u015flemler i\u00e7in SQL komutlar\u0131n\u0131 burada \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h2>PHP Kurulumu ve Apache ile Entegrasyonu<\/h2>\n<p>PHP (Hypertext Preprocessor), dinamik web i\u00e7eri\u011fi olu\u015fturmak i\u00e7in yayg\u0131n olarak kullan\u0131lan bir betik dilidir. Apache ile entegre edilerek web uygulamalar\u0131n\u0131z\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>PHP ve Gerekli Mod\u00fcllerin Kurulumu<\/h3>\n<p>Bu rehberde PHP 8.0 s\u00fcr\u00fcm\u00fcn\u00fc kuraca\u011f\u0131z. Mevcut s\u00fcr\u00fcmleri <code>pkg search php<\/code> komutu ile kontrol edebilirsiniz. PHP&#8217;nin yan\u0131 s\u0131ra, MySQL ile ileti\u015fim kurmak i\u00e7in <code>php80-mysqli<\/code> veya <code>php80-pdo_mysql<\/code> gibi mod\u00fcllere de ihtiyac\u0131m\u0131z olacak. Ayr\u0131ca, web uygulamalar\u0131 i\u00e7in yayg\u0131n olarak kullan\u0131lan di\u011fer mod\u00fclleri de ekleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo pkg install php80 php80-mysqli php80-pdo_mysql php80-mbstring php80-curl php80-json php80-zip -y\n<\/code><\/pre>\n<p>Bu komut, PHP 8.0&#8217;\u0131 ve belirtilen mod\u00fclleri kuracakt\u0131r.<\/p>\n<h3>PHP Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PHP&#8217;nin yap\u0131land\u0131rma dosyas\u0131 <code>php.ini<\/code>&#8216;dir. Varsay\u0131lan olarak, \u00fcretim ve geli\u015ftirme ortamlar\u0131 i\u00e7in \u00f6rnek dosyalar bulunur. Genellikle \u00fcretim ortam\u0131 i\u00e7in olan\u0131 kopyalar\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/usr\/local\/etc\/php.ini-production \/usr\/local\/etc\/php.ini\n<\/code><\/pre>\n<p>Bu dosyay\u0131 ihtiya\u00e7lar\u0131n\u0131za g\u00f6re d\u00fczenleyebilirsiniz. \u00d6rne\u011fin, <code>upload_max_filesize<\/code> veya <code>memory_limit<\/code> gibi de\u011ferleri de\u011fi\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ee \/usr\/local\/etc\/php.ini\n<\/code><\/pre>\n<h3>Apache ile PHP Entegrasyonu<\/h3>\n<p>PHP&#8217;nin Apache ile \u00e7al\u0131\u015fabilmesi i\u00e7in Apache&#8217;ye PHP mod\u00fcl\u00fcn\u00fc y\u00fcklemesini ve <code>.php<\/code> uzant\u0131l\u0131 dosyalar\u0131 PHP i\u015flemcisiyle i\u015flemesini s\u00f6ylemeliyiz. Bu ayarlar\u0131 Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 olan <code>\/usr\/local\/etc\/apache24\/httpd.conf<\/code> i\u00e7inde yapaca\u011f\u0131z.<\/p>\n<p>Dosyay\u0131 tekrar a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ee \/usr\/local\/etc\/apache24\/httpd.conf\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 dosyan\u0131n sonuna ekleyin veya mevcut sat\u0131rlar\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-apache\"># PHP 8.0 mod\u00fcl\u00fcn\u00fc y\u00fckle\nLoadModule php_module                 libexec\/apache24\/libphp.so\n\n<h2>.php uzant\u0131l\u0131 dosyalar\u0131 PHP ile i\u015fle<\/h2>\n<FilesMatch \"\\.php$\">\n    SetHandler application\/x-httpd-php\n<\/FilesMatch>\n<FilesMatch \"\\.phps$\">\n    SetHandler application\/x-httpd-php-source\n<\/FilesMatch>\n<\/code><\/pre>\n<p>Daha \u00f6nce <code>DirectoryIndex<\/code> sat\u0131r\u0131n\u0131 d\u00fczenlemi\u015ftik (<code>DirectoryIndex index.php index.html<\/code>). Bu, Apache&#8217;nin dizinlere eri\u015fildi\u011finde <code>index.php<\/code> dosyas\u0131n\u0131 \u00f6ncelikli olarak aramas\u0131n\u0131 sa\u011flar.<\/p>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra Apache servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service apache24 restart\n<\/code><\/pre>\n<h3>PHP Kurulumunu Test Etme<\/h3>\n<p>PHP&#8217;nin Apache ile do\u011fru bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in, web k\u00f6k dizininde (varsay\u0131lan olarak <code>\/usr\/local\/www\/apache24\/data<\/code>) basit bir <code>info.php<\/code> dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo ee \/usr\/local\/www\/apache24\/data\/info.php\n<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/p>\n<pre><code class=\"language-php\"><?php\nphpinfo();\n?>\n<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve web taray\u0131c\u0131n\u0131zda <code>http:\/\/sunucu_ip_adresiniz_veya_alan_adiniz\/info.php<\/code> adresine gidin. E\u011fer PHP yap\u0131land\u0131rma bilgilerini i\u00e7eren bir sayfa g\u00f6r\u00fcyorsan\u0131z, FAMP y\u0131\u011f\u0131n\u0131n\u0131z ba\u015far\u0131yla kurulmu\u015f ve \u00e7al\u0131\u015f\u0131r durumda demektir. G\u00fcvenlik nedeniyle, bu <code>info.php<\/code> dosyas\u0131n\u0131 testten sonra silmeyi veya eri\u015fimi k\u0131s\u0131tlamay\u0131 unutmay\u0131n.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, FreeBSD 12.0 \u00fczerinde Apache web sunucusu, MySQL veritaban\u0131 ve PHP betik dilinden olu\u015fan bir FAMP y\u0131\u011f\u0131n\u0131n\u0131 ba\u015far\u0131yla kurdunuz ve yap\u0131land\u0131rd\u0131n\u0131z. Art\u0131k dinamik web siteleri ve uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i\u00e7in sa\u011flam bir temele sahipsiniz. Kurulum sonras\u0131 g\u00fcvenlik \u00f6nlemleri, d\u00fczenli g\u00fcncellemeler ve yedeklemeler web sitenizin ve verilerinizin g\u00fcvenli\u011fi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S: <code>pkg<\/code> komutu bulunamazsa ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: E\u011fer <code>pkg<\/code> komutu bulunamazsa, genellikle ilk kez bir paket kurmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda sistem size otomatik olarak <code>pkg<\/code>&#8216;yi kurmay\u0131 teklif edecektir. Bunu kabul edebilirsiniz. Manuel olarak kurmak isterseniz <code>env PAGER=cat pkg bootstrap<\/code> komutunu kullanabilirsiniz.<\/p>\n<p><strong>S: Hangi PHP\/MySQL s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7meliyim?<\/strong><br \/>\nC: Genellikle en son kararl\u0131 s\u00fcr\u00fcm\u00fc tercih etmek iyi bir yakla\u015f\u0131md\u0131r, \u00e7\u00fcnk\u00fc daha fazla \u00f6zellik, performans iyile\u015ftirmesi ve g\u00fcvenlik d\u00fczeltmeleri i\u00e7erir. Ancak, belirli bir web uygulaman\u0131z varsa, onun gereksinimleriyle uyumlu olan s\u00fcr\u00fcm\u00fc se\u00e7meniz gerekebilir. <code>pkg search php<\/code> ve <code>pkg search mysql-server<\/code> komutlar\u0131 ile mevcut s\u00fcr\u00fcmleri g\u00f6rebilirsiniz.<\/p>\n<p><strong>S: Apache 403 (Forbidden) hatas\u0131 verirse ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: Bu hata genellikle dizin izinleri veya Apache yap\u0131land\u0131rmas\u0131ndaki <code>AllowOverride<\/code> ve <code>Require all granted<\/code> ayarlar\u0131ndan kaynaklan\u0131r. Web k\u00f6k dizininin (<code>\/usr\/local\/www\/apache24\/data<\/code>) ve i\u00e7indeki dosyalar\u0131n Apache kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun. Ayr\u0131ca, <code>httpd.conf<\/code> dosyas\u0131ndaki <code>AllowOverride All<\/code> ve <code>Require all granted<\/code> ayarlar\u0131n\u0131 kontrol edin.<\/p>\n<p><strong>S: <code>mysql_secure_installation<\/code> \u00e7al\u0131\u015fmazsa ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: <code>mysql_secure_installation<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce MySQL servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo service mysql-server status<\/code>). E\u011fer hala sorun ya\u015f\u0131yorsan\u0131z, MySQL loglar\u0131n\u0131 kontrol edebilir veya MySQL root kullan\u0131c\u0131s\u0131na ge\u00e7ici olarak \u015fifresiz eri\u015fim izni verip ard\u0131ndan manuel olarak \u015fifre belirleyebilirsiniz (bu i\u015flem dikkatli yap\u0131lmal\u0131d\u0131r).<\/p>\n<p><strong>S: FAMP bile\u015fenlerini otomatik ba\u015flatmak i\u00e7in ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC: Bu rehberde zaten <code>sudo sysrc apache24_enable=\"YES\"<\/code> ve <code>sudo sysrc mysql_enable=\"YES\"<\/code> komutlar\u0131n\u0131 kullanarak Apache ve MySQL servislerinin sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flad\u0131k. PHP bir Apache mod\u00fcl\u00fc oldu\u011fundan, Apache ba\u015flad\u0131\u011f\u0131nda PHP de otomatik olarak y\u00fcklenecektir.<\/p>\n<p><strong>S: G\u00fcvenlik i\u00e7in ek neler yapabilirim?<\/strong><br \/>\nC:<\/p>\n<ul>\n<li>Bir g\u00fcvenlik duvar\u0131 (\u00f6rn. <code>pf<\/code> veya <code>ipfw<\/code>) kurarak sadece gerekli portlara (80, 443) eri\u015fime izin verin.<\/li>\n<li>SSH ba\u011flant\u0131lar\u0131 i\u00e7in parola yerine SSH anahtarlar\u0131 kullan\u0131n.<\/li>\n<li>PHP&#8217;nin <code>php.ini<\/code> dosyas\u0131nda <code>expose_php = Off<\/code> ayar\u0131n\u0131 yaparak PHP s\u00fcr\u00fcm bilgisinin web sunucusu ba\u015fl\u0131klar\u0131nda g\u00f6r\u00fcnmesini engelleyin.<\/li>\n<li>MySQL veritaban\u0131 kullan\u0131c\u0131lar\u0131 i\u00e7in en az ayr\u0131cal\u0131k prensibini uygulay\u0131n.<\/li>\n<li>D\u00fczenli olarak sistem ve paket g\u00fcncellemelerini yap\u0131n.<\/li>\n<li>Web uygulamalar\u0131n\u0131z\u0131n (WordPress, Joomla vb.) g\u00fcncel oldu\u011fundan emin olun.<\/li>\n<li>SSL\/TLS sertifikas\u0131 (Let&#8217;s Encrypt gibi) kullanarak HTTPS&#8217;i etkinle\u015ftirin.<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Bu rehber, FreeBSD 12.0 i\u015fletim sistemi \u00fczerinde bir FAMP (FreeBSD, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131 kurmak ve yap\u0131land\u0131rmak isteyen kullan\u0131c\u0131lar","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-31380","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00d6n Gereksinimler ve Sistem G\u00fcncelleme - 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\/on-gereksinimler-ve-sistem-guncelleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme\" \/>\n<meta property=\"og:description\" content=\"Bu rehber, FreeBSD 12.0 i\u015fletim sistemi \u00fczerinde bir FAMP (FreeBSD, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131 kurmak ve yap\u0131land\u0131rmak isteyen kullan\u0131c\u0131lar\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-09T05:41:31+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=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme\",\"datePublished\":\"2025-10-09T05:41:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\"},\"wordCount\":1661,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\",\"name\":\"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-09T05:41:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme\"}]},{\"@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":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme - 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\/on-gereksinimler-ve-sistem-guncelleme\/","og_locale":"tr_TR","og_type":"article","og_title":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme","og_description":"Bu rehber, FreeBSD 12.0 i\u015fletim sistemi \u00fczerinde bir FAMP (FreeBSD, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131 kurmak ve yap\u0131land\u0131rmak isteyen kullan\u0131c\u0131lar","og_url":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-09T05:41:31+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme","datePublished":"2025-10-09T05:41:31+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/"},"wordCount":1661,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/","url":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/","name":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-09T05:41:31+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/on-gereksinimler-ve-sistem-guncelleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u00d6n Gereksinimler ve Sistem G\u00fcncelleme"}]},{"@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\/31380","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=31380"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31380\/revisions"}],"predecessor-version":[{"id":31381,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31380\/revisions\/31381"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}