apache etiketli yazı

Preparing virtual environment for running with apache mod_wsgi & postgresql

For completing postgresql requirements of virtual environment, install “libpq-dev” and “python-dev” packages, outside of virtual environment.

$ deactivate (if you are in virtual environment)
$ sudo apt-get install libpq-dev python-dev

Re-activate virtual environment and install psycopg2 from pip repo.

$ pip install psycopg2

By the way, in the name of  conformist approach install ipython in virtual environment.

$ pip install ipython

PostgreSQL engine and python connection libraries are ready.
Now, lets prepare wsgi file for current project. (I assumed apache and mod_wsgi installed and configured) I’m going to use /var/www/project path for example for environment root in wsgi file.

ENV_DIR = [‘/var/www/project’]

import site, os, sys

base = os.path.dirname(__file__)
sys.path.insert(0, base)
...

Devamı...

Apache'ye gönderilen isteklerini başka makineye yönlendirmek (Apache Proxy)

Son zamanlarda sanal sunucularla haşır neşir olduğumu son iki yazımdan anlamışsınızdır. Tabi çok profesyonel çözümler olmamakla birlikte şirket içinde 4 çekirdekli 8GB bellekli bir sunucunun hiçbir çekirdeğini ve 1mb belleğini heba etmeyecek şekilde hem dışarıya hem içeriye hizmet verebilmesini sağlamak amacıyla çözüm üretme çabası içindeyim. Buna sebep olarak geçen iki yazımdan sonra şimdi de Host makinedeki Apache dışarıya hizmet verirken Guest makinada kurulu olan Apache’nin apayrı veritabanı motoru ile apayrı bir projeyi sunmasını sağlamak gerekliliği doğdu.

Bunu yapmak için daha önce kurmuş olduğumuz sanal makineye geçen yazımda belirttiğim gibi Host makinedeki herhangi boş bir portu (faraza 2156.port) Guest makinenin 80.portuna yönledirerek işe başlayabiliriz. Daha sonra Guest makineye yayımlanacak olan projemizi yerleştiriyoruz ve Guest lokalinde çalıştığından emin olduktan sonra, Host makinenin http://localhost:2156/ adresinden de yönlendirmenin çalışıp çalışmadığın kontrol edebiliriz. Buraya kadar her şey yolunda ise bundan sonra Host makinemizin Apache ayarlarında yapacağımız değişiklikler ile http://adres:port/ yerine http://proje.falanca.com.tr/ adresi ile herhangi bir yerden sanal makinedeki projemize erişebilir hale geleceğiz.

Devamı...

Apache'yi DDoS saldırılarından korumak

Apache’yi kuracağımız bir modül ile DDoS saldırılarından koruyabilirsiniz.

MOD_DOSEVASIVE(Apache DoS Evasive Maneuvers Module):

Mod_dosevasive apache için DoS , DDoS ve brute force saldırılarını engellemek için yazılmış bir modüldür.Firewall’ların genellikle etkisiz kaldıkları get,post tipi saldırılarda özellikle yeteneklerini göstermektedir.Böylece sunucunuza aşırı yük binmeden kendini toparlayabilmesini sağlamaktadır.Kolayca firewall, router, ipchain ve iptables ile anlaşabilecek şekilde modülü ayarlayabilirsiniz böylece saldırganların sunucudan firewall seviyesinde ya da router seviyesinde atılmasını sağlayabilirsiniz.Genel olarak yaptığı işi inceleyelim kullanıcı sunucudaki bir siteye devamlı get, post, put gibi istekler gönderiyorsa mod_dosevasive tarafından kara listeye alınıyor sizin belirlediğiniz süre boyunca kara listeye alınan kişi sunucuya istek göndermeye devam edebilir ama alacağı http 403 forbidden(yasak) cevabını alır.Bu istekler devam etse bile sunucunuz yorulmayacaktır.Kendi deneyimlerimi yazının en sonunda paylaşacağım.Eğer firewall yada router ile anlaşabilecek şekilde ayarlarsanız mod_dosevasive yı kara listeye alınan kullanıcı bekletilmeden direk sunucudan uzaklaştırılacaktır.

Devamı...

Windows’a Webserver Kurulumu (apache + php + mysql)

Eveeet. Sanırım bu işe yeni başlayaşlayanların en büyük handikapı, “Windows’a nasıl bir webserver kurulur?” sorusu olsa gerek. Aslında bu sorunun cevabı çok basit. Windows’unuza birkaç tıklama ile apache, php, mysql, phpmyadmin kurulumunu gerçekleştirip makinanızı bir webserver haline getirebilirsiniz. Bunun için gavur şöyle bi program hazırlamış : AppServ. Bu paket sayesinde ne IIS (Internet Information Server) ile uğraşmanıza gerek kalıyor, ne de apache, php, mysql, phpmyadmin paketlerini ayrı ayrı indirip, kurup, bir de bunların birbirleri ile entegrasyonuna saatler harcamanıza gerek kalmıyor. 

Devamı...