Ana içeriğe geç

🔐 Apache Parola Koruması Ubuntu 20.04 – Dizinleri Şifre ile Güvenli Hale Getirme

Meta Açıklaması: Ubuntu 20.04 üzerinde Apache ile dizinleri parola korumasına almayı, .htpasswd oluşturmayı ve Basic Authentication yapılandırmasını adım adım öğrenin.


📘 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde Apache üzerinde dizinlere parola koruması eklemeyi öğreneceksiniz.
.htpasswd dosyasının nasıl oluşturulduğunu, Sanal Sunucu veya .htaccess üzerinden Basic Authentication yapılandırmasını ve yapılandırmanın nasıl test edildiğini adım adım göreceksiniz.


🛠️ Adım 1 — Apache Yardımcı Araçlarını Kurma

sudo apt update
  • Paket dizinini günceller.

sudo apt install apache2-utils
  • htpasswd aracını kurar.

🔑 Adım 2 — Parola Dosyasını Oluşturma (.htpasswd)

1. ✔ İlk Kullanıcıyı Oluşturma


sudo htpasswd -c /etc/apache2/.htpasswd rabisu-user
  • -c yalnızca ilk kullanıcı oluşturulurken kullanılır.

2. ✔ Ek Kullanıcı Ekleme


sudo htpasswd /etc/apache2/.htpasswd yeni-kullanici

3. ✔ Dosyayı Kontrol Etme


cat /etc/apache2/.htpasswd

🧩 Adım 3 — Apache Üzerinde Parola Koruması Yapılandırma


3.1🥇 Tercih Edilen Yöntem: Sanal Sunucu (Virtual Host) İçinde Yapılandırma


sudo nano /etc/apache2/sites-available/rabisu.cloud.conf

1. Directory Bloğunu Ekleyin


<VirtualHost *:443>
ServerName rabisu.cloud
DocumentRoot /var/www/rabisu.cloud

<Directory "/var/www/rabisu.cloud">
AuthType Basic
AuthName "Gizli Yönetim Alanı"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>

2. Yapılandırmayı Test Edin


sudo apache2ctl configtest

3. Apache’yi Yeniden Başlatın


sudo systemctl restart apache2

🧩 Adım 4 — Alternatif Yöntem: .htaccess ile Parola Koruması

1. AllowOverride Ayarını Açın


sudo nano /etc/apache2/apache2.conf

<Directory /var/www/rabisu.cloud>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

2. .htaccess Dosyasını Oluşturun


sudo nano /var/www/rabisu.cloud/.htaccess

AuthType Basic
AuthName "Gizli Yönetim Paneli"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

3. Apache’yi Yeniden Başlatın


sudo systemctl restart apache2

🧪 Adım 5 — Parola Korumasını Test Etme

Siteye gittiğinizde kullanıcı adı–şifre penceresi açılmalıdır.

Doğru bilgiler → erişim sağlanır.

Yanlış bilgiler → 401 Unauthorized hatası alınır.


❓ Sıkça Sorulan Sorular (SSS)

1. .htpasswd dosyası neden web kök dizininde tutulmaz? Güvenlik nedeniyle. Hassas dosyaların tarayıcı üzerinden indirilebilme riskini engeller.

2. Basic Authentication güvenli mi? HTTPS ile birlikte güvenlidir. Aksi takdirde şifreler Base64 kodlanmış şekilde iletilir.


3. Belirli kullanıcılara özel erişim verebilir miyim? Evet: Require user rabisu-user ali veli

4. Hangi yöntem daha performanslı? Virtual Host içinde yapılandırma .htaccess’e göre daha hızlıdır.

5. Şifreyi nasıl değiştiririm? Aynı htpasswd komutuyla yeniden yazabilirsiniz.


🏁 Sonuç

Ubuntu 20.04 üzerinde Apache parola korumasını başarıyla yapılandırdınız. Bu yöntemle sitenizin özel dizinlerini yetkisiz erişime karşı güvenle koruyabilirsiniz.

Bu güvenlik yapılandırmalarını Rabisu Bulut altyapısında hemen uygulayabilirsiniz. 🚀