{"id":34617,"date":"2025-11-19T21:40:51","date_gmt":"2025-11-19T18:40:51","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34617"},"modified":"2025-11-19T21:40:51","modified_gmt":"2025-11-19T18:40:51","slug":"debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/","title":{"rendered":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu<\/h2>\n<p>LAMP y\u0131\u011f\u0131n\u0131 (Linux, Apache, MariaDB, PHP), dinamik web siteleri ve web uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i\u00e7in d\u00fcnya genelinde en pop\u00fcler ve sa\u011flam a\u00e7\u0131k kaynakl\u0131 \u00e7\u00f6z\u00fcmlerden biridir. Bu teknoloji y\u0131\u011f\u0131n\u0131, \u00f6zellikle PHP tabanl\u0131 i\u00e7erik y\u00f6netim sistemleri (CMS) ve \u00f6zel web uygulamalar\u0131 i\u00e7in bir temel olu\u015fturur. Bu kapsaml\u0131 makalede, Debian 11 &#8220;Bullseye&#8221; i\u015fletim sistemi \u00fczerine LAMP y\u0131\u011f\u0131n\u0131n\u0131n her bir bile\u015fenini ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>Debian, kararl\u0131l\u0131\u011f\u0131, g\u00fcvenilirli\u011fi ve geni\u015f paket deposu sayesinde sunucu ortamlar\u0131 i\u00e7in m\u00fckemmel bir se\u00e7imdir. LAMP y\u0131\u011f\u0131n\u0131, bu g\u00fc\u00e7l\u00fc temel \u00fczerine in\u015fa edilerek y\u00fcksek performansl\u0131 ve g\u00fcvenli bir web sunucusu ortam\u0131 sa\u011flar. Bu makalenin sonunda, kendi web sitelerinizi veya uygulamalar\u0131n\u0131z\u0131 bar\u0131nd\u0131rmaya haz\u0131r, tam i\u015flevsel bir LAMP sunucusuna sahip olacaks\u0131n\u0131z.<\/p>\n<h3>Giri\u015f: LAMP Y\u0131\u011f\u0131n\u0131 Nedir ve Neden Kullan\u0131l\u0131r?<\/h3>\n<p>LAMP, a\u015fa\u011f\u0131daki d\u00f6rt ana bile\u015fenin ba\u015f harflerinden olu\u015fan bir k\u0131saltmad\u0131r:<\/p>\n<p>*   <strong>L<\/strong>inux: \u0130\u015fletim sistemi. Bu rehberde Debian 11 kullanaca\u011f\u0131z. Linux, a\u00e7\u0131k kaynakl\u0131, kararl\u0131 ve g\u00fcvenli bir platform sunar.<br \/>\n*   <strong>A<\/strong>pache: Web sunucusu. D\u00fcnya genelinde en yayg\u0131n kullan\u0131lan web sunucular\u0131ndan biridir. Statik ve dinamik i\u00e7erik sunma yetene\u011fiyle bilinir.<br \/>\n*   <strong>M<\/strong>ariaDB: Veritaban\u0131 y\u00f6netim sistemi. MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen bir \u00e7atal\u0131d\u0131r ve y\u00fcksek performans, g\u00fcvenilirlik ve geli\u015fmi\u015f \u00f6zellikler sunar.<br \/>\n*   <strong>P<\/strong>HP: Programlama dili. Sunucu tarafl\u0131 betik dili olup, dinamik web i\u00e7eri\u011fi olu\u015fturmak i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r.<\/p>\n<p>LAMP y\u0131\u011f\u0131n\u0131, \u00f6zellikle WordPress, Drupal, Joomla gibi pop\u00fcler CMS&#8217;ler ve bir\u00e7ok \u00f6zel PHP tabanl\u0131 web uygulamas\u0131 i\u00e7in standart bir geli\u015ftirme ve da\u011f\u0131t\u0131m ortam\u0131 sa\u011flar. A\u00e7\u0131k kaynakl\u0131 olmas\u0131, geni\u015f topluluk deste\u011fi, esnekli\u011fi ve maliyet etkinli\u011fi sayesinde hem bireysel geli\u015ftiriciler hem de b\u00fcy\u00fck \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in cazip bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h4>Temel Gereksinimler<\/h4>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, a\u015fa\u011f\u0131daki gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Debian 11 (Bullseye) kurulu bir sunucu veya sanal makine:<\/strong> Minimum 1 GB RAM ve 10 GB depolama alan\u0131 \u00f6nerilir.<br \/>\n*   <strong>SSH eri\u015fimi:<\/strong> E\u011fer sunucuya uzaktan ba\u011flan\u0131yorsan\u0131z, bir SSH istemcisine ihtiyac\u0131n\u0131z olacak.<br \/>\n*   <strong>Sudo ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131:<\/strong> Kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in k\u00f6k (root) yetkilerine ihtiyac\u0131n\u0131z olacak.<br \/>\n*   <strong>Aktif internet ba\u011flant\u0131s\u0131:<\/strong> Paketleri indirmek i\u00e7in gereklidir.<\/p>\n<h3>Sistem G\u00fcncellemesi ve Temel Paketlerin Kurulumu<\/h3>\n<p>Herhangi bir kurulum i\u015flemine ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan emin olmak iyi bir uygulamad\u0131r. Bu, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmaya ve en son kararl\u0131 paket s\u00fcr\u00fcmlerini alman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\nsudo apt full-upgrade -y\nsudo apt autoremove -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Paket listelerini g\u00fcnceller, b\u00f6ylece sisteminiz hangi paketlerin en son s\u00fcr\u00fcmlerinin mevcut oldu\u011funu bilir.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Mevcut y\u00fckl\u00fc paketleri y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verir.<br \/>\n*   <code>sudo apt full-upgrade -y<\/code>: Mevcut paketleri y\u00fckseltir ve gerekirse yeni paketleri kurar veya eski paketleri kald\u0131r\u0131r. Bu, daha kapsaml\u0131 bir y\u00fckseltmedir.<br \/>\n*   <code>sudo apt autoremove -y<\/code>: Art\u0131k ihtiya\u00e7 duyulmayan ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve eski \u00e7ekirdek s\u00fcr\u00fcmlerini temizler.<\/p>\n<p>Bu ad\u0131mlar, sisteminizi temiz ve g\u00fcncel bir duruma getirir.<\/p>\n<h3>Apache Web Sunucusunun Kurulumu<\/h3>\n<p>Apache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan web sunucular\u0131ndan biridir. Y\u00fcksek esnekli\u011fi, mod\u00fcler yap\u0131s\u0131 ve geni\u015f topluluk deste\u011fi sayesinde dinamik web uygulamalar\u0131 i\u00e7in ideal bir platform sunar.<\/p>\n<h4>Apache Kurulumu<\/h4>\n<p>Apache&#8217;yi kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2 -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Apache servisi otomatik olarak ba\u015flayacakt\u0131r. Servisin durumunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status apache2<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmeniz gerekir. E\u011fer de\u011filse, servisi ba\u015flatmak i\u00e7in <code>sudo systemctl start apache2<\/code> komutunu kullanabilirsiniz.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131 (UFW)<\/h4>\n<p>Debian 11 \u00fczerinde UFW (Uncomplicated Firewall) genellikle varsay\u0131lan olarak y\u00fckl\u00fc de\u011fildir veya etkin de\u011fildir. Web sunucunuzun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in UFW&#8217;yi yap\u0131land\u0131rmak \u00f6nemlidir.<\/p>\n<p>\u00d6ncelikle UFW&#8217;yi kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y<\/code><\/pre>\n<p>UFW, Apache i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f profillerle birlikte gelir. Bu profilleri listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, <code>Apache<\/code>, <code>Apache Full<\/code> ve <code>Apache Secure<\/code> gibi se\u00e7enekleri g\u00f6sterecektir:<\/p>\n<p>*   <code>Apache<\/code>: Sadece port 80 (HTTP) trafi\u011fine izin verir.<br \/>\n*   <code>Apache Full<\/code>: Port 80 (HTTP) ve port 443 (HTTPS) trafi\u011fine izin verir.<br \/>\n*   <code>Apache Secure<\/code>: Sadece port 443 (HTTPS) trafi\u011fine izin verir.<\/p>\n<p>\u015eu an i\u00e7in sadece HTTP trafi\u011fine ihtiyac\u0131m\u0131z var, ancak gelecekte HTTPS kullanmay\u0131 planl\u0131yorsan\u0131z <code>Apache Full<\/code> se\u00e7ene\u011fini kullanmak daha iyidir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache Full'\nsudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p><code>sudo ufw enable<\/code> komutu, g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirecektir. Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in uyar\u0131 alabilirsiniz; <code>y<\/code> tu\u015funa basarak onaylay\u0131n. <code>sudo ufw status<\/code> komutu, etkin kurallar\u0131 g\u00f6sterecektir.<\/p>\n<h4>Apache Kurulumunu Test Etme<\/h4>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya <code>localhost<\/code> (e\u011fer do\u011frudan sunucuya eri\u015fiyorsan\u0131z) yazarak Apache&#8217;nin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-\">http:\/\/SERVER_IP_ADRES\u0130N\u0130Z\/<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir kurulumda, &#8220;Debian Apache2 Varsay\u0131lan Sayfas\u0131&#8221;n\u0131 g\u00f6steren bir sayfa g\u00f6rmelisiniz.<\/p>\n<h4>Apache Dosya Yap\u0131s\u0131 ve \u00d6nemli Dizinler<\/h4>\n<p>Apache&#8217;nin temel yap\u0131land\u0131rma dosyalar\u0131n\u0131 ve dizinlerini anlamak, gelecekteki yap\u0131land\u0131rmalar i\u00e7in \u00f6nemlidir:<\/p>\n<p>*   <code>\/var\/www\/html<\/code>: Varsay\u0131lan web sitesi k\u00f6k dizini. Web sitenizin dosyalar\u0131n\u0131 buraya yerle\u015ftireceksiniz.<br \/>\n*   <code>\/etc\/apache2\/apache2.conf<\/code>: Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131.<br \/>\n*   <code>\/etc\/apache2\/sites-available\/<\/code>: Sanal host yap\u0131land\u0131rma dosyalar\u0131n\u0131n depoland\u0131\u011f\u0131 dizin.<br \/>\n*   <code>\/etc\/apache2\/sites-enabled\/<\/code>: Etkin olan sanal host yap\u0131land\u0131rma dosyalar\u0131n\u0131n sembolik ba\u011flant\u0131lar\u0131n\u0131n bulundu\u011fu dizin.<br \/>\n*   <code>\/etc\/apache2\/mods-available\/<\/code> ve <code>\/etc\/apache2\/mods-enabled\/<\/code>: Apache mod\u00fcllerinin depoland\u0131\u011f\u0131 ve etkinle\u015ftirildi\u011fi dizinler.<br \/>\n*   <code>\/var\/log\/apache2\/access.log<\/code>: Apache eri\u015fim g\u00fcnl\u00fckleri.<br \/>\n*   <code>\/var\/log\/apache2\/error.log<\/code>: Apache hata g\u00fcnl\u00fckleri.<\/p>\n<p>Apache&#8217;de sanal hostlar\u0131 etkinle\u015ftirmek veya devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>a2ensite<\/code> ve <code>a2dissite<\/code> komutlar\u0131 kullan\u0131l\u0131rken, mod\u00fclleri etkinle\u015ftirmek veya devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>a2enmod<\/code> ve <code>a2dismod<\/code> komutlar\u0131 kullan\u0131l\u0131r. Her de\u011fi\u015fiklikten sonra Apache servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n: <code>sudo systemctl restart apache2<\/code>.<\/p>\n<h3>MariaDB Veritaban\u0131 Sunucusunun Kurulumu<\/h3>\n<p>MariaDB, pop\u00fcler MySQL veritaban\u0131 y\u00f6netim sisteminin a\u00e7\u0131k kaynakl\u0131, topluluk taraf\u0131ndan geli\u015ftirilen bir \u00e7atal\u0131d\u0131r. Y\u00fcksek performans, g\u00fcvenilirlik ve geli\u015fmi\u015f \u00f6zellikler sunar ve LAMP y\u0131\u011f\u0131n\u0131n\u0131n veritaban\u0131 bile\u015feni olarak yayg\u0131n olarak kullan\u0131l\u0131r.<\/p>\n<h4>MariaDB Kurulumu<\/h4>\n<p>MariaDB sunucusunu ve istemcisini kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install mariadb-server mariadb-client -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra MariaDB servisi otomatik olarak ba\u015flayacakt\u0131r. Durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mariadb<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmelisiniz.<\/p>\n<h4>MariaDB G\u00fcvenlik Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>MariaDB&#8217;nin varsay\u0131lan kurulumu baz\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na sahip olabilir. <code>mysql_secure_installation<\/code> beti\u011fi, bu a\u00e7\u0131klar\u0131 kapatman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu betik sizi bir dizi soruyla y\u00f6nlendirecektir:<\/p>\n<p>1.  <strong>Enter current password for root (none):<\/strong> Varsay\u0131lan olarak MariaDB root kullan\u0131c\u0131s\u0131n\u0131n \u015fifresi yoktur. Sadece 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> yazarak anonim kullan\u0131c\u0131lar\u0131 kald\u0131r\u0131n. Bu, veritaban\u0131 g\u00fcvenli\u011fini art\u0131r\u0131r.<br \/>\n4.  <strong>Disallow root login remotely? [Y\/n]:<\/strong> G\u00fcvenlik nedeniyle <code>Y<\/code> yazarak root kullan\u0131c\u0131s\u0131n\u0131n uzaktan giri\u015f yapmas\u0131n\u0131 engelleyin. Root kullan\u0131c\u0131s\u0131na sadece <code>localhost<\/code> \u00fczerinden eri\u015filebilir olmal\u0131d\u0131r.<br \/>\n5.  <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code> yazarak test veritaban\u0131n\u0131 kald\u0131r\u0131n.<br \/>\n6.  <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code> yazarak ayr\u0131cal\u0131k tablolar\u0131n\u0131 yeniden y\u00fckleyin.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra MariaDB kurulumunuz daha g\u00fcvenli olacakt\u0131r.<\/p>\n<h4>MariaDB&#8217;ye Giri\u015f ve Veritaban\u0131 Olu\u015fturma<\/h4>\n<p>MariaDB sunucusuna root kullan\u0131c\u0131s\u0131 olarak ba\u011flanmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo mariadb<\/code><\/pre>\n<p>Bu komut sizi MariaDB komut istemine g\u00f6t\u00fcrecektir. Art\u0131k SQL sorgular\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<p><strong>\u00d6rnek: Yeni Bir Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/strong><\/p>\n<p>Web uygulamalar\u0131n\u0131z i\u00e7in genellikle ayr\u0131 bir veritaban\u0131 ve bu veritaban\u0131na eri\u015fimi olan \u00f6zel bir kullan\u0131c\u0131 olu\u015fturman\u0131z gerekir. Bu, g\u00fcvenlik i\u00e7in iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE mydatabase;\nCREATE USER 'myuser'@'localhost' IDENTIFIED BY 'GucluSifreniz123!';\nGRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>*   <code>CREATE DATABASE mydatabase;<\/code>: <code>mydatabase<\/code> ad\u0131nda yeni bir veritaban\u0131 olu\u015fturur.<br \/>\n*   <code>CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'GucluSifreniz123!';<\/code>: <code>myuser<\/code> ad\u0131nda yeni bir kullan\u0131c\u0131 olu\u015fturur ve sadece <code>localhost<\/code> \u00fczerinden eri\u015fimine izin verir. <code>GucluSifreniz123!<\/code> yerine kendi g\u00fc\u00e7l\u00fc \u015fifrenizi kullan\u0131n.<br \/>\n<em>   <code>GRANT ALL PRIVILEGES ON mydatabase.<\/em> TO 'myuser'@'localhost';<\/code>: <code>myuser<\/code> kullan\u0131c\u0131s\u0131na <code>mydatabase<\/code> \u00fczerindeki t\u00fcm ayr\u0131cal\u0131klar\u0131 verir.<br \/>\n*   <code>FLUSH PRIVILEGES;<\/code>: Ayr\u0131cal\u0131k tablolar\u0131n\u0131 yeniden y\u00fckler, b\u00f6ylece yeni ayarlar hemen ge\u00e7erli olur.<br \/>\n*   <code>EXIT;<\/code>: MariaDB komut isteminden \u00e7\u0131kar.<\/p>\n<p>Art\u0131k <code>myuser<\/code> ve <code>GucluSifreniz123!<\/code> \u015fifresiyle <code>mydatabase<\/code> veritaban\u0131na eri\u015febilirsiniz.<\/p>\n<h3>PHP Kurulumu<\/h3>\n<p>PHP (Hypertext Preprocessor), dinamik web sayfalar\u0131 olu\u015fturmak i\u00e7in yayg\u0131n olarak kullan\u0131lan bir sunucu tarafl\u0131 betik dilidir. LAMP y\u0131\u011f\u0131n\u0131n\u0131n &#8220;P&#8221; bile\u015fenini olu\u015fturur ve Apache ile entegre olarak \u00e7al\u0131\u015f\u0131r.<\/p>\n<h4>PHP ve Gerekli Uzant\u0131lar\u0131n Kurulumu<\/h4>\n<p>Debian 11 varsay\u0131lan olarak PHP 7.4 veya daha yeni bir s\u00fcr\u00fcmle gelir. PHP&#8217;yi ve Apache ile entegrasyonu sa\u011flayan mod\u00fcl\u00fc (libapache2-mod-php) kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install php libapache2-mod-php php-mysql -y<\/code><\/pre>\n<p>*   <code>php<\/code>: PHP \u00e7ekirdek paketini kurar.<br \/>\n*   <code>libapache2-mod-php<\/code>: PHP&#8217;nin Apache ile entegrasyonunu sa\u011flayan mod\u00fcld\u00fcr. Bu mod\u00fcl, Apache&#8217;nin PHP betiklerini yorumlamas\u0131na olanak tan\u0131r.<br \/>\n*   <code>php-mysql<\/code>: PHP&#8217;nin MariaDB (ve MySQL) veritabanlar\u0131yla ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan uzant\u0131d\u0131r.<\/p>\n<p>Web uygulamalar\u0131n\u0131z\u0131n ihtiya\u00e7lar\u0131na g\u00f6re ba\u015fka PHP uzant\u0131lar\u0131na da ihtiyac\u0131n\u0131z olabilir. En yayg\u0131n kullan\u0131lan uzant\u0131lardan baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <code>php-cli<\/code>: Komut sat\u0131r\u0131 PHP yorumlay\u0131c\u0131s\u0131.<br \/>\n*   <code>php-fpm<\/code>: FastCGI Process Manager (daha y\u00fcksek performans i\u00e7in alternatif PHP i\u015fleme modu).<br \/>\n*   <code>php-curl<\/code>: URL&#8217;ler arac\u0131l\u0131\u011f\u0131yla veri transferi yapmak i\u00e7in.<br \/>\n*   <code>php-gd<\/code>: G\u00f6r\u00fcnt\u00fc i\u015fleme fonksiyonlar\u0131 i\u00e7in.<br \/>\n*   <code>php-mbstring<\/code>: \u00c7ok baytl\u0131 karakter dizeleri i\u00e7in.<br \/>\n*   <code>php-xml<\/code>: XML verilerini i\u015flemek i\u00e7in.<br \/>\n*   <code>php-zip<\/code>: ZIP ar\u015fivlerini i\u015flemek i\u00e7in.<br \/>\n*   <code>php-intl<\/code>: Uluslararas\u0131la\u015ft\u0131rma deste\u011fi i\u00e7in.<br \/>\n*   <code>php-soap<\/code>: SOAP web servisleri i\u00e7in.<br \/>\n*   <code>php-imagick<\/code>: Geli\u015fmi\u015f g\u00f6r\u00fcnt\u00fc i\u015fleme i\u00e7in.<\/p>\n<p>\u0130htiya\u00e7 duydu\u011funuz uzant\u0131lar\u0131 kurmak i\u00e7in a\u015fa\u011f\u0131daki gibi bir komut kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install php-cli php-fpm php-curl php-gd php-mbstring php-xml php-zip php-intl -y<\/code><\/pre>\n<h4>PHP S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Etme<\/h4>\n<p>Kurulumdan sonra PHP s\u00fcr\u00fcm\u00fcn\u00fc kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">php -v<\/code><\/pre>\n<p>Bu, y\u00fckl\u00fc PHP s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterecektir (\u00f6rne\u011fin, PHP 7.4.x).<\/p>\n<h4>Apache&#8217;nin PHP Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme ve Yeniden Ba\u015flatma<\/h4>\n<p><code>libapache2-mod-php<\/code> paketi genellikle PHP mod\u00fcl\u00fcn\u00fc otomatik olarak etkinle\u015ftirir. Ancak emin olmak i\u00e7in veya herhangi bir sorun ya\u015farsan\u0131z, a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod php7.4 # PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re 7.4 k\u0131sm\u0131n\u0131 de\u011fi\u015ftirin (\u00f6rne\u011fin php8.x)\nsudo systemctl restart apache2<\/code><\/pre>\n<p>Bu komut, Apache&#8217;nin PHP mod\u00fcl\u00fcn\u00fc etkinle\u015ftirir ve de\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flat\u0131r.<\/p>\n<h4>PHP Yap\u0131land\u0131rma Dosyas\u0131 (php.ini)<\/h4>\n<p>PHP&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/php\/7.4\/apache2\/php.ini<\/code> (PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re yol de\u011fi\u015febilir) konumunda bulunur. Bu dosyay\u0131 d\u00fczenleyerek PHP \u00e7al\u0131\u015fma zaman\u0131 ayarlar\u0131n\u0131 yapabilirsiniz. \u00d6rne\u011fin, dosya y\u00fckleme boyutunu, bellek limitini veya hata raporlama seviyesini de\u011fi\u015ftirebilirsiniz.<\/p>\n<p>*   <code>memory_limit<\/code>: Bir beti\u011fin kullanabilece\u011fi maksimum bellek miktar\u0131.<br \/>\n*   <code>upload_max_filesize<\/code>: HTTP y\u00fcklemesi i\u00e7in izin verilen maksimum dosya boyutu.<br \/>\n*   <code>post_max_size<\/code>: POST verileri i\u00e7in izin verilen maksimum boyut.<br \/>\n*   <code>max_execution_time<\/code>: Bir beti\u011fin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcre.<br \/>\n*   <code>display_errors<\/code>: Hatalar\u0131n taray\u0131c\u0131da g\u00f6r\u00fcnt\u00fclenip g\u00f6r\u00fcnt\u00fclenmeyece\u011fi (\u00fcretim ortam\u0131nda <code>Off<\/code> olmal\u0131d\u0131r).<\/p>\n<p>De\u011fi\u015fiklik yapt\u0131ktan sonra Apache&#8217;yi yeniden ba\u015flatmay\u0131 unutmay\u0131n: <code>sudo systemctl restart apache2<\/code>.<\/p>\n<h3>PHP Kurulumunu Test Etme<\/h3>\n<p>PHP&#8217;nin do\u011fru bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve Apache ile entegre oldu\u011funu do\u011frulamak i\u00e7in basit bir <code>info.php<\/code> dosyas\u0131 olu\u015ftural\u0131m.<\/p>\n<h4>info.php Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>Varsay\u0131lan web k\u00f6k dizini olan <code>\/var\/www\/html<\/code> i\u00e7inde bir <code>info.php<\/code> dosyas\u0131 olu\u015ftural\u0131m:<\/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 kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\"><?php\nphpinfo();\n?><\/code><\/pre>\n<p>Kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano&#8217;da <code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>).<\/p>\n<h4>Taray\u0131c\u0131dan Kontrol Etme<\/h4>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini takip eden <code>\/info.php<\/code> yolunu yaz\u0131n:<\/p>\n<pre><code class=\"language-\">http:\/\/SERVER_IP_ADRES\u0130N\u0130Z\/info.php<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir kurulumda, PHP&#8217;nin yap\u0131land\u0131rma bilgilerini (s\u00fcr\u00fcm, uzant\u0131lar, yap\u0131land\u0131rma ayarlar\u0131 vb.) g\u00f6steren detayl\u0131 bir sayfa g\u00f6rmelisiniz. Bu sayfa, LAMP y\u0131\u011f\u0131n\u0131n\u0131z\u0131n t\u00fcm bile\u015fenlerinin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular.<\/p>\n<p><strong>G\u00fcvenlik Uyar\u0131s\u0131:<\/strong> <code>phpinfo()<\/code> sayfas\u0131 hassas sistem bilgilerini i\u00e7erir. \u00dcretim ortam\u0131nda bu dosyay\u0131 sunucunuzda b\u0131rakman\u0131z g\u00fcvenlik riski olu\u015fturur. Testi tamamlad\u0131ktan 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>\u0130ste\u011fe Ba\u011fl\u0131: Sanal Host Kurulumu<\/h3>\n<p>Sanal hostlar, tek bir Apache sunucusunda birden fazla web sitesini bar\u0131nd\u0131rman\u0131za olanak tan\u0131r. Her web sitesi kendi alan ad\u0131na, belge k\u00f6k dizinine, g\u00fcnl\u00fck dosyalar\u0131na ve yap\u0131land\u0131rma ayarlar\u0131na sahip olabilir.<\/p>\n<h4>Neden Sanal Host Kullan\u0131l\u0131r?<\/h4>\n<p>*   <strong>Birden \u00c7ok Site Bar\u0131nd\u0131rma:<\/strong> Ayn\u0131 sunucu \u00fczerinde farkl\u0131 alan adlar\u0131 (\u00f6rne\u011fin, example.com ve example.org) i\u00e7in ayr\u0131 web siteleri \u00e7al\u0131\u015ft\u0131rabilirsiniz.<br \/>\n*   <strong>Daha \u0130yi Organizasyon:<\/strong> Her site i\u00e7in \u00f6zel bir dizin yap\u0131s\u0131 ve yap\u0131land\u0131rma sa\u011flar.<br \/>\n*   <strong>Geli\u015ftirme Ortamlar\u0131:<\/strong> Geli\u015ftirme, haz\u0131rl\u0131k ve \u00fcretim ortamlar\u0131 i\u00e7in ayr\u0131 sanal hostlar olu\u015fturabilirsiniz.<\/p>\n<h4>Yeni Bir Sanal Host Olu\u015fturma<\/h4>\n<p>Varsay\u0131lan Apache yap\u0131land\u0131rma dosyas\u0131n\u0131 kopyalayarak yeni bir sanal host dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/example.com.conf\nsudo nano \/etc\/apache2\/sites-available\/example.com.conf<\/code><\/pre>\n<p>Dosyay\u0131 a\u00e7t\u0131ktan sonra i\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi d\u00fczenleyin. <code>example.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 kullan\u0131n.<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@example.com\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/public_html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/example.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p>*   <strong><code>ServerAdmin<\/code><\/strong>: Sunucu y\u00f6neticisinin e-posta adresi.<br \/>\n*   <strong><code>ServerName<\/code><\/strong>: Bu sanal host i\u00e7in ana alan ad\u0131.<br \/>\n*   <strong><code>ServerAlias<\/code><\/strong>: Bu sanal host i\u00e7in alternatif alan adlar\u0131 (\u00f6rne\u011fin, <code>www<\/code> \u00f6neki).<br \/>\n*   <strong><code>DocumentRoot<\/code><\/strong>: Bu web sitesinin dosyalar\u0131n\u0131n bulundu\u011fu dizin.<br \/>\n*   <strong><code>ErrorLog<\/code><\/strong> ve <strong><code>CustomLog<\/code><\/strong>: Hata ve eri\u015fim g\u00fcnl\u00fcklerinin kaydedilece\u011fi yerler.<br \/>\n*   <strong><code><Directory><\/code> blo\u011fu<\/strong>: Belirli bir dizin i\u00e7in Apache ayarlar\u0131n\u0131 tan\u0131mlar. <code>AllowOverride All<\/code> genellikle <code>.htaccess<\/code> dosyalar\u0131n\u0131n kullan\u0131lmas\u0131na izin vermek i\u00e7in gereklidir.<\/p>\n<p>Kaydedin ve dosyadan \u00e7\u0131k\u0131n.<\/p>\n<h4>Web Sitesi Dizin Yap\u0131s\u0131 Olu\u015fturma<\/h4>\n<p><code>DocumentRoot<\/code> olarak belirledi\u011fimiz dizini olu\u015ftural\u0131m ve bu dizine web sunucusunun okuma\/yazma izinlerini verelim:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/example.com\/public_html\nsudo chown -R $USER:$USER \/var\/www\/example.com\/public_html\nsudo chmod -R 755 \/var\/www\/example.com\/public_html<\/code><\/pre>\n<p>*   <code>sudo mkdir -p<\/code>: Gerekirse \u00fcst dizinleri de olu\u015fturarak dizini yarat\u0131r.<br \/>\n*   <code>sudo chown -R<\/code>: Dizin sahipli\u011fini mevcut kullan\u0131c\u0131ya verir. <code>$USER<\/code> ortam de\u011fi\u015fkeni mevcut kullan\u0131c\u0131n\u0131z\u0131n ad\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>sudo chmod -R 755<\/code>: Dizin ve dosya izinlerini ayarlar. <code>755<\/code> genellikle web sunucusu i\u00e7in g\u00fcvenli ve yeterli bir izindir (sahip tam eri\u015fime sahipken, grup ve di\u011ferleri sadece okuma ve y\u00fcr\u00fctme iznine sahiptir).<\/p>\n<p>\u015eimdi yeni sanal hostunuz i\u00e7in basit bir <code>index.html<\/code> dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/example.com\/public_html\/index.html<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fe a\u015fa\u011f\u0131daki gibi bir HTML kodu ekleyin:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html>\n<head>\n    <title>Benim Harika Sitem<\/title>\n<\/head>\n<body>\n    \n    <p>Bu, Debian 11 \u00fczerindeki \u00f6zel sanal hostum.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Kaydedin ve \u00e7\u0131k\u0131n.<\/p>\n<h4>Sanal Hostu Etkinle\u015ftirme ve Apache&#8217;yi Yeniden Ba\u015flatma<\/h4>\n<p>Yeni sanal hostunuzu etkinle\u015ftirmek i\u00e7in <code>a2ensite<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite example.com.conf<\/code><\/pre>\n<p>Varsay\u0131lan sanal hostu (000-default.conf) devre d\u0131\u015f\u0131 b\u0131rakmak isteyebilirsiniz, b\u00f6ylece alan ad\u0131n\u0131zla eri\u015fti\u011finizde sadece kendi siteniz g\u00f6r\u00fcn\u00fcr:<\/p>\n<pre><code class=\"language-bash\">sudo a2dissite 000-default.conf<\/code><\/pre>\n<p>De\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<h4>Alan Ad\u0131 \u00c7\u00f6z\u00fcmlemesi (Yerel Test \u0130\u00e7in)<\/h4>\n<p>E\u011fer ger\u00e7ek bir alan ad\u0131n\u0131z yoksa veya yerel olarak test ediyorsan\u0131z, istemci bilgisayar\u0131n\u0131z\u0131n <code>\/etc\/hosts<\/code> (Linux\/macOS) veya <code>C:\\Windows\\System32\\drivers\\etc\\hosts<\/code> (Windows) dosyas\u0131n\u0131 d\u00fczenleyerek alan ad\u0131n\u0131z\u0131 sunucunuzun IP adresine y\u00f6nlendirebilirsiniz.<\/p>\n<pre><code class=\"language-bash\"># \u0130stemci bilgisayar\u0131n\u0131zda (DEB\u0130AN SUNUCUNUZDA DE\u011e\u0130L!)\nsudo nano \/etc\/hosts<\/code><\/pre>\n<p>Dosyaya a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin (SERVER_IP_ADRES\u0130N\u0130Z yerine sunucunuzun ger\u00e7ek IP adresini yaz\u0131n):<\/p>\n<pre><code class=\"language-\">SERVER_IP_ADRES\u0130N\u0130Z example.com www.example.com<\/code><\/pre>\n<p>Kaydedin ve \u00e7\u0131k\u0131n. \u015eimdi web taray\u0131c\u0131n\u0131zdan <code>http:\/\/example.com<\/code> adresine gitti\u011finizde, yeni olu\u015fturdu\u011funuz sanal hostunuzun sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>G\u00fcvenlik \u0130pu\u00e7lar\u0131 ve Ek Yap\u0131land\u0131rmalar<\/h3>\n<p>LAMP y\u0131\u011f\u0131n\u0131n\u0131 kurmak sadece ba\u015flang\u0131\u00e7t\u0131r. Sunucunuzu g\u00fcvende tutmak ve performans\u0131n\u0131 optimize etmek i\u00e7in ek ad\u0131mlar atman\u0131z \u00f6nemlidir.<\/p>\n<h4>Apache G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>Gereksiz Mod\u00fclleri Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> \u0130htiya\u00e7 duymad\u0131\u011f\u0131n\u0131z Apache mod\u00fcllerini devre d\u0131\u015f\u0131 b\u0131rakarak sald\u0131r\u0131 y\u00fczeyini azalt\u0131n. <code>sudo a2dismod [mod\u00fcl_ad\u0131]<\/code> komutunu kullan\u0131n.<br \/>\n*   <strong>Dizin Listelemeyi Kapatma:<\/strong> <code>Options -Indexes<\/code> y\u00f6nergesini sanal host yap\u0131land\u0131rman\u0131za veya ana Apache yap\u0131land\u0131rman\u0131za ekleyerek, dizinlerde <code>index.html<\/code> veya <code>index.php<\/code> dosyas\u0131 olmad\u0131\u011f\u0131nda dizin i\u00e7eri\u011finin listelenmesini engelleyin. Bu, hassas dosya isimlerinin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131n\u0131 \u00f6nler.<br \/>\n*   <strong>ServerTokens ve ServerSignature Ayarlar\u0131:<\/strong> <code>apache2.conf<\/code> dosyas\u0131nda <code>ServerTokens Prod<\/code> ve <code>ServerSignature Off<\/code> ayarlayarak Apache s\u00fcr\u00fcm bilgilerinin ve sunucu imzas\u0131n\u0131n gizlenmesini sa\u011flay\u0131n.<br \/>\n*   <strong>SSL\/TLS Kurulumu (HTTPS):<\/strong> Let&#8217;s Encrypt ve Certbot kullanarak \u00fccretsiz SSL\/TLS sertifikalar\u0131 kurarak t\u00fcm trafi\u011fi \u015fifreleyin. Bu, veri g\u00fcvenli\u011fi ve SEO i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot python3-certbot-apache -y\n    sudo certbot --apache -d example.com -d www.example.com<\/code><\/pre>\n<p>*   <strong>ModSecurity (Web Uygulama G\u00fcvenlik Duvar\u0131 &#8211; WAF):<\/strong> Apache i\u00e7in ModSecurity gibi bir WAF kurarak yayg\u0131n web sald\u0131r\u0131lar\u0131na (SQL enjeksiyonu, XSS vb.) kar\u015f\u0131 ek koruma sa\u011flayabilirsiniz.<\/p>\n<h4>MariaDB G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>G\u00fc\u00e7l\u00fc \u015eifreler:<\/strong> Veritaban\u0131 kullan\u0131c\u0131lar\u0131 i\u00e7in her zaman karma\u015f\u0131k ve uzun \u015fifreler kullan\u0131n.<br \/>\n*   <strong>Minimum Ayr\u0131cal\u0131k Prensibi:<\/strong> Uygulamalar\u0131n\u0131z\u0131n veritaban\u0131na eri\u015fim i\u00e7in sadece ihtiya\u00e7 duyduklar\u0131 ayr\u0131cal\u0131klara sahip oldu\u011fundan emin olun. <code>GRANT<\/code> komutunu dikkatli kullan\u0131n.<br \/>\n*   <strong>Uzaktan Eri\u015fimi K\u0131s\u0131tlama:<\/strong> MariaDB root kullan\u0131c\u0131s\u0131n\u0131n uzaktan eri\u015fimini kapatt\u0131\u011f\u0131n\u0131zdan emin olun (<code>mysql_secure_installation<\/code> ile yap\u0131ld\u0131). Di\u011fer kullan\u0131c\u0131lar i\u00e7in de sadece ihtiya\u00e7 duyuldu\u011funda ve g\u00fcvenli a\u011flardan eri\u015fime izin verin.<br \/>\n*   <strong>Veritaban\u0131 Yedeklemeleri:<\/strong> D\u00fczenli olarak veritaban\u0131 yedeklemeleri al\u0131n ve bu yedeklemeleri g\u00fcvenli bir yerde saklay\u0131n. <code>mysqldump<\/code> komutu bu ama\u00e7la kullan\u0131labilir.<\/p>\n<h4>PHP G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong><code>php.ini<\/code> Ayarlar\u0131:<\/strong><br \/>\n    *   <code>display_errors = Off<\/code>: \u00dcretim ortam\u0131nda hata mesajlar\u0131n\u0131 kullan\u0131c\u0131lara g\u00f6stermeyin. Bu, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 gizler.<br \/>\n    *   <code>expose_php = Off<\/code>: PHP s\u00fcr\u00fcm bilgisinin HTTP yan\u0131t ba\u015fl\u0131klar\u0131nda g\u00f6r\u00fcnmesini engeller.<br \/>\n    *   <code>disable_functions<\/code>: <code>exec<\/code>, <code>shell_exec<\/code>, <code>passthru<\/code> gibi tehlikeli fonksiyonlar\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n    *   <code>allow_url_fopen = Off<\/code> ve <code>allow_url_include = Off<\/code>: Uzak dosyalar\u0131n dahil edilmesini veya a\u00e7\u0131lmas\u0131n\u0131 engelleyin.<br \/>\n*   <strong>Gereksiz Uzant\u0131lar\u0131 Kald\u0131rma:<\/strong> Kullanmad\u0131\u011f\u0131n\u0131z PHP uzant\u0131lar\u0131n\u0131 kald\u0131rarak potansiyel zafiyetleri azalt\u0131n.<br \/>\n*   <strong>Uygulama D\u00fczeyinde G\u00fcvenlik:<\/strong><br \/>\n    *   T\u00fcm kullan\u0131c\u0131 giri\u015flerini do\u011frulay\u0131n ve temizleyin (input validation and sanitization).<br \/>\n    *   SQL enjeksiyonu ve XSS (Cross-Site Scripting) gibi sald\u0131r\u0131lara kar\u015f\u0131 koruma sa\u011flay\u0131n (\u00f6rne\u011fin, PDO ile haz\u0131rlanm\u0131\u015f sorgular).<br \/>\n    *   CSRF (Cross-Site Request Forgery) korumas\u0131 uygulay\u0131n.<br \/>\n    *   G\u00fcvenli oturum y\u00f6netimi kullan\u0131n.<\/p>\n<h4>Sistem G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>G\u00fcvenlik Duvar\u0131 (UFW):<\/strong> Yaln\u0131zca gerekli portlar\u0131 a\u00e7\u0131n (SSH, HTTP, HTTPS).<br \/>\n*   <strong>SSH G\u00fcvenli\u011fi:<\/strong><br \/>\n    *   Varsay\u0131lan SSH portunu de\u011fi\u015ftirin (22 yerine ba\u015fka bir port kullan\u0131n).<br \/>\n    *   Root kullan\u0131c\u0131s\u0131n\u0131n SSH \u00fczerinden do\u011frudan giri\u015f yapmas\u0131n\u0131 engelleyin (<code>PermitRootLogin no<\/code>).<br \/>\n    *   \u015eifre tabanl\u0131 kimlik do\u011frulama yerine SSH anahtar tabanl\u0131 kimlik do\u011frulamay\u0131 kullan\u0131n.<br \/>\n    *   <code>fail2ban<\/code> gibi ara\u00e7larla kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flay\u0131n.<br \/>\n*   <strong>D\u00fczenli G\u00fcncellemeler:<\/strong> \u0130\u015fletim sistemi ve t\u00fcm y\u00fckl\u00fc paketleri d\u00fczenli olarak g\u00fcncel tutun (<code>sudo apt update && sudo apt upgrade<\/code>).<br \/>\n*   <strong>G\u00fcnl\u00fck \u0130zleme:<\/strong> Sunucu g\u00fcnl\u00fcklerini (Apache eri\u015fim\/hata g\u00fcnl\u00fckleri, sistem g\u00fcnl\u00fckleri) d\u00fczenli olarak izleyin ve anormal aktiviteleri kontrol edin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Debian 11 &#8220;Bullseye&#8221; i\u015fletim sistemi \u00fczerine Linux, Apache, MariaDB ve PHP&#8217;den olu\u015fan tam bir LAMP y\u0131\u011f\u0131n\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Sistem g\u00fcncellemesinden ba\u015flayarak, Apache web sunucusunun kurulumuna, MariaDB veritaban\u0131 sunucusunun g\u00fcvenli yap\u0131land\u0131rmas\u0131na ve PHP&#8217;nin gerekli uzant\u0131larla birlikte entegrasyonuna kadar t\u00fcm temel ad\u0131mlar\u0131 ba\u015far\u0131yla tamamlad\u0131n\u0131z. Ayr\u0131ca, sanal host kurulumu ile birden fazla web sitesi bar\u0131nd\u0131rma yetene\u011fini kazand\u0131n\u0131z ve sunucunuzun g\u00fcvenli\u011fini art\u0131rmak i\u00e7in \u00f6nemli ipu\u00e7lar\u0131n\u0131 \u00f6\u011frendiniz.<\/p>\n<p>Art\u0131k dinamik web sitelerinizi ve uygulamalar\u0131n\u0131z\u0131 bar\u0131nd\u0131rmaya haz\u0131r, sa\u011flam ve g\u00fcvenli bir LAMP sunucusuna sahipsiniz. Bu yap\u0131land\u0131rma, WordPress, Joomla, Drupal gibi pop\u00fcler i\u00e7erik y\u00f6netim sistemlerini veya kendi \u00f6zel PHP uygulamalar\u0131n\u0131z\u0131 da\u011f\u0131tmak i\u00e7in m\u00fckemmel bir temel sa\u011flar.<\/p>\n<p>Sonraki ad\u0131mlar\u0131n\u0131z, uygulaman\u0131z\u0131 veya web sitenizi <code>DocumentRoot<\/code> dizinine yerle\u015ftirmek, bir alan ad\u0131 kaydetmek ve DNS ayarlar\u0131n\u0131z\u0131 sunucunuzun IP adresine y\u00f6nlendirmek olabilir. G\u00fcvenlik ipu\u00e7lar\u0131n\u0131 uygulamaya devam etmeyi ve sunucunuzu d\u00fczenli olarak g\u00fcncellemeyi unutmay\u0131n. Debian&#8217;\u0131n kararl\u0131l\u0131\u011f\u0131 ve LAMP y\u0131\u011f\u0131n\u0131n\u0131n esnekli\u011fi sayesinde, web projeleriniz i\u00e7in g\u00fc\u00e7l\u00fc ve g\u00fcvenilir bir platforma sahipsiniz. Ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu\nLAMP y\u0131\u011f\u0131n\u0131 (Linux, Apache, MariaDB, PHP), dinamik web siteleri ve","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-34617","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu LAMP y\u0131\u011f\u0131n\u0131 (Linux, Apache, MariaDB, PHP), dinamik web siteleri ve\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-19T18:40:51+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu\",\"datePublished\":\"2025-11-19T18:40:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\"},\"wordCount\":3358,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\",\"name\":\"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-19T18:40:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu","og_description":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu LAMP y\u0131\u011f\u0131n\u0131 (Linux, Apache, MariaDB, PHP), dinamik web siteleri ve","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-19T18:40:51+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu","datePublished":"2025-11-19T18:40:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/"},"wordCount":3358,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/","name":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-19T18:40:51+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerine-linux-apache-mariadb-php-lamp-yigininin-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 11 \u00dczerine Linux, Apache, MariaDB, PHP (LAMP) Y\u0131\u011f\u0131n\u0131n\u0131n Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34617","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=34617"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34617\/revisions"}],"predecessor-version":[{"id":34618,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34617\/revisions\/34618"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}