Merhaba arkadaşlar, bugün sizler ile CentOS webpanel dizin şifreleme işlemini ( htpasswd ) Nginx tarafında nasıl yapılmaktadır aktaracağım.
Başlamadan Önce! Yedek Alın ve alt kısmı okuyun..
Bu kısımda aktacağım işlemler, kendi yönetmiş olduğum CentOS webpanel sunucular üzerinde test ederek paylaşmış olduklarımdır. Bu işlemleri kendi sunucularınız üzerinde uygulamadan önce bir clone veya test sunucularınız üzerinde gerçekleştirmeniz en sağlıklı yöntemdir.
Bilmeyen için kısaca
CentOS webpanel ücretsiz bir hosting yönetim panelidir. Destek hizmetlerinden yararlanmak isterseniz aylık küçük bir ücret ödeyerek bu hizmetlerinden yararlanabilmektesiniz.
Hadi başlayalım.
CentOS 7 üzerinde gerçekleştireceğim işlemleri şu şekilde sıralayalım;
- yum install httpd-tools -y
- htpasswd -c /dizin/.dosyaadi kullanici isminde bir dosya oluşturup içine kullanici isminde bir kullanıcı ekleyelim
- şifre ve şifre tekrarı ile kullanici için bir şifre belirlemiş olalım.
Önemli Not!
htpasswd ile oluşturduğunuz dosyaya mutlaka alan adınızın etki alanındaki kullanıcı yetkileri ve chmod 644 verilmesi gerekmektedir. Vermemeniz durumunda ise 500 hatası ve loglarınızda ise permission denied çıktılarını göreceksiniz.
yukarıda işlemler gayet basit ve bir kaç adım ile ilk işlemleri gerçekleştirmiş oluyoruz.
Dikkat! htpasswd komutunda -c parametresini eklemeniz halinde dosyanızın içinde var olan kullanıcılar var ise bunları silerek yeni tanımlamış olduğunuzu ekler!
Bu işlemlerden sonra izleyeceğimiz işlem ise oluşturmuş olduğumuz dosyamızı Nginx ile oluşturmuş olduğumuz domainimize tanımlamak olacaktır.
Nginx tanımla işlemi
Bu işlemi bir arayüz üzerinden yapmanızı tavsiye ederim, terminal üzerinden de yapabilirsiniz bakar olası hataya karşı filezilla, Cyberduck, phpstorm veya Visual Studio code kullanarak sunucunuza sftp yöntemi ile bağlanarak alt kısımda belirteceğim dizine erişerek düzenleme yapınız.
/etc/nginx/conf.d/vhosts
Yukarıda belirtmiş olduğum dizin eklenmiş olan alan adlarınız ve alt alan adlarınıza ait Nginx yapılandırma dosyaları bulunmaktadır. Bu dosyalarda düzenleme yapacağız.
Dosyamızı açtıktan sonra server {} içinde bulunan kısımda hangi dizini şifrelemek istiyorsak o kısma kodumuzu ekleyeceğiz.
location / {} yani tüm dizini şifrelemek istiyorsak;
location / {
auth_basic "Administrator’s Area";
auth_basic_user_file /dizin/.dosyaadi;
}
belirli bir dizin için ise izleyeceğimiz yol;
location /dizin {
auth_basic "Administrator’s Area";
auth_basic_user_file /dizin/.dosyaadi;
}
bu işlemleri yaptıktan sonra dosyamızı kaydettikten sonra Nginx servislerini yeniden başlatmamız gereklidir.
Nginx servislerini yeniden başlattıktan sonra ilgili adres satırına gittikten sonra sizden kullanıcı adı ve şifre isteyecektir.
Yukarıdaki işlemleri gerçekleştirdikten sonra CentOS webpanel dizin şifreleme işlemlerimizi tamamlamış oluyoruz. Bu yazımda dilim döndüğünce basit bir şekilde anlatmaya çalıştım.