{"id":31718,"date":"2025-10-13T06:40:59","date_gmt":"2025-10-13T03:40:59","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31718"},"modified":"2025-10-13T06:40:59","modified_gmt":"2025-10-13T03:40:59","slug":"apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/","title":{"rendered":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi<\/h2>\n<p>Apache HTTP Sunucusu, web sitelerini ve web uygulamalar\u0131n\u0131 yay\u0131nlamak i\u00e7in d\u00fcnya genelinde en \u00e7ok kullan\u0131lan sunuculardan biridir. Bazen bir web dizininin veya belirli bir dosyan\u0131n i\u00e7eri\u011fini, yaln\u0131zca yetkili kullan\u0131c\u0131lar\u0131n eri\u015febilece\u011fi \u015fekilde korumak isteyebilirsiniz. \u0130\u015fte bu noktada Apache&#8217;nin temel kimlik do\u011frulama (Basic Authentication) \u00f6zelli\u011fi devreye girer. Bu makalede, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir Apache web sunucusunda, dizinlere ve dosyalara parola korumas\u0131 eklemek i\u00e7in ad\u0131m ad\u0131m nas\u0131l temel kimlik do\u011frulama kurulaca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Bu y\u00f6ntem, hassas bilgileri i\u00e7eren y\u00f6netim panelleri, geli\u015ftirme ortamlar\u0131 veya \u00f6zel m\u00fc\u015fteri alanlar\u0131 gibi alanlar\u0131 g\u00fcvence alt\u0131na almak i\u00e7in basit ama etkili bir yol sunar.<\/p>\n<h3>Giri\u015f<\/h3>\n<p>Web sunucular\u0131nda parola korumas\u0131, yetkisiz eri\u015fimi engellemek i\u00e7in kritik bir g\u00fcvenlik \u00f6nlemidir. Apache&#8217;nin &#8220;Basic Auth&#8221; olarak bilinen temel kimlik do\u011frulama mekanizmas\u0131, HTTP protokol\u00fcn\u00fcn bir par\u00e7as\u0131d\u0131r ve kullan\u0131c\u0131 ad\u0131\/parola \u00e7ifti ile eri\u015fimi k\u0131s\u0131tlaman\u0131n en basit yollar\u0131ndan biridir. Bir kullan\u0131c\u0131 korumal\u0131 bir kayna\u011fa eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, taray\u0131c\u0131 bir kimlik do\u011frulama kutusu g\u00f6r\u00fcnt\u00fcler ve kullan\u0131c\u0131dan kimlik bilgilerini girmesini ister. Bu bilgiler sunucuya g\u00f6nderilir ve sunucu, kaydedilmi\u015f kimlik bilgileriyle kar\u015f\u0131la\u015ft\u0131rarak eri\u015fime izin verir veya reddeder.<\/p>\n<p>Bu rehberde, Ubuntu 16.04&#8217;te Apache&#8217;nin nas\u0131l kurulaca\u011f\u0131n\u0131 (gerekliyse), <code>.htaccess<\/code> dosyalar\u0131n\u0131n nas\u0131l etkinle\u015ftirilece\u011fini, kullan\u0131c\u0131 adlar\u0131 ve parolalar\u0131n g\u00fcvenli bir \u015fekilde nas\u0131l saklanaca\u011f\u0131n\u0131 ve son olarak Apache yap\u0131land\u0131rmas\u0131n\u0131n nas\u0131l d\u00fczenlenece\u011fini ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z. Ayr\u0131ca, temel kimlik do\u011frulaman\u0131n g\u00fcvenli\u011fini art\u0131rmak i\u00e7in ek ipu\u00e7lar\u0131 ve s\u0131k\u00e7a sorulan sorulara yan\u0131tlar da bulacaks\u0131n\u0131z.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Ubuntu 16.04 Sunucusu:<\/strong> Kurulumun yap\u0131laca\u011f\u0131 bir Ubuntu 16.04 sunucusu.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Sunucuda komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>root<\/code> kullan\u0131c\u0131s\u0131 eri\u015fimi veya <code>sudo<\/code> ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131.<br \/>\n*   <strong>Apache Web Sunucusu:<\/strong> Sunucunuzda Apache2&#8217;nin kurulu ve \u00e7al\u0131\u015f\u0131yor olmas\u0131. E\u011fer kurulu de\u011filse, rehberin ilk ad\u0131mlar\u0131nda nas\u0131l kurulaca\u011f\u0131n\u0131 g\u00f6sterece\u011fiz.<br \/>\n*   <strong>Temel Linux Komut Bilgisi:<\/strong> Temel komut sat\u0131r\u0131 bilgisi (dosya olu\u015fturma, d\u00fczenleme, dizinlerde gezinme vb.).<\/p>\n<h3>Apache HTTP Temel Kimlik Do\u011frulama (Basic Auth) Nedir?<\/h3>\n<p>Apache HTTP Temel Kimlik Do\u011frulama, RFC 7617&#8217;de tan\u0131mlanan bir HTTP kimlik do\u011frulama \u015femas\u0131d\u0131r. \u00c7al\u0131\u015fma prensibi olduk\u00e7a basittir:<\/p>\n<p>1.  <strong>Talep:<\/strong> Bir istemci (taray\u0131c\u0131), Apache taraf\u0131ndan parola ile korunmu\u015f bir kayna\u011fa (dizin veya dosya) eri\u015fim talebinde bulunur.<br \/>\n2.  <strong>Yan\u0131t (401 Unauthorized):<\/strong> Apache, bu kayna\u011f\u0131n korundu\u011funu fark eder ve istemciye bir <code>401 Unauthorized<\/code> HTTP durumu kodu ile birlikte bir <code>WWW-Authenticate<\/code> ba\u015fl\u0131\u011f\u0131 g\u00f6nderir. Bu ba\u015fl\u0131k, istemciye hangi kimlik do\u011frulama \u015femas\u0131n\u0131n (bu durumda &#8220;Basic&#8221;) kullan\u0131lmas\u0131 gerekti\u011fini ve bir &#8220;realm&#8221; (kimlik do\u011frulama alan\u0131n\u0131n ad\u0131, genellikle bir mesaj) bildirir.<br \/>\n3.  <strong>Kimlik Bilgileri Giri\u015fi:<\/strong> \u0130stemci (taray\u0131c\u0131), <code>WWW-Authenticate<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 al\u0131r ve kullan\u0131c\u0131ya bir kimlik do\u011frulama kutusu (genellikle kullan\u0131c\u0131 ad\u0131 ve parola isteyen bir pencere) g\u00f6sterir. &#8220;realm&#8221; genellikle bu kutuda g\u00f6sterilen mesajd\u0131r.<br \/>\n4.  <strong>Kimlik Bilgileri G\u00f6nderimi:<\/strong> Kullan\u0131c\u0131 kimlik bilgilerini girip onaylad\u0131\u011f\u0131nda, taray\u0131c\u0131 bu bilgileri <code>kullan\u0131c\u0131ad\u0131:parola<\/code> format\u0131nda birle\u015ftirir, Base64 ile kodlar ve orijinal talebi bir <code>Authorization<\/code> ba\u015fl\u0131\u011f\u0131 ile birlikte Apache&#8217;ye tekrar g\u00f6nderir. \u00d6rne\u011fin, <code>Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==<\/code>.<br \/>\n5.  <strong>Do\u011frulama ve Eri\u015fim:<\/strong> Apache, gelen <code>Authorization<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 al\u0131r, Base64 kodunu \u00e7\u00f6zer, kullan\u0131c\u0131 ad\u0131 ve parolay\u0131 ayr\u0131\u015ft\u0131r\u0131r. Bu bilgileri, sunucuda depolanan (genellikle <code>.htpasswd<\/code> dosyas\u0131) kullan\u0131c\u0131 adlar\u0131 ve parolalarla kar\u015f\u0131la\u015ft\u0131r\u0131r.<br \/>\n    *   E\u011fer kimlik bilgileri e\u015fle\u015firse, Apache kayna\u011fa eri\u015fime izin verir ve <code>200 OK<\/code> durumuyla birlikte istenen i\u00e7eri\u011fi g\u00f6nderir.<br \/>\n    *   E\u011fer kimlik bilgileri e\u015fle\u015fmezse, Apache tekrar bir <code>401 Unauthorized<\/code> yan\u0131t\u0131 g\u00f6nderir ve bu d\u00f6ng\u00fc devam eder.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<p>*   <strong>Basitlik:<\/strong> Kurulumu ve y\u00f6netimi nispeten kolayd\u0131r.<br \/>\n*   <strong>Evrensellik:<\/strong> T\u00fcm modern web taray\u0131c\u0131lar\u0131 taraf\u0131ndan desteklenir.<br \/>\n*   <strong>Hafif:<\/strong> Sunucu kaynaklar\u0131n\u0131 \u00e7ok az t\u00fcketir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><\/p>\n<p>*   <strong>G\u00fcvenlik:<\/strong> Kimlik bilgileri Base64 ile kodlansa da, bu bir \u015fifreleme y\u00f6ntemi de\u011fildir ve kolayca \u00e7\u00f6z\u00fclebilir. Bu nedenle, Basic Auth&#8217;un <strong>her zaman SSL\/TLS (HTTPS) ile birlikte kullan\u0131lmas\u0131 kritik \u00f6neme sahiptir.<\/strong> HTTPS olmadan kullan\u0131ld\u0131\u011f\u0131nda, kimlik bilgileri a\u011f \u00fczerinden d\u00fcz metin olarak g\u00f6nderilmi\u015f gibi savunmas\u0131z kal\u0131r.<br \/>\n*   <strong>Kullan\u0131c\u0131 Deneyimi:<\/strong> Her yeni oturumda veya belirli bir s\u00fcre sonra kimlik bilgilerinin tekrar girilmesi gerekebilir, bu da kullan\u0131c\u0131 deneyimini olumsuz etkileyebilir.<br \/>\n*   <strong>Kapsam:<\/strong> Yaln\u0131zca belirli bir dizini veya dosyay\u0131 korur, daha karma\u015f\u0131k kimlik do\u011frulama veya yetkilendirme senaryolar\u0131 i\u00e7in uygun de\u011fildir.<\/p>\n<p>Bu dezavantajlara ra\u011fmen, \u00f6zellikle geli\u015ftirme ortamlar\u0131nda, dahili ara\u00e7lara eri\u015fimde veya k\u00fc\u00e7\u00fck \u00f6l\u00e7ekli, h\u0131zl\u0131 bir parola korumas\u0131na ihtiya\u00e7 duyuldu\u011funda Basic Auth hala ge\u00e7erli ve kullan\u0131\u015fl\u0131 bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>Ad\u0131m 1: Apache Web Sunucusunu Kurma (Gerekliyse)<\/h3>\n<p>E\u011fer sunucunuzda Apache zaten kuruluysa bu ad\u0131m\u0131 atlayabilirsiniz. Kurulum i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<h4>1.1 Paket Listesini G\u00fcncelleme<\/h4>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Bu komut, sisteminizdeki mevcut paket listesini g\u00fcncelleyerek en son yaz\u0131l\u0131m s\u00fcr\u00fcmlerine eri\u015fmenizi sa\u011flar.<\/p>\n<h4>1.2 Apache Kurulumu<\/h4>\n<pre><code class=\"language-bash\">sudo apt install apache2<\/code><\/pre>\n<p>Bu komut, Apache2 web sunucusunu ve ilgili ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurar.<\/p>\n<h4>1.3 G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW Kullan\u0131yorsan\u0131z)<\/h4>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) etkinse, Apache&#8217;nin web trafi\u011fine izin vermesi i\u00e7in g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 ayarlaman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>Bu komut, UFW&#8217;nin tan\u0131d\u0131\u011f\u0131 uygulama profillerini listeler. Genellikle &#8220;Apache Full&#8221;, &#8220;Apache&#8221; ve &#8220;Apache Secure&#8221; gibi profilleri g\u00f6r\u00fcrs\u00fcn\u00fcz.<br \/>\n*   <strong>Apache:<\/strong> Sadece port 80 (HTTP) trafi\u011fine izin verir.<br \/>\n*   <strong>Apache Secure:<\/strong> Sadece port 443 (HTTPS) trafi\u011fine izin verir.<br \/>\n*   <strong>Apache Full:<\/strong> Hem port 80 hem de port 443 trafi\u011fine izin verir.<\/p>\n<p>Web sunucunuzun hem HTTP hem de HTTPS \u00fczerinden eri\u015filebilir olmas\u0131n\u0131 sa\u011flamak i\u00e7in &#8220;Apache Full&#8221; profilini etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache Full'<\/code><\/pre>\n<p>Ard\u0131ndan, g\u00fcvenlik duvar\u0131 durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;Apache Full&#8221; izninin etkin oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<h4>1.4 Apache Servisinin Durumunu Kontrol Etme<\/h4>\n<p>Apache&#8217;nin ba\u015far\u0131l\u0131 bir \u015fekilde kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">systemctl status apache2<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;active (running)&#8221; ifadesini g\u00f6rmelisiniz. Ayr\u0131ca, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresine (\u00f6rne\u011fin <code>http:\/\/your_server_ip<\/code>) giderek Apache&#8217;nin varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6r\u00fcp g\u00f6rmedi\u011finizi kontrol edebilirsiniz.<\/p>\n<h3>Ad\u0131m 2: <code>.htaccess<\/code> Dosyalar\u0131n\u0131n Kullan\u0131m\u0131n\u0131 Etkinle\u015ftirme<\/h3>\n<p><code>.htaccess<\/code> dosyalar\u0131, dizin baz\u0131nda yap\u0131land\u0131rma de\u011fi\u015fiklikleri yapman\u0131za olanak tan\u0131r. Apache&#8217;nin temel kimlik do\u011frulamas\u0131n\u0131 bir <code>.htaccess<\/code> dosyas\u0131 arac\u0131l\u0131\u011f\u0131yla uygulamak istiyorsan\u0131z, \u00f6ncelikle bu \u00f6zelli\u011fin etkinle\u015ftirilmesi gerekir. Varsay\u0131lan olarak, \u00e7o\u011fu Apache kurulumunda <code>.htaccess<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla <code>AllowOverride<\/code> y\u00f6nergesi <code>None<\/code> olarak ayarlanm\u0131\u015ft\u0131r, bu da <code>.htaccess<\/code> dosyalar\u0131ndaki y\u00f6nergelerin g\u00f6z ard\u0131 edildi\u011fi anlam\u0131na gelir.<\/p>\n<h4>2.1 Apache Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>Hangi dizin i\u00e7in <code>.htaccess<\/code> kullanaca\u011f\u0131n\u0131z\u0131 belirleyin. Genellikle bu, web sitenizin k\u00f6k dizini veya korumak istedi\u011finiz belirli bir alt dizin olacakt\u0131r (\u00f6rne\u011fin, <code>\/var\/www\/html<\/code>).<\/p>\n<p>Apache&#8217;nin varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 veya sanal host yap\u0131land\u0131rma dosyas\u0131 i\u00e7inde <code>AllowOverride<\/code> y\u00f6nergesini de\u011fi\u015ftirmeniz gerekir. En yayg\u0131n senaryo, varsay\u0131lan sanal host yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemektir:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/000-default.conf<\/code><\/pre>\n<p>Bu dosyan\u0131n i\u00e7inde, sitenizin k\u00f6k dizinini (genellikle <code>\/var\/www\/html<\/code>) belirten bir <code><Directory><\/code> blo\u011fu bulmal\u0131s\u0131n\u0131z. Bu blo\u011fu a\u015fa\u011f\u0131daki gibi d\u00fczenleyin:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    # ... di\u011fer yap\u0131land\u0131rmalar ...\n\n    DocumentRoot \/var\/www\/html\n\n    <Directory \/var\/www\/html>\n        Options Indexes FollowSymLinks\n        AllowOverride All  # Bu sat\u0131r\u0131 None'dan All olarak de\u011fi\u015ftirin\n        Require all granted\n    <\/Directory>\n\n    # ... di\u011fer yap\u0131land\u0131rmalar ...\n<\/VirtualHost><\/code><\/pre>\n<p>E\u011fer belirli bir alt dizini koruyacaksan\u0131z, o dizin i\u00e7in ayr\u0131 bir <code><Directory><\/code> blo\u011fu olu\u015fturabilir veya mevcut blo\u011fu o dizini kapsayacak \u015fekilde d\u00fczenleyebilirsiniz. \u00d6rne\u011fin, <code>\/var\/www\/html\/secure_area<\/code> dizinini korumak i\u00e7in:<\/p>\n<pre><code class=\"language-apache\"><Directory \/var\/www\/html\/secure_area>\n    Options Indexes FollowSymLinks\n    AllowOverride All\n    Require all granted\n<\/Directory><\/code><\/pre>\n<p><code>AllowOverride All<\/code> y\u00f6nergesi, Apache&#8217;ye bu dizin i\u00e7indeki <code>.htaccess<\/code> dosyalar\u0131nda tan\u0131mlanan t\u00fcm y\u00f6nergeleri (kimlik do\u011frulama, yeniden yazma vb.) uygulamas\u0131n\u0131 s\u00f6yler.<\/p>\n<h4>2.2 Gerekli Apache Mod\u00fcllerini Etkinle\u015ftirme<\/h4>\n<p>Temel kimlik do\u011frulaman\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in Apache&#8217;nin belirli mod\u00fcllere ihtiyac\u0131 vard\u0131r. Bu mod\u00fcller genellikle varsay\u0131lan olarak etkindir, ancak yine de kontrol etmekte fayda var:<br \/>\n*   <code>mod_auth_basic<\/code>: Temel kimlik do\u011frulama \u015femas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>mod_authn_file<\/code>: Kimlik bilgilerini bir dosyadan (\u00f6rn. <code>.htpasswd<\/code>) okumay\u0131 sa\u011flar.<br \/>\n*   <code>mod_authz_core<\/code>: Yetkilendirme i\u00e7in temel yetenekleri sa\u011flar.<br \/>\n*   <code>mod_authz_user<\/code>: Kullan\u0131c\u0131 baz\u0131nda yetkilendirme sa\u011flar.<\/p>\n<p>Bu mod\u00fclleri etkinle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod auth_basic\nsudo a2enmod authn_file\nsudo a2enmod authz_core\nsudo a2enmod authz_user<\/code><\/pre>\n<p>Zaten etkin olan mod\u00fcller i\u00e7in bir uyar\u0131 alabilirsiniz, bu normaldir.<\/p>\n<h4>2.3 Apache&#8217;yi Yeniden Ba\u015flatma<\/h4>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fikliklerinin ve mod\u00fcl etkinle\u015ftirmelerinin uygulanmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<p>Yeniden ba\u015flatmadan \u00f6nce yap\u0131land\u0131rma dosyas\u0131nda bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>Syntax OK<\/code> ise, yap\u0131land\u0131rma dosyan\u0131zda bir s\u00f6zdizimi hatas\u0131 yok demektir.<\/p>\n<h3>Ad\u0131m 3: Kullan\u0131c\u0131 Dosyas\u0131 Olu\u015fturma (<code>.htpasswd<\/code>)<\/h3>\n<p>Apache, temel kimlik do\u011frulama i\u00e7in kullan\u0131c\u0131 adlar\u0131n\u0131 ve parolalar\u0131 \u015fifreli bir bi\u00e7imde bir dosyada saklar. Bu dosya genellikle <code>.htpasswd<\/code> olarak adland\u0131r\u0131l\u0131r. Bu dosyay\u0131 olu\u015fturmak ve y\u00f6netmek i\u00e7in <code>htpasswd<\/code> yard\u0131mc\u0131 program\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<h4>3.1 <code>apache2-utils<\/code> Paketini Kurma<\/h4>\n<p><code>htpasswd<\/code> komutu, <code>apache2-utils<\/code> paketiyle birlikte gelir. E\u011fer bu paket kurulu de\u011filse, kurman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2-utils<\/code><\/pre>\n<h4>3.2 <code>.htpasswd<\/code> Dosyas\u0131n\u0131 Olu\u015fturma<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131n\u0131, web k\u00f6k dizininizin (\u00f6rne\u011fin <code>\/var\/www\/html<\/code>) d\u0131\u015f\u0131na, Apache&#8217;nin okuyabilece\u011fi ancak web taray\u0131c\u0131lar\u0131 taraf\u0131ndan do\u011frudan eri\u015filemeyen g\u00fcvenli bir konuma yerle\u015ftirmek \u00f6nemlidir. Ortak bir yer <code>\/etc\/apache2\/<\/code> dizinidir.<\/p>\n<p>\u0130lk kullan\u0131c\u0131y\u0131 eklemek ve <code>.htpasswd<\/code> dosyas\u0131n\u0131 olu\u015fturmak i\u00e7in <code>-c<\/code> (create) bayra\u011f\u0131n\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/apache2\/.htpasswd <kullan\u0131c\u0131ad\u0131><\/code><\/pre>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/apache2\/.htpasswd adminuser<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, sizden <code>adminuser<\/code> i\u00e7in bir parola girmenizi ve onaylaman\u0131z\u0131 isteyecektir. G\u00fc\u00e7l\u00fc bir parola se\u00e7ti\u011finizden emin olun.<\/p>\n<h4>3.3 Ek Kullan\u0131c\u0131lar Ekleme<\/h4>\n<p>\u0130lk kullan\u0131c\u0131y\u0131 ekledikten sonra, ayn\u0131 dosyaya ba\u015fka kullan\u0131c\u0131lar eklemek i\u00e7in <code>-c<\/code> bayra\u011f\u0131n\u0131 <strong>kullanmay\u0131n<\/strong>. <code>-c<\/code> bayra\u011f\u0131, var olan dosyay\u0131 silip yeniden olu\u015fturaca\u011f\u0131 i\u00e7in daha \u00f6nce eklenen t\u00fcm kullan\u0131c\u0131lar\u0131 kaybedersiniz. Ek kullan\u0131c\u0131lar i\u00e7in komutu <code>-c<\/code> olmadan \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/apache2\/.htpasswd <ba\u015fka_kullan\u0131c\u0131ad\u0131><\/code><\/pre>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/apache2\/.htpasswd guestuser<\/code><\/pre>\n<p>Bu komut da sizden <code>guestuser<\/code> i\u00e7in bir parola girmenizi isteyecektir.<\/p>\n<p><code>.htpasswd<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo cat \/etc\/apache2\/.htpasswd<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, kullan\u0131c\u0131 adlar\u0131n\u0131 ve \u015fifrelenmi\u015f parolalar\u0131n\u0131 g\u00f6sterecektir (\u00f6rne\u011fin: <code>adminuser:$apr1$e45...<\/code>).<\/p>\n<h4>3.4 Dosya \u0130zinlerini Ayarlama<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131n\u0131n do\u011fru izinlere sahip olmas\u0131 \u00e7ok \u00f6nemlidir. Apache&#8217;nin bu dosyay\u0131 okuyabilmesi ancak yetkisiz kullan\u0131c\u0131lar\u0131n eri\u015fememesi gerekir.<\/p>\n<p>*   <strong>Sahip ve Grup:<\/strong> Dosyan\u0131n sahibi <code>root<\/code> ve grubunun Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131 kullan\u0131c\u0131 grubu (Ubuntu&#8217;da genellikle <code>www-data<\/code>) olmas\u0131 \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">sudo chown root:www-data \/etc\/apache2\/.htpasswd<\/code><\/pre>\n<p>*   <strong>\u0130zinler:<\/strong> Dosyaya sadece sahibinin okuma ve yazma, grubun ise sadece okuma izni olmas\u0131 yeterlidir. Di\u011ferlerinin hi\u00e7bir izni olmamal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chmod 640 \/etc\/apache2\/.htpasswd<\/code><\/pre>\n<p>Bu izinler, <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n dosyay\u0131 d\u00fczenlemesine, <code>www-data<\/code> grubunun (Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131 grup) dosyay\u0131 okumas\u0131na ve di\u011fer kullan\u0131c\u0131lar\u0131n dosyaya eri\u015fimini engellemesine olanak tan\u0131r.<\/p>\n<h3>Ad\u0131m 4: Apache Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h3>\n<p>Kimlik do\u011frulama kurallar\u0131n\u0131 Apache&#8217;ye bildirmenin iki ana yolu vard\u0131r: <code>.htaccess<\/code> dosyas\u0131 kullanarak veya sanal host yap\u0131land\u0131rma dosyas\u0131 i\u00e7inde do\u011frudan belirterek. Her iki y\u00f6ntemin de avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r.<\/p>\n<h4>Y\u00f6ntem A: <code>.htaccess<\/code> Kullanarak Kimlik Do\u011frulama<\/h4>\n<p>Bu y\u00f6ntem, daha esneklik sunar ve sunucu yap\u0131land\u0131rma dosyas\u0131na eri\u015fiminiz yoksa kullan\u0131\u015fl\u0131d\u0131r. Ancak, her istekte <code>.htaccess<\/code> dosyas\u0131n\u0131n okunmas\u0131 Apache i\u00e7in hafif bir performans y\u00fck\u00fc olu\u015fturabilir.<\/p>\n<p>1.  <strong>Korunacak Dizini Olu\u015fturma (Gerekliyse):<\/strong><br \/>\n    \u00d6rne\u011fin, <code>\/var\/www\/html\/private<\/code> adl\u0131 bir dizini korumak istedi\u011finizi varsayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/var\/www\/html\/private\n    sudo chown www-data:www-data \/var\/www\/html\/private<\/code><\/pre>\n<p>    Bu dizine test ama\u00e7l\u0131 bir dosya da ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">echo \"Bu, \u00f6zel bir aland\u0131r.\" | sudo tee \/var\/www\/html\/private\/index.html<\/code><\/pre>\n<p>2.  <strong><code>.htaccess<\/code> Dosyas\u0131n\u0131 Olu\u015fturma:<\/strong><br \/>\n    Korunacak dizinin i\u00e7ine <code>.htaccess<\/code> ad\u0131nda bir dosya olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/html\/private\/.htaccess<\/code><\/pre>\n<p>3.  <strong>Yap\u0131land\u0131rma Y\u00f6nergelerini Ekleme:<\/strong><br \/>\n    A\u015fa\u011f\u0131daki y\u00f6nergeleri <code>.htaccess<\/code> dosyas\u0131na ekleyin:<\/p>\n<pre><code class=\"language-apache\">AuthType Basic\n    AuthName \"K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n\"\n    AuthUserFile \/etc\/apache2\/.htpasswd\n    Require valid-user<\/code><\/pre>\n<p>    *   <strong><code>AuthType Basic<\/code><\/strong>: Apache&#8217;ye temel kimlik do\u011frulama \u015femas\u0131n\u0131 kullanmas\u0131n\u0131 s\u00f6yler.<br \/>\n    *   <strong><code>AuthName \"K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n\"<\/code><\/strong>: Kullan\u0131c\u0131ya g\u00f6sterilecek kimlik do\u011frulama kutusundaki mesaj\u0131 belirler. Bu, kullan\u0131c\u0131lar\u0131n neden kimlik bilgilerini girmeleri gerekti\u011fini anlamalar\u0131na yard\u0131mc\u0131 olur.<br \/>\n    *   <strong><code>AuthUserFile \/etc\/apache2\/.htpasswd<\/code><\/strong>: Kullan\u0131c\u0131 adlar\u0131 ve parolalar\u0131n sakland\u0131\u011f\u0131 <code>.htpasswd<\/code> dosyas\u0131n\u0131n tam yolunu belirtir.<br \/>\n    *   <strong><code>Require valid-user<\/code><\/strong>: <code>.htpasswd<\/code> dosyas\u0131nda tan\u0131mlanan ge\u00e7erli herhangi bir kullan\u0131c\u0131n\u0131n eri\u015fimine izin verir. Belirli bir kullan\u0131c\u0131ya izin vermek isterseniz <code>Require user <kullan\u0131c\u0131ad\u0131><\/code> kullanabilirsiniz.<\/p>\n<p>4.  <strong>Kaydet ve Kapat:<\/strong> Dosyay\u0131 kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano i\u00e7in <code>Ctrl+X<\/code>, <code>Y<\/code>, <code>Enter<\/code>).<\/p>\n<p>Bu y\u00f6ntem, <code>AllowOverride All<\/code> ayar\u0131n\u0131 yapt\u0131\u011f\u0131n\u0131z s\u00fcrece hemen etkili olacakt\u0131r. Apache&#8217;yi yeniden ba\u015flatman\u0131za gerek yoktur, ancak \u00f6nceki ad\u0131mda zaten yeniden ba\u015flatm\u0131\u015f olmal\u0131s\u0131n\u0131z.<\/p>\n<h4>Y\u00f6ntem B: Sanal Host Yap\u0131land\u0131rmas\u0131nda Kimlik Do\u011frulama<\/h4>\n<p>Bu y\u00f6ntem, genellikle <code>.htaccess<\/code> kullan\u0131m\u0131na g\u00f6re daha g\u00fcvenli ve performansl\u0131 kabul edilir, \u00e7\u00fcnk\u00fc Apache her istekte ek bir dosya okumak zorunda kalmaz. T\u00fcm yap\u0131land\u0131rma sunucu taraf\u0131nda merkezi olarak y\u00f6netilir.<\/p>\n<p>1.  <strong>Sanal Host Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme:<\/strong><br \/>\n    Varsay\u0131lan sanal host dosyas\u0131n\u0131 (veya korumak istedi\u011finiz alan i\u00e7in \u00f6zel bir sanal host dosyas\u0131n\u0131) a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/000-default.conf<\/code><\/pre>\n<p>2.  <strong><code><Directory><\/code> Blo\u011fu Ekleme veya D\u00fczenleme:<\/strong><br \/>\n    Korunacak dizin i\u00e7in bir <code><Directory><\/code> blo\u011fu bulun veya olu\u015fturun ve i\u00e7ine kimlik do\u011frulama y\u00f6nergelerini ekleyin. \u00d6rne\u011fin, <code>\/var\/www\/html\/private<\/code> dizinini korumak i\u00e7in:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n        # ... di\u011fer yap\u0131land\u0131rmalar ...\n\n        DocumentRoot \/var\/www\/html\n\n        <Directory \/var\/www\/html\/private>\n            AuthType Basic\n            AuthName \"K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n\"\n            AuthUserFile \/etc\/apache2\/.htpasswd\n            Require valid-user\n        <\/Directory>\n\n        # ... di\u011fer yap\u0131land\u0131rmalar ...\n    <\/VirtualHost><\/code><\/pre>\n<p>    E\u011fer t\u00fcm web k\u00f6k dizinini korumak isterseniz, <code>DocumentRoot<\/code>&#8216;un ba\u011fl\u0131 oldu\u011fu <code><Directory><\/code> blo\u011funu d\u00fczenleyebilirsiniz:<\/p>\n<pre><code class=\"language-apache\"><Directory \/var\/www\/html>\n        Options Indexes FollowSymLinks\n        AllowOverride None  # E\u011fer sadece bu y\u00f6ntemle koruyorsan\u0131z, bunu None b\u0131rakabilirsiniz.\n        Require all granted\n\n        # Kimlik do\u011frulama y\u00f6nergeleri\n        AuthType Basic\n        AuthName \"T\u00fcm Siteye Eri\u015fim K\u0131s\u0131tl\u0131\"\n        AuthUserFile \/etc\/apache2\/.htpasswd\n        Require valid-user\n    <\/Directory><\/code><\/pre>\n<p>    Bu y\u00f6ntemi kullan\u0131rken, <code>AllowOverride All<\/code> ayar\u0131n\u0131 <code>None<\/code> olarak b\u0131rakabilirsiniz, \u00e7\u00fcnk\u00fc <code>.htaccess<\/code> dosyalar\u0131na ihtiyac\u0131n\u0131z kalmaz. Bu, performans\u0131 bir miktar art\u0131rabilir ve <code>.htaccess<\/code> dosyalar\u0131n\u0131n yanl\u0131\u015f yap\u0131land\u0131r\u0131larak g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7mas\u0131n\u0131 engeller.<\/p>\n<p>3.  <strong>Kaydet ve Kapat:<\/strong> Dosyay\u0131 kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n.<\/p>\n<h3>Ad\u0131m 5: Apache&#8217;yi Yeniden Ba\u015flatma<\/h3>\n<p>Sanal host yap\u0131land\u0131rma dosyalar\u0131nda yap\u0131lan de\u011fi\u015fikliklerin uygulanmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flatman\u0131z gerekir.<\/p>\n<h4>5.1 Yap\u0131land\u0131rma S\u00f6zdizimini Kontrol Etme<\/h4>\n<p>Yeniden ba\u015flatmadan \u00f6nce herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 <code>Syntax OK<\/code> ise, devam edebilirsiniz. Herhangi bir hata varsa, hatay\u0131 d\u00fczeltmek i\u00e7in yap\u0131land\u0131rma dosyas\u0131n\u0131 tekrar kontrol edin.<\/p>\n<h4>5.2 Apache Servisini Yeniden Ba\u015flatma<\/h4>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<p>Bu komut, Apache&#8217;yi durdurur ve yeni yap\u0131land\u0131rma ile tekrar ba\u015flat\u0131r.<\/p>\n<h3>Ad\u0131m 6: Kimlik Do\u011frulamay\u0131 Test Etme<\/h3>\n<p>Art\u0131k kimlik do\u011frulama kurulumunuz tamamland\u0131\u011f\u0131na g\u00f6re, her \u015feyin beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in test etmelisiniz.<\/p>\n<p>1.  <strong>Web Taray\u0131c\u0131n\u0131z\u0131 A\u00e7\u0131n:<\/strong> Bilgisayar\u0131n\u0131zdaki favori web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n.<br \/>\n2.  <strong>Korumal\u0131 URL&#8217;ye Gidin:<\/strong> Korumal\u0131 dizinin URL&#8217;sine gidin. \u00d6rne\u011fin, sunucunuzun IP adresi <code>your_server_ip<\/code> ise ve <code>\/var\/www\/html\/private<\/code> dizinini koruduysan\u0131z, <code>http:\/\/your_server_ip\/private<\/code> adresine gidin.<br \/>\n3.  <strong>Kimlik Do\u011frulama Kutusu:<\/strong> Taray\u0131c\u0131n\u0131z\u0131n bir kimlik do\u011frulama kutusu (genellikle k\u00fc\u00e7\u00fck bir pencere) g\u00f6stermesi gerekir. Bu kutunun ba\u015fl\u0131\u011f\u0131nda veya i\u00e7inde <code>AuthName<\/code> y\u00f6nergesinde belirtti\u011finiz mesaj\u0131 (<code>K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n<\/code>) g\u00f6rmelisiniz.<br \/>\n4.  <strong>Kimlik Bilgilerini Girin:<\/strong> <code>.htpasswd<\/code> dosyas\u0131na ekledi\u011finiz kullan\u0131c\u0131 adlar\u0131ndan birini (\u00f6rne\u011fin <code>adminuser<\/code>) ve ilgili parolay\u0131 girin.<br \/>\n5.  <strong>Eri\u015fimi Do\u011frulay\u0131n:<\/strong> E\u011fer kimlik bilgileri do\u011fruysa, korumal\u0131 dizinin i\u00e7eri\u011fini (\u00f6rne\u011fin <code>index.html<\/code> dosyan\u0131zdaki &#8220;Bu, \u00f6zel bir aland\u0131r.&#8221; mesaj\u0131n\u0131) g\u00f6rmelisiniz. E\u011fer yanl\u0131\u015f kimlik bilgileri girerseniz, kutu tekrar g\u00f6r\u00fcn\u00fcr veya bir &#8220;401 Unauthorized&#8221; hatas\u0131 al\u0131rs\u0131n\u0131z.<\/p>\n<p>Bu ad\u0131mlar\u0131 ba\u015far\u0131yla tamamlad\u0131ysan\u0131z, Apache \u00fczerinde temel kimlik do\u011frulama kurulumunu ba\u015far\u0131yla ger\u00e7ekle\u015ftirmi\u015fsiniz demektir.<\/p>\n<h3>Ek G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>Temel kimlik do\u011frulama, basit ve h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcm olsa da, g\u00fcvenli\u011fi art\u0131rmak i\u00e7in ek \u00f6nlemler alman\u0131z \u00f6nemlidir. \u00d6zellikle Ubuntu 16.04 gibi art\u0131k g\u00fcvenlik g\u00fcncellemeleri almayan bir sistemde bu daha da kritiktir.<\/p>\n<h4>SSL\/TLS (HTTPS) Kullan\u0131m\u0131<\/h4>\n<p><strong>Bu, temel kimlik do\u011frulaman\u0131n en kritik g\u00fcvenlik gereksinimidir.<\/strong> Daha \u00f6nce de belirtildi\u011fi gibi, Basic Auth kimlik bilgilerini Base64 ile kodlar, bu da \u015fifreleme de\u011fildir ve kolayca \u00e7\u00f6z\u00fclebilir. HTTPS (SSL\/TLS) kullanmadan Basic Auth uyguland\u0131\u011f\u0131nda, kullan\u0131c\u0131 adlar\u0131 ve parolalar a\u011f \u00fczerinden d\u00fcz metin olarak g\u00f6nderilir gibi savunmas\u0131z kal\u0131r ve araya girme (man-in-the-middle) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 savunmas\u0131zd\u0131r.<\/p>\n<p>*   <strong>SSL Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo a2enmod ssl<\/code><\/pre>\n<p>*   <strong>Varsay\u0131lan SSL Sitesini Etkinle\u015ftirme (Gerekliyse):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo a2ensite default-ssl.conf<\/code><\/pre>\n<p>*   <strong>Apache&#8217;yi Yeniden Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<p>*   <strong>Sertifika Kurulumu:<\/strong> \u00dccretsiz ve otomatikle\u015ftirilmi\u015f SSL sertifikalar\u0131 i\u00e7in Let&#8217;s Encrypt ve Certbot kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. Ubuntu 16.04 i\u00e7in Certbot kurulumu:<\/p>\n<pre><code class=\"language-bash\">sudo apt install software-properties-common\n    sudo add-apt-repository ppa:certbot\/certbot\n    sudo apt update\n    sudo apt install python-certbot-apache\n    sudo certbot --apache -d your_domain.com -d www.your_domain.com<\/code><\/pre>\n<p>    Bu komutlar Certbot&#8217;u kuracak ve Apache sanal hostunuz i\u00e7in bir Let&#8217;s Encrypt sertifikas\u0131 al\u0131p otomatik olarak yap\u0131land\u0131racakt\u0131r.<\/p>\n<h4>G\u00fc\u00e7l\u00fc \u015eifreler<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131ndaki her kullan\u0131c\u0131 i\u00e7in g\u00fc\u00e7l\u00fc, karma\u015f\u0131k ve benzersiz parolalar kullan\u0131n. B\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfler, say\u0131lar ve \u00f6zel karakterler i\u00e7eren uzun parolalar tercih edin.<\/p>\n<h4><code>.htpasswd<\/code> Dosyas\u0131n\u0131n Konumu<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131n\u0131 her zaman web k\u00f6k dizininin d\u0131\u015f\u0131na (\u00f6rne\u011fin <code>\/etc\/apache2\/<\/code> veya <code>\/usr\/local\/apache\/passwd\/<\/code> gibi) yerle\u015ftirin. Bu, taray\u0131c\u0131lar\u0131n bu dosyaya do\u011frudan eri\u015fmesini engeller ve potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 azalt\u0131r. E\u011fer yanl\u0131\u015fl\u0131kla web k\u00f6k dizininin i\u00e7ine koymak zorunda kal\u0131rsan\u0131z, Apache&#8217;nin bu dosyaya do\u011frudan eri\u015fimi engelledi\u011finden emin olun. Varsay\u0131lan olarak, Apache <code>.ht*<\/code> uzant\u0131l\u0131 dosyalara eri\u015fimi engeller, ancak bu kural\u0131n mevcut oldu\u011fundan emin olun.<\/p>\n<h4>IP Adresi K\u0131s\u0131tlamalar\u0131<\/h4>\n<p>E\u011fer korumal\u0131 alana sadece belirli IP adreslerinden eri\u015filmesi gerekiyorsa, kimlik do\u011frulama y\u00f6nergelerine ek olarak IP adresi tabanl\u0131 k\u0131s\u0131tlamalar ekleyebilirsiniz.<\/p>\n<pre><code class=\"language-apache\"><Directory \/var\/www\/html\/private>\n    AuthType Basic\n    AuthName \"K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n\"\n    AuthUserFile \/etc\/apache2\/.htpasswd\n    \n    # Sadece belirli bir IP adresinden gelen kullan\u0131c\u0131lar\u0131n eri\u015fimine izin ver\n    Require ip 192.168.1.100\n    \n    # Veya hem IP hem de ge\u00e7erli kullan\u0131c\u0131\n    <RequireAll>\n        Require ip 192.168.1.100\n        Require valid-user\n    <\/RequireAll>\n    \n    # Veya sadece ge\u00e7erli kullan\u0131c\u0131lar\u0131n eri\u015fimine izin ver ve belirli bir IP aral\u0131\u011f\u0131ndan geliyorsa\n    <RequireAny>\n        Require ip 192.168.1.0\/24\n        Require valid-user\n    <\/RequireAny>\n\n    # Yukar\u0131daki \u00f6rnekler yerine, sadece ge\u00e7erli kullan\u0131c\u0131 i\u00e7in:\n    # Require valid-user\n<\/Directory><\/code><\/pre>\n<p><code>RequireAll<\/code> ve <code>RequireAny<\/code> y\u00f6nergeleri, birden fazla kural\u0131 birle\u015ftirmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>Kullan\u0131c\u0131 Y\u00f6netimi<\/h4>\n<p>*   <strong>Kullan\u0131c\u0131 Ekleme:<\/strong> <code>sudo htpasswd \/etc\/apache2\/.htpasswd <yeni_kullan\u0131c\u0131ad\u0131><\/code><br \/>\n*   <strong>Kullan\u0131c\u0131 \u015eifresini De\u011fi\u015ftirme:<\/strong> Ayn\u0131 komutu mevcut bir kullan\u0131c\u0131 ad\u0131 ile \u00e7al\u0131\u015ft\u0131r\u0131n. <code>sudo htpasswd \/etc\/apache2\/.htpasswd <mevcut_kullan\u0131c\u0131ad\u0131><\/code><br \/>\n*   <strong>Kullan\u0131c\u0131 Silme:<\/strong> <code>sudo htpasswd -D \/etc\/apache2\/.htpasswd <silinecek_kullan\u0131c\u0131ad\u0131><\/code><\/p>\n<p>Bu y\u00f6netim i\u015flemlerini yaparken dikkatli olun ve her zaman <code>.htpasswd<\/code> dosyas\u0131n\u0131n yede\u011fini almay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (FAQ)<\/h3>\n<h4>Neden Basic Auth kullanmal\u0131y\u0131m?<\/h4>\n<p>Basic Auth, belirli bir web dizinini veya dosyas\u0131n\u0131 h\u0131zl\u0131 ve kolay bir \u015fekilde parola ile koruman\u0131n en basit yoludur. Kurulumu kolayd\u0131r, ek yaz\u0131l\u0131m gerektirmez (Apache&#8217;nin kendi mod\u00fclleri hari\u00e7) ve \u00e7o\u011fu senaryoda yeterli olabilir (\u00f6zellikle HTTPS ile birlikte kullan\u0131ld\u0131\u011f\u0131nda). Geli\u015ftirme ortamlar\u0131, dahili belgeler veya test siteleri gibi hassas olmayan veya ge\u00e7ici koruma gerektiren durumlar i\u00e7in idealdir.<\/p>\n<h4>Basic Auth ne kadar g\u00fcvenli?<\/h4>\n<p>Basic Auth, kimlik bilgilerini Base64 ile kodlar, bu da bir \u015fifreleme de\u011fildir ve kolayca \u00e7\u00f6z\u00fclebilir. Bu nedenle, HTTPS (SSL\/TLS) olmadan kullan\u0131ld\u0131\u011f\u0131nda kimlik bilgileri a\u011f \u00fczerinden &#8220;d\u00fcz metin&#8221; olarak iletilmi\u015f gibi savunmas\u0131z kal\u0131r. <strong>HTTPS ile birlikte kullan\u0131ld\u0131\u011f\u0131nda g\u00fcvenli\u011fi \u00f6nemli \u00f6l\u00e7\u00fcde artar<\/strong>, \u00e7\u00fcnk\u00fc t\u00fcm ileti\u015fim kanal\u0131 \u015fifrelenir ve kimlik bilgileri a\u011f dinlemelerine kar\u015f\u0131 korunur. Ancak, HTTPS ile bile, kaba kuvvet sald\u0131r\u0131lar\u0131na veya zay\u0131f parolalara kar\u015f\u0131 hassas olabilir.<\/p>\n<h4><code>.htpasswd<\/code> dosyas\u0131 nerede olmal\u0131?<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131, web sunucusunun eri\u015febilece\u011fi, ancak web taray\u0131c\u0131lar\u0131 taraf\u0131ndan do\u011frudan eri\u015filemeyen bir dizinde olmal\u0131d\u0131r. Genellikle <code>\/etc\/apache2\/<\/code>, <code>\/usr\/local\/apache\/passwd\/<\/code> veya Apache&#8217;nin yap\u0131land\u0131rma dizinlerinden biri tercih edilir. <strong>Asla web k\u00f6k dizininizin (\u00f6rne\u011fin <code>\/var\/www\/html<\/code>) i\u00e7ine veya alt\u0131na koymay\u0131n.<\/strong> Varsay\u0131lan Apache yap\u0131land\u0131rmas\u0131 <code>.ht<\/code> ile ba\u015flayan dosyalara do\u011frudan eri\u015fimi engeller, ancak yine de risk almamak en iyisidir.<\/p>\n<h4>Birden fazla kullan\u0131c\u0131 nas\u0131l eklenir?<\/h4>\n<p>\u0130lk kullan\u0131c\u0131y\u0131 eklerken kulland\u0131\u011f\u0131n\u0131z <code>sudo htpasswd -c \/etc\/apache2\/.htpasswd <kullan\u0131c\u0131ad\u0131><\/code> komutundaki <code>-c<\/code> (create) bayra\u011f\u0131n\u0131, sonraki kullan\u0131c\u0131lar\u0131 eklerken <strong>kullanmay\u0131n<\/strong>. <code>-c<\/code> bayra\u011f\u0131, dosyay\u0131 yeniden olu\u015fturur ve mevcut t\u00fcm kullan\u0131c\u0131lar\u0131 siler. Yeni kullan\u0131c\u0131lar\u0131 eklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/apache2\/.htpasswd <yeni_kullan\u0131c\u0131ad\u0131><\/code><\/pre>\n<p>Bu komut, mevcut dosyaya yeni bir kullan\u0131c\u0131 ekler.<\/p>\n<h4>Kimlik do\u011frulama neden \u00e7al\u0131\u015fm\u0131yor?<\/h4>\n<p>Birka\u00e7 olas\u0131 neden olabilir:<br \/>\n*   <strong><code>AllowOverride All<\/code> Ayar\u0131 Eksik:<\/strong> <code>.htaccess<\/code> kullan\u0131yorsan\u0131z, Apache yap\u0131land\u0131rma dosyan\u0131zda ilgili dizin i\u00e7in <code>AllowOverride All<\/code> ayar\u0131n\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Apache Mod\u00fclleri Etkin De\u011fil:<\/strong> <code>mod_auth_basic<\/code>, <code>mod_authn_file<\/code>, <code>mod_authz_core<\/code>, <code>mod_authz_user<\/code> gibi gerekli Apache mod\u00fcllerinin etkin oldu\u011fundan emin olun (<code>sudo a2enmod <mod\u00fcl_ad\u0131><\/code>).<br \/>\n*   <strong>Apache Yeniden Ba\u015flat\u0131lmad\u0131:<\/strong> Yap\u0131land\u0131rma de\u011fi\u015fikliklerinden sonra Apache servisini yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun (<code>sudo systemctl restart apache2<\/code>).<br \/>\n*   <strong><code>.htpasswd<\/code> Dosya Yolu Yanl\u0131\u015f:<\/strong> <code>AuthUserFile<\/code> y\u00f6nergesinde belirtilen <code>.htpasswd<\/code> dosya yolunun do\u011fru oldu\u011fundan emin olun.<br \/>\n*   <strong><code>.htpasswd<\/code> Dosya \u0130zinleri:<\/strong> Apache&#8217;nin <code>www-data<\/code> kullan\u0131c\u0131s\u0131 veya grubu arac\u0131l\u0131\u011f\u0131yla <code>.htpasswd<\/code> dosyas\u0131n\u0131 okuma iznine sahip oldu\u011fundan emin olun (<code>sudo chmod 640 \/etc\/apache2\/.htpasswd<\/code>, <code>sudo chown root:www-data \/etc\/apache2\/.htpasswd<\/code>).<br \/>\n*   <strong>S\u00f6zdizimi Hatalar\u0131:<\/strong> Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131zda veya <code>.htaccess<\/code> dosyas\u0131nda s\u00f6zdizimi hatalar\u0131 olabilir. <code>sudo apache2ctl configtest<\/code> komutunu kullanarak kontrol edin.<br \/>\n*   <strong>Yanl\u0131\u015f Kullan\u0131c\u0131 Ad\u0131\/Parola:<\/strong> Kimlik do\u011frulama kutusuna do\u011fru kullan\u0131c\u0131 ad\u0131 ve parolay\u0131 girdi\u011finizden emin olun.<br \/>\n*   <strong>\u00d6nbellek:<\/strong> Taray\u0131c\u0131 \u00f6nbelle\u011fini temizlemeyi veya gizli modda denemeyi deneyin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 \u00fczerinde Apache web sunucusunda dizinler ve dosyalar i\u00e7in temel kimlik do\u011frulama (Basic Auth) kurulumunu ad\u0131m ad\u0131m \u00f6\u011frendiniz. Apache&#8217;nin nas\u0131l kurulaca\u011f\u0131ndan, <code>.htaccess<\/code> dosyalar\u0131n\u0131n nas\u0131l etkinle\u015ftirilece\u011fine, kullan\u0131c\u0131 adlar\u0131 ve parolalar\u0131n g\u00fcvenli bir \u015fekilde nas\u0131l saklanaca\u011f\u0131na ve Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131n nas\u0131l d\u00fczenlenece\u011fine kadar t\u00fcm s\u00fcre\u00e7 detayl\u0131 bir \u015fekilde a\u00e7\u0131kland\u0131.<\/p>\n<p>Temel kimlik do\u011frulama, belirli web alanlar\u0131n\u0131 yetkisiz eri\u015fime kar\u015f\u0131 korumak i\u00e7in basit ve etkili bir y\u00f6ntem sunar. Ancak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan en iyi uygulamalar\u0131n ba\u015f\u0131nda <strong>her zaman SSL\/TLS (HTTPS) ile birlikte kullan\u0131lmas\u0131<\/strong> gelir. Bu, kimlik bilgilerinin a\u011f \u00fczerinden \u015fifrelenerek iletilmesini sa\u011flar ve potansiyel g\u00fcvenlik risklerini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Ayr\u0131ca, <code>.htpasswd<\/code> dosyas\u0131n\u0131n g\u00fcvenli bir konumda saklanmas\u0131 ve g\u00fc\u00e7l\u00fc, benzersiz parolalar kullan\u0131lmas\u0131 da genel g\u00fcvenli\u011fi art\u0131racakt\u0131r.<\/p>\n<p>Bu kurulumu do\u011fru bir \u015fekilde uygulayarak, web sitelerinizin veya uygulamalar\u0131n\u0131z\u0131n belirli b\u00f6l\u00fcmlerine eri\u015fimi g\u00fcvenli bir \u015fekilde k\u0131s\u0131tlayabilirsiniz. Unutmay\u0131n ki, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir ve sistemlerinizi d\u00fczenli olarak g\u00fcncellemek ve en iyi uygulamalar\u0131 takip etmek her zaman \u00f6nemlidir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi\nApache HTTP Sunucusu, web sitelerini ve web uygulamalar\u0131n\u0131 yay\u0131nlam","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":[1468],"tags":[],"class_list":{"0":"post-31718","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi\" \/>\n<meta property=\"og:description\" content=\"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi Apache HTTP Sunucusu, web sitelerini ve web uygulamalar\u0131n\u0131 yay\u0131nlam\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-13T03:40:59+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=\"22 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi\",\"datePublished\":\"2025-10-13T03:40:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\"},\"wordCount\":3655,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\",\"name\":\"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-13T03:40:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi","og_description":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi Apache HTTP Sunucusu, web sitelerini ve web uygulamalar\u0131n\u0131 yay\u0131nlam","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-13T03:40:59+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"22 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi","datePublished":"2025-10-13T03:40:59+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/"},"wordCount":3655,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/","name":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-13T03:40:59+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-uzerinde-sifre-dogrulama-basic-auth-kurulumu-ubuntu-16-04-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache \u00dczerinde \u015eifre Do\u011frulama (Basic Auth) Kurulumu: Ubuntu 16.04 Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31718","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=31718"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31718\/revisions"}],"predecessor-version":[{"id":31719,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31718\/revisions\/31719"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}