Ana içeriğe geç

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>

.htaccess dosyası 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

.htpasswd neden 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.