mod_rewrite – .htaccess ile Bakım Sayfasına Yönlendirme

Bir web sitesini ya da uygulamasında bakımla ilgili bir çalışma yapılması gerektiğinde ziyaretçileri durumu bildirir bir bakım sayfasına yönlendirmek icap ediyor. Bu gibi bir işlem için izlenebilecek bir çok yöntem var. Bunlardan bence en pratik ve kullanışlı olanı ise apache’nin mod_rewrite modülünü kullanarak koşula bağlı yönlendirme yapmaktır.

Zira, bakım sayfanıza belli IP’lerden gelen istekleri ya da bakıma alınacak web uygulamasına (örneğin bir reklam sunucusuna) sürekli olarak erişmesi gereken sitelerden gelen istekleri yönlendirmeden muaf tutmanız gerekebilir. Ayrıca bakım işleminin bir iki saatten uzun süreceği durumlarda, isteklere yönlendirmenin geçici olduğunu bildiren 302 status kodunu döndürmek de isteyebilirsiniz.

İşte bu gibi ihtiyaçlar için mod_rewrite kullanmak iyi bir yoldur.

Eğer ilginizi çekiyorsa yazının devamında yönlendirme işlemlerinin nasıl yapılabileceği ile ilgili açıklama ve örnekler bulabilirsiniz.

Yazinin devami icin tiklayin.


NCSA_AUTH ile Şifreli Squid Proxy Kurulumu | FreeBSD

Kendi proxy sunucunuzu kurmak istiyorsunuz ancak sunucunun bir Open Proxy sunucusuna dönüşmesini için -ki bu çok kısa bir zaman alacaktır- proxy sunucunuza şifre koymak istiyorsunuz.  Böyle bir gereksiniminiz olması durumunda, Squid kullanmak yerinde olabilir. Zira, squid default olarak bir çok authentication yöntemini desteklemektedir. Bu kimlik doğrulama yöntemlerinden birisi de ncsa_auth kullanmaktır. ncsa_auth, squid sunucularının, NCSA ya da Apache httpd password dosyalarını okuyabilmesine olanak sağlamaktadır. logo_squid

Bu yazıda, FreeBSD 7.2 üzeride, squid ve ncsa_auth kullanarak ile, kimlik denetimli bir proxy sunucusunun nasıl kurulabileceğine değinmek istiyorum.

Yazinin devami icin tiklayin.


Apache Mod_Status Yapilandirmasi

apachelogo Apache sunucunuzun performans değerlerini gözlemlemek için komut satırında kullanılabilecek bir çok native araç bulunuyor olsa da bazen sunucunun performans değerlerini, sunucuya login olmadan incelemek isteyebilirsiniz. Böyle bir iş için kullanılabilecek en güzel yöntem, apache ile birlikte default olarak gelen mod_status modülünden yararlanmak ve sunucu istatistiklarini bir web sayfası üzerinden görüntülemektir. Her nekadar mod_status apache ile birlikte öntanımlı olarak geliyor olsa da bu özelliği devreye almak için httpd.conf yapılandırma dosyasına küçük bir ekleme yapmak gerekiyor.

Bu dökümanda, mod_status’ün nasıl devreye alınacağı anlatılmaktadır.

Mod_Status ile apache sunucunuzla ilgili performansa yönelik aşağıdaki bilgileri  gerçek zamanlı olarak edinebilirsiniz.

Yazinin devami icin tiklayin.


Eaccelerator hit: httpd-error.log

Php’nin performanslı ve optimize çalışmasını sağlayan ve dinamik content cache işlemi yapan eAccelerator gerçekten de performansa süper katkıda bulunan bir yazılım. Ancak FreeBSD’de yaptığınız eAcceleretor kurulumunu, dökümanını okumadan direk ports dizini altından yaparsanız, httpd-error.log dosyasına “EACCELERATOR hit: “/usr/local/www/data-dist/blablabla.php” gibi çok sayıda satırın yazıldığını görebilirsiniz. Eğer yüksek trafiği olan bir siteniz var ise httpd-error.log dosyanız inanılmaz bir hızla çok büyük size değerlerine ulaşabilir.

Bu sorunu çözmeniz için yapmanız gereken şey, php.ini dosyanıza “eaccelerator.debug = 0” parametresini eklemektir.

Normal şartlarda dökümanı okuyarak source kurulumu yaparsanız, dökümanda php.ini’ye eklenmesi önerilen opsiyonlar arasında debug meselesi de mevcut. Ama dediğim gibi ports üzerinden kurup çalıştırırsanız -ki bu sorun dışında herhangi bir sorunla çıkarmadan çalışır- ilgili debug parametresini atlayabilirsiniz.

En azindan ben atladım.


FreeBSD Apache Http Accept Filter Warning

Eğer, FreeBSD üzerinde sorunsuz olarak kurulmuş olan Apache serverınız server start aşamasında “[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter” gibi bir hata veriyorsa sebebi accf_http modülü ile alakalıdır. Gelen baglantilari bufferlayan accf_http modulu yüklenemediği zaman bu warning mesajını alıyoruz.

Sorunu çözmek için aşağıdaki komutu verebilirsiniz:

# kldload accf_http

Ancak bu şekliyle sadece memory’ye yazıldığı için FreeBSD’iniz restart ettiğiniz zaman gene başa dönersiniz. Bu nedenle sorunu kalıcı olarak çözmek için  /boot/loader.conf dosyasına aşağıdaki satırı ekleyebilirsiniz:

accf_http_load="YES"

Accf ile ilgili default ayarlar, /boot/defaults/loader.cnf dosyasının içinde durmaktadır. Kullanım şekillerini görmek için;

# grep accf /boot/defaults/loader.conf

komutunu verebilirsiniz.

Örnek çıktı:

accf_data_load="NO" # Wait for data accept filter
accf_http_load="NO" # Wait for full HTTP request accept filter