Apache Basic Authentication Kurulumu
Bu rehberde Apache web sunucusunda Basic Authentication (parola koruması) kurulumunu öğreneceksiniz.
Bu yöntem sayesinde belirli dizinleri:
- Kullanıcı adı ve şifre ile koruyabilir
- Admin paneli gibi alanları gizleyebilir
- Yetkisiz erişimi engelleyebilirsiniz
Apache üzerinde bu işlem .htpasswd dosyası ve AuthType Basic yapılandırması ile yapılır.
Apache Parola Koruması Nedir?
Basic Authentication, web sunucusunda bir dizine erişmeden önce kullanıcıdan:
- Kullanıcı adı
- Şifre
isteyen basit bir güvenlik katmanıdır.
Örnek:
/admin
→ giriş ekranı açılır
1. Gerekli Paketleri Kurma
Apache yardımcı araçlarını yükleyin:
sudo apt update
sudo apt install apache2-utils
Bu paket htpasswd aracını sağlar.
2. .htpasswd Dosyası Oluşturma
İlk kullanıcıyı oluşturma
sudo htpasswd -c /etc/apache2/.htpasswd rabisu-user
Açıklama
-c → yeni dosya oluşturur (SADECE ilk kullanıcıda kullanılır)
Yeni kullanıcı ekleme:
sudo htpasswd /etc/apache2/.htpasswd yeni-kullanici
Dosyayı kontrol etme
cat /etc/apache2/.htpasswd
3. Apache VirtualHost ile Parola Koruması
VirtualHost dosyasını açın
sudo nano /etc/apache2/sites-available/rabisu.cloud.conf
Güvenli yapılandırma (Önerilen yöntem)
<VirtualHost *:443>
ServerName rabisu.cloud
DocumentRoot /var/www/rabisu.cloud
<Directory "/var/www/rabisu.cloud">
AuthType Basic
AuthName "Gizli Alan"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
Apache yapılandırmasını test edin
sudo apache2ctl configtest
Apache’yi yeniden başlatın
sudo systemctl restart apache2
4. Alternatif Yöntem: .htaccess ile Parola Koruması
AllowOverride aktif etme
sudo nano /etc/apache2/apache2.conf
Directory ayarı
<Directory /var/www/rabisu.cloud>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
.htaccessdosyası oluşturma:
sudo nano /var/www/rabisu.cloud/.htaccess
Authentication kuralları:
AuthType Basic
AuthName "Gizli Yönetim Alanı"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Apache yeniden başlatma
sudo systemctl restart apache2
5. Parola Korumasını Test Etme
Siteye giriş yaptığınızda:
Kullanıcı adı / şifre ekranı gelir,
Doğru bilgi → erişim sağlanır
Yanlış bilgi → 401 Unauthorized hatası alınır.
Güvenlik Notu
.htpasswdneden dışarıda tutulmaz?
Web kök dizinine konulursa indirilebilir Güvenlik açığı oluşturur
HTTPS neden önemli?
Basic Auth şifreleri:
HTTPS yoksa Base64 olarak iletilir HTTPS varsa şifrelenmiş olur
Sıkça Sorulan Sorular
Basic Authentication güvenli mi?
Evet, ancak yalnızca HTTPS ile birlikte kullanıldığında güvenlidir.
VirtualHost mu .htaccess mi daha iyi?
VirtualHost → daha hızlı ve güvenli (önerilen) .htaccess → esnek ama daha yavaş
Belirli kullanıcıya erişim verebilir miyim?
Evet:
Require user rabisu-user
Şifre nasıl değiştirilir?
Aynı htpasswd komutu tekrar çalıştırılır.
Sonuç
Bu rehber ile Ubuntu 20.04 üzerinde:
Apache Basic Authentication kurdunuz Dizinleri parola ile koruma altına aldınız .htpasswd kullanıcı yönetimini öğrendiniz
Bu yapı özellikle:
Admin panelleri
Test ortamları
Gizli dizinler
için idealdir.
Daha güvenli sunucu yönetimi için Rabisu Bulut altyapısını kullanabilirsiniz.