Etiket arşivi: htaccess

Nginx Dizin Şifreleme

Nginx web sunucumuzda bir dizine girişte parola işlemi yapmak istediğimizde Apache gibi .htpasswd oluşturma işlemi gibi yapılmıyor. Htaccess erişim kontrolü olarak biliyor Apache’de.

Nginx’te bunu yapmak için VirtualHost dosyasında ekleme yapmamız gerekiyor. Ayrıca htpasswd gibi bir dosyayı biz oluşturup istediğimiz dizine atarak tanımlama yapacağız.

Şifremizi openssl marifeti ile oluşturacağız.

openssl passwd

yazıp enter dediğimizde giriş için kullanacağımız şifreyi iki kere girdirecek ve karmaşık bir görünüm oluşturacak girdiğimiz parola için.

[email protected]:~# openssl passwd
Password:                                123456 Girdim
Verifying – Password:              123456 Girdim
6i60Qf3fCAO4c

123456 şifresi için 6i60Qf3fCAO4c dizisini üretti.

Phpmyadmin dizinini güvene almak istiyorum. buda genelde pma olarak bağlanılır. Bundan dolayı sunucuya http://sunucu/pma olarak erişmek istenecek. Dışarıdan direk giriş yerin öncesinde bir şifre ekranı gelecek. Ben /etc/nginx/ dizini altında pma_sifre diye bir dosya içinde kullanıcımı ve şifremi tutacağım. Yukarıda ürettiğim şifre karşılığındaki diziyi salih kullanıcısı ile eşleştireceğim.

mcedit /etc/nginx/pma_sifre

salih:6i60Qf3fCAO4c

ekleyip çıkıyoruz.

salih kullanıcısı ve 123456 şifresi ile giriş yapacağım bilgiyi girdim.

Nginx config dosyasında server{ altında bir yere ayarları eklemeniz gerekiyor.

mcedit /etc/nginx/sites-available/default

server  {
. . .

    location / {
        try_files $uri $uri/ =404;
    }

    location /pma {
        auth_basic “Pma Giriş Ekranı”;
        auth_basic_user_file /etc/nginx/pma_sifre;
    }

kaydedip çıkıyoruz ve nginx sunucusunu yeniden başlattık mı artık /pma ile erişimde şifre sorucak. 

Apache 2.4 Kurulum Sonrası Ayarlar

Yeni sunucu kurulumlarında Apache 2.4 varsayılan olarak gelmeye başladı. Bu sürümü yüklediğinizde Php kısa etiketler (short tag) <? ?> çalışmıyor. Ayrıca .htaccess dosyalarınızda çalışmıyor.

PHP Kısa Etiket (Php Short Tag) Ayarları
nano /etc/php5/apache2/php.ini
Web Server Kurulumu sonrasında php.ini ayar dosyasında “Language Options” altında olan kısa etiket parametresini aşağıdaki gibi düzenliyoruz.
short_open_tag = On
.htaccess hatası için aşağıdaki dosyada dizin ayarlarına AllowOverride All eklemeniz gerekmektedir.
mcedit /etc/apache2/apache2.conf
<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all denied
</Directory>
<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>
<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
Dosyadaki ilgili dizinlere eklemeyi yaptıktan sonra rewrite modülünü aktif hale getiriyoruz.
a2enmod rewrite
a2enmod deflate
a2enmod mod_expires
a2enmod expires
a2enmod headers
Son olarak apache2 servisimizi yeniden başlatıyoruz.
/etc/init.d/apache2 restart