Ubuntu’da Apache htpasswd Kimlik Doğrulaması nasıl kurulur
AlexHost Ubuntu VPS’de Apache htpasswd ile Sitenizi Kilitleyin
Neden htpasswd kullanılmalı? Apache’nin htpasswd’si, web dizinlerini (yönetici panelleri veya geliştirme siteleri gibi) basit bir kullanıcı adı/parola kapısı ile güvence altına almak için hızlı biletinizdir. Hafiftir, temel erişim kontrolü için mükemmeldir ve Apache çalıştıran bir AlexHost Ubuntu VPS ‘de kurulumu çok kolaydır. Bu kılavuz, hassas alanları ter dökmeden güvende tutarak sitenize bu kilit ve anahtar havasını eklemeniz için size yol gösterir.
Ön Koşullar
- Apache2 yüklü Ubuntu çalıştıran bir sunucu.
- Sunucuya Rout veya sudo erişimi.
- Komut satırı kullanımı hakkında temel bilgi.
Adım 1: Apache’yi yükleyin (henüz yüklenmediyse)
Eğer Ubuntu sunucunuzda Apache kurulu değilse aşağıdaki komut ile kurabilirsiniz:
sudo apt update
sudo apt install apache2
Adım 2: htpasswd yardımcı programını etkinleştirin
Htpasswd yardımcı programı, genellikle Apache ile birlikte yüklenen apache2-utils paketi tarafından sağlanır. Eğer yüklü değilse, çalıştırarak yükleyebilirsiniz:
sudo apt install apache2-utils
Bu komut, htpasswd kimlik doğrulama dosyaları için gerekli parola yönetim araçlarını yükler.
Adım 3: .htpasswd dosyasını oluşturun
.htpasswd dosyası kullanıcı adlarını ve şifrelenmiş kimlik doğrulama parolalarını saklamak için kullanılır.
- Yeni bir .htpasswd dosyası oluşturmak ve bir kullanıcı eklemek için aşağıdaki komutu çalıştırın:
sudo htpasswd -c /etc/apache2/.htpasswd your_username
Your_username yerine oluşturmak istediğiniz kullanıcı adını yazın.
- C seçeneği yeni bir .htpasswd dosyası oluşturur . Dosya zaten mevcutsa ve -c kullanırsanız, üzerine yazılacaktır, bu nedenle yalnızca dosyayı ilk oluşturduğunuzda kullanın.
- Parola girin ve onaylayın: Komutu çalıştırdıktan sonra, kullanıcı için bir parola girmeniz ve onaylamanız istenecektir. your_name için şifrelenmiş parola ile bir /etc/apache2/.htpasswd dosyası oluşturulacaktır.
- Ek kullanıcılar ekleyin (isteğe bağlı): Mevcut .htpasswd dosyasının üzerine yazmadan daha fazla kullanıcı eklemek için şu komutu çalıştırın:
sudo htpasswd /etc/apache2/.htpasswd another_username
Another_username yerine yeni kullanıcı adını yazın. Bu komut yeni kullanıcıyı mevcut .htpasswd dosyasına ekler.
Adım 4: Apache’yi parola koruması için yapılandırın
Hangi dizini veya konumu parola ile korumak istediğinizi belirtmeniz gerekir. Bu, bir .htaccess dosyası kullanılarak veya doğrudan Apache yapılandırma dosyası düzenlenerek yapılır.
Seçenek 1: .htaccess dosyasını kullanma
- .htaccess dosyalarını etkinleştirme: Parola korumasını ayarlamak için .htaccess dosyalarını kullanmak istiyorsanız, korumak istediğiniz dizin için AllowOverride yönergesinin All olarak ayarlandığından emin olun. Uygun Apache yapılandırma dosyasını düzenleyin (örneğin, /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
Web kökünüzün bölümünü bulun (örneğin /var/www/html) ve AllowOverride seçeneğini All olarak ayarlayın:
AllowOverride All - Apache’yi yeniden başlatın: Yapılandırmayı düzenledikten sonra, değişiklikleri uygulamak için Apache’yi yeniden başlatın:
sudo systemctl restart apache2
- Bir .htaccess dosyası oluşturun:Korumak istediğiniz dizinin içinde (örneğin, /var/www/html), bir .htaccess dosyası oluşturun veya düzenleyin:
sudo nano /var/www/html/.htaccess
- Aşağıdaki yönergeleri ekleyin: Aşağıdaki satırları .htaccess dosyasına ekleyin:AuthType Temel
AuthName “Kısıtlı İçerik”
AuthUserFile /etc/apache2/.htpasswd
Geçerli kullanıcı gerektir- AuthType Basic: Temel kimlik doğrulamayı belirtir.
- AuthName: Kimlik doğrulama mesajında görüntülenecek mesaj.
- AuthUserFile: .htpasswd dosyanızın yolu.
- Geçerli Kullanıcı Gerektir: .htpasswd dosyasında listelenen kullanıcılara erişimi kısıtlar.
- Dosyayı kaydedin ve kapatın.
Seçenek 2: Apache yapılandırma dosyasının doğrudan kullanımı
Kimlik doğrulamayı .htaccess kullanmak yerine doğrudan Apache yapılandırma dosyalarından yönetmeyi tercih ediyorsanız aşağıdaki adımları izleyin:
- Sanal konak yapılandırmasını düzenleyin: Güvenliğini sağlamak istediğiniz sitenin Apache yapılandırma dosyasını açın (örneğin, /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
- Kimlik doğrulama yönergelerini ekleyin: Korumak istediğiniz dizine karşılık gelen bloğun veya bloğun içine aşağıdakileri ekleyin:
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user - Yapılandırma dosyasını kaydedin ve kapatın.
- Apache’yi yeniden başlatın: Değişiklikleri yaptıktan sonra Apache’yi yeniden başlatın:
sudo systemctl restart apache2
Adım 5: Kimlik doğrulamayı test edin
Şimdi web tarayıcınızı kullanarak güvenli dizinin URL’sine gidin (örneğin http://your_server_ip_or_domain). Kullanıcı adı ve parola soran bir oturum açma istemi görmelisiniz.
- Htpasswd komutu ile oluşturduğunuz kullanıcı adı ve parolayı girin.
- Kimlik bilgileri doğruysa, dizine erişim izni alırsınız; aksi takdirde erişiminiz reddedilir.
Adım 6: .htpasswd dosyasını koruyun
Güvenlik nedeniyle, .htpasswd dosyasının web kökünün dışında saklandığından emin olun (örneğin, /etc/apache2/.htpasswd), böylece bir web tarayıcısı tarafından doğrudan erişilemez.
.htpasswd dosyasının doğru izinlere sahip olduğundan emin olun:
sudo chmod 640 /etc/apache2/.htpasswd
sudo chown www-data:www-data /etc/apache2/.htpasswd
Bu, .htpasswd dosyasına yalnızca Apache kullanıcısının (www-data) ve root’un okuma erişimine sahip olmasını sağlar.
Sonuç: Sitenizi Kolaylıkla Güvence Altına Alın
Apache htpasswd, AlexHost Ubuntu VPS’nizdeki web dizinlerini kilitlemek için hızlı çözümünüzdür. Araçları yükleyin,
.htpasswd
.htaccess