Plesk Onyx bozulan dosya izinlerini onarma

Bazen migrasyon sonucu bazen yanlışlıkla bozulan hosting dosya izinlerinini kolayca onarmak için pleskin hazır komutlarını kullanabilirsiniz.

Sunucuya ssh üzerinden root olarak login olduktan sonra şu komutu uygulayın

plesk repair fs sizin_alanadınız.com

dogurdan ana alanadınızı yazabileceğiniz gibi alt alan adlarınızı onarmak için de kullanabilirsiniz.

İlgili sistem hata mesajı

Unable to open the directory: Unable to find the directory /var/www/vhosts/example.com/httpdocs/dir/: filemng failed: filemng: opendir failed: Permission denied System error 13: Permission denied

Apache SSL açıklarını kapatın

Son dönemde ortaya çıkan openssl ve zayıf şifreleme methodlarını kapatın.Özellikle bankalardan sanal pos talep etmeden önce sunucunuzda uygulamanızı tavsiye ederim.

Centos sunucular için

/etc/httpd/conf.d/ssl.conf dosyasının en altına aşağıdaki satırları yerleştirin.Httpd servisini yeniden başlatın.Nispeten güncellenmemiş sunucular için yum update yapmanızı öneriririm.

<IfModule mod_ssl.c>
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3
</IfModule>
<IfModule mod_ssl.c>
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4-SHA:!RC4
#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5::!RC4
</IfModule>

Sitenizi saldırgan botlardan engelleyin

Linux tabanlı herhangi bir web sunucunuzda websitenize atak yapan saldırgan botları engellemek için aşağıdaki adımları uygulayın.

/etc/rc.local dosyanızı açın.İçine uygun bi yere şu satırları yerleştirin.

iptables -F

for x in $(cat /root/bad_bot.txt)
do
iptables -A INPUT -p tcp -s $x –dport 80 -j DROP
iptables -A INPUT -p tcp -s $x –dport 443 -j DROP
done

daha sonra kaydedip çıkın.bu sefer yukarıdaki döngüde satır satır okumasını istediğimiz dosyayı oluşturun

nano /root/bad_bot.txt

bad_bot.txt dosyası

 

Son olarak /etc/rc.local olarak çağırdığınızda ve her sunucu açılışında bu ip adreslerinin web sunucu portlarınıza erişimi engellenecektir.

Plesk Onyx php fpm limitlerini arttırmak

Bir websitenin fpm pool ayarlarında karşınıza çıkabilecek birkaç method vardır.Bunlardan ondemand tipi en çok önerilen yöntemdir.Aşağıda bir websitenin nasıl pool ayarlarının yapılacağını göreceksiniz.

Öncelikle

/opt/plesk/php/5.6/etc/php-fpm.d/alanadiniz.com.conf

dosyasından bahsedelim.Bu hostinginize özel fpm konfigurasyon dosyasıdır.

; By default use ondemand spawning (this requires php-fpm >= 5.3.9)
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
; Following pm.* options are used only when ‘pm = dynamic’
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1

Deneme yapmak için bu dosyada değişiklik yapabilirsiniz.Ancak httpmng çalıştırdığınızda veya plesk hosting ayarlarından birini değiştirip ok butonuna tıkladığınız anda yaptığınız değişikliklerin yok olacağını unutmayın.Kalıcı konfiguraston için zaten dosyanın en başında ne yapmanız gerektiği yazıyor.

; ATTENTION!
;
; DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
; SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.

; If you need to customize this file, use either custom PHP settings tab in
; Panel or override settings in /var/www/vhosts/system/alanadiniz.com/conf/php.ini.
; To override pool configuration options, specify them in [php-fpm-pool-settings] ; section of /var/www/vhosts/system/alanadiniz.com/conf/php.ini file.

Yapmanız gereken

/var/www/vhosts/system/alanadiniz.com/conf/php.ini dosyasını nano veya vi ile açıp en alta indikten sonra örnek olarak;

[php-fpm-pool-settings] pm.max_children = 100

yazmak olacaktır.Max children zaten ondemand methoduyla ilgili olduğundan dolayı diğer parametreleri yazma gereği duymuyorum.Onlar zaten fpm conf dosyasında var.Dosyayı kaydettikten sonra son olarak yapılan değişikliğin uygulanmasını sağlıyorum.

/usr/local/psa/bin/php_settings -u

 

Hepsi bu kadar.İlaveten bu ayarlar cloudlinux ile gelen cagefs-lve için geçerli değildir.Cloudlinux php-fpm yi an itibariyle hala desteklemiyor.

Eğer whm/cpanel kullanıyorsanız web arayüzden yapılabiliyor.Plesk Onyx ‘de bunu web arabirimine taşıyacağını duyursa da hala böyle bir kolaylık görememekteyiz.

Plesk 11x 12x Bad Gateway Hatası ve Çözümü

Plesk panele http/8880 veya https/8443 portlarından erişim yapamadığınızda,sunucuya ssh üzerinden giriş yaparak şu logu takibe alın.

/var/log/sw-cp-server/error_log

Bu, plesk panelin kendisinin üzerinde koştuğu nginx web server’ın hata kaydıdır.Web siteler için kullandığınız nginxten farklı olduğunu söylememe gerek yok sanırım.

Eğer yukarıdaki log dosyası içeriğinde ,

recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 123.123.123.123, server: , request: “POST <some url>

şeklinde hata satırları görüyorsanız alltaki dosyada ilgili değişiklikleri yapınız.

 /etc/sw-cp-server/config
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

Ardından ilgili servisleri yeniden başlatınız.

# /etc/init.d/sw-cp-server restart

# /etc/init.d/sw-engine restart

Unable to log into Plesk: Access for administrator from address xx.xx.xx.xx is restricted in accordance with IP Access restriction policy currently applied

Eğer yukarıdaki hata satırlarını göremediyseniz muhtemelen ip adresiniz bloklanmış olabilir.Farklı bir ip üzerinden girmeyi deneyin veya yine ssh üzerinden login olarak mysql shell’i açın.

mysql -u admin -p$(cat /etc/psa/.psa.shadow)

use psa;

mysql> select * from cp_access;

mysql> select * from misc where param=’access_policy’;

Engellenmiş ip adreslerini ilk sql cümlesinin çıktısında görebilirsiniz.Bu kayıtları silmek için

mysql> delete from cp_access;

Erişimi heryere açmak için;

mysql> update misc set val=”allow” where param=’access_policy’;

 

Plesk arayüzünü Nginx üzerinde php-fpm ile beraber çalışan bir sistemde sunar.Benzeri şekilde websitelerinizde de aynı mantıktadır.Tek farkı websitelerin çalıştığı ortamdan ayrılmış,farklı portlardan çalışan yazılımlardır.

Eğer fpm limitleri yetmiyor veya bir başka problem olduğunu düşünüyorsanı şu dosyalar size yardımcı olabilir.

/etc/sw-engine/pool.d/plesk.conf —> Plesk uygulaması için hazırlanmış fpm limitleri,pm,pm_max_children ,max server max request gibi..

/etc/sw-engine/sw-engine-fpm.conf —> Global fpm ayarları (Sadece plesk uygulaması için)

 

Ekim 2016 sonrası linux sunucularda zaman güncellemesi ayarları

Redhat/Centos/Fedora:

sudo yum clean all

sudo yum -y install tzdata*2016g*

sudo zdump -c 2016,2017 -v “Europe/Istanbul”

sudo date

Debian ve türevleri:

sudo apt-get update

sudo apt-get install tzdata tzdata-java

sudo zdump -c 2016,2017 -v “Europe/Istanbul”

sudo date

Kaynak: http://www.musabyardim.com/linux-timezone-degisikligi/

Kaynak :http://www.teknomavi.com/sistem-yonetimi/30-ekim-2016-turkiye-gmt3-timezone-degisikligi-icin-linux-ve-windows-guncellemeleri-ile-php-ayarlari/

Spam antispam hotmail reputation junk vs..

Ömür törpüsüdür bu mevzular.Sistem yöneticisinin ömrünü kısaltır.Günlerini heba eder.Kahve sigara apranax hiçbişey kalmaz emin olun.

Eskiden şöyle düşünürdük.Eposta sunucumuz var.Hayatta spama geçit vermeyiz.Herşeyimiz tam.Ip adresimiz temiz.Çok güzel,temiz iş yapıyoruzi.Sunucumuz tıkır tıkır mail alıyor veriyor.

Bir gün de bakmışsınız bir müşteriniz hotmaile mail gönderememekten şikayet ediyor size.Hemen bakıyoruz,kontrol ediyoruz.dnsbl,mxtoolbox,senderbase…cık.Yokuz.Temiziz.E neden peki?

O andan itibaren itibar (reputation) sıfıra gider.Müşteri konuşur.Siz de merdiven altı firma muamelesi görürsünüz.Tıpkı bir müşterinin dediği gibi “müşterime mail attım.adam yanımda bilgisayarından baktı.gereksiz posta kutusuna düşmüş,yerin dibine girdim.”

Neyse biz problemimizi çözdük bir şekilde ancak günlerce debelendikten sonra bilmediğim birşeyi öğrenmiş oldum.Onu da cebime koydum ama para eder mi bilmem.

Bu microfostcu arkadaşların  X-MS-Exchange-Organization-SCL,X-MS-Exchange-Organization-PCL diye bir ölçüsü varmış.Benim gibi bilmeyenler için yazıyorum.

Uzun uzun yazarlar zaten hep.İşleri güçleri budur.Aşağıdaki sayfada anlatılmış;

https://technet.microsoft.com/en-us/library/aa996878(v=exchg.160).aspx

Bizim sunuculardan çıkan hotmaile giden e-postaların header kısmından gördüğümüz kadarıyla X-MS-Exchange-Organization-SCL değerimiz 5 idi.5 tam orta bir değer.Öneri şu;Alıcı “bu gereksiz değildir” diye işaretlediğinde sorun çözülür.Kullanıcı kontrolune bırakılmış.Peki bunun tersiniz düşünürsek;

Peki kaç kullanıcı “bu gereksizdir” diye işaretlemiştir de iş bu hale gelmiştir..

Orası bilinmez.Bilinmez çünkü snds postmaster size neden ip adreslerinizin bloklandığını söylemiyor veya söyleyemiyor.

Sonuç olaralk Hotmail damgalıyor geçiyor.Gereksiz yere uğraştıyor.Artık başa çıkamadığı gerçek spamlarla bu şekilde baş ediyor.Büyüklüğünü kullarak bundan büyük miktarlarda gelir elde etmeyi de başarmış zaten.

 

Cpanel komut satırından (ssh) website yedekleme scripti

tarih=`date +%d.%m.%Y`
rm -rf /home/cpyedek/cpmove-*
for backup in `\ls /var/cpanel/users/`; do /scripts/pkgacct $backup; done
mv /home/cpmove* /home/cpyedek/
for yedekdosya in `\ls /home/cpyedek/`; do mv $yedekdosya $tarih-$yedekdosya ; done
lftp -e ‘mput /home/cpyedek/* ; bye’ -u ftp_kullanici_adi,şifre ftp_sunucu_adresi

Php 5.6 phpmailer mail gönderme problemi

Php 5.6 versiyonunda phpmailer tabanlı scriptleri çalışmaz hale geldi.Problem yaşayanlar için  alttaki metin faydalı olabilir.

php 5.6 versiyonunda phpmailer scriptiniz çalışmaz çünkü;

  1. php 5.6 versiyonundan itibaren ,bağlantı kurulan servisteki ssl sertifkasının geçrli olup olmadığını kontrol etmesi
  2. phpmailer bağlantı kurduğu eposta sunucusunda tls encryption olduğunu farkettiği anda otomatikman tls doğrulamayı aktif ediyor.bu esnada karşıda geçersiz veya self signed bir sertifika varsa anlaşma sağlanamıyor.

phpmailer bu durum için 5.2.10 sürümünde bunun için bir istisna hazırlamış.alttaki linkte sertifika doğrulaması ile ilgili parametleri alt betikte iptal edebiliyorsunuz.

https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

bu arada phpmailer sürümü eski olanlarda bu özellik olmayabilir ama zaten şu genel güvenkik açığı sebebiyle phpmailerinizi son sürüme güncellesiniz bence iyi olur.

Ayrıca durumunuza göre aşağıdaki smtpautotls ayarını da değiştirmeniz meseleyi çözüme kavuşturabilir.
https://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_SMTPAutoTLS