WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

Binlerce kullanıcılı bir Cpanel kurulu sunucu yönettiğimizi düşünelim , bazen sunucularda öngörmediğimiz durumlar periyodik olarak gerçekleşebilir ve bu da akla bir cron tanımı olabileceği şüphesi uyandırır , böyle durumlarda belli komutlar ile elde ettiğiniz veriler sonucu bazı kullanıcılar üzerinde yoğunlaşırsınız ve bu durumda yapılan işlemlerden biri de o kullanıcın zamanlanmış görevlerini incelemektir , bu hengamenin içinde nasıl tüm kullanıcıların cron tanımlarını tek seferde görebiliriz diye düşünürken aşağıdaki komutla bunu yapabileceğimizi düşündüm , umarım faydalı olur.

for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

Ayhan ARDA

lets-encrypt-cpanel

Let’s Encrypt Sertifika Kurulumu

Örneğimizi Cpanel kurulu sunucuda yapacağız , ihtiyaca göre farklı sunucular içinde yazabiliriz. Öncelikle Let’s Encrypt ten bahsedelim , ücretsiz ssl sağlayan bir organizasyon diyebiliriz , destekçileri arasında Mozilla , Facebook gibi devler bulunmakta , en önemli özelliği ücretsiz ssl sağlaması, en güzel tarafıda bir csr oluşturmaya gerek olmaması ve alan adının ya da hosting in sahibi olduğunuzu kanıtlayacak admin@alanadi.com gibi bir mail adresine sahip olmanızın gerekmemesi. Şu an için sunucu sahipleri avantajlı durumda , barındırdıkları siteler için ücretsiz kurup servis edebilirler ancak paylaşımlı hosting kullanıcıları servis yaygınlaşana kadar ssl e para ödemeye devam edecek gözüküyor çünkü sunucu yöneticisi shell access verse de kurulum için root hakları gerekmekte. Artık arama motorlarının da ssl li siteleri kendi algoritmasında 1 puan üstte tutması da ssl kullanmak için iyi bir sebep gibi gözüküyor. Şimdi cpanel kurulu bir sunucunuz olduğunu varsayıyorum , üzerinde kendinize ait 3-5 site olsun ve bunlara ssl kurmaya çalışalım.

Sunucunuza ssh tan bağlanalım.

Ben root dizininde çalışmak istedim , siz farklı bir dizinde çalışabilirsiniz.

root@ayhanarda [/]# cd root/

Devam edebilmek için git kurulu olması gerekir , kurulu olup olmadığını doğrulayalım.

root@ayhanarda [~]# git
usage: git [–version] [–help] [-c name=value]
[–exec-path[=<path>]] [–html-path] [–man-path] [–info-path]
[-p|–paginate|–no-pager] [–no-replace-objects] [–bare]
[–git-dir=<path>] [–work-tree=<path>] [–namespace=<name>]
<command> [<args>]

Yukarıdaki gibi bir sonuç ile karşılaştı iseniz kuruludur , değil ise aşağıdaki komut ile kuralım.

root@ayhanarda [~]# yum install git -y

Kurulum tamamlandı ise şimdi Let’s Encrypt dosyalarını /root dizini altına kopyalayabiliriz.

root@ayhanarda [~]# git clone https://github.com/letsencrypt/letsencrypt
Cloning into ‘letsencrypt’…

İşlem tamamlandığında aşağıdaki komut ile letsencrypt dizini içine girelim.

root@ayhanarda [~]# cd letsencrypt

Şimdi bu noktadan sonraki işlemde python-virtualenv kurulu olması gerekmekte , yum install python-virtualenv -y komutu ile kurabilirsiniz ama ben aşağıdaki doğrulama işlemini yapınca kendi farkına varıp kurmaya başladı , tavsiyem öncelikle aşağıdaki komutu kullanmanız ,hata almanız durumunda bu paragraftaki komutu kullanmanızdır.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto –help

İşlem 1-2 dakika sürebilir , ben bir ara panik olup elim hemen snapshot almaya gitmişti ama gereksizmiş , sıkıntı olmuyor , benim düşüncem bu paketin cpanelin kendi phyton paketlerine zarar vereceği şeklinde idi , bir şey olmadı 🙂

Şimdi tavsiyem httpd servisini kısa süreliğine durdurmanız.

root@ayhanarda [~/letsencrypt]# service httpd stop

Eğer ssl kuracağınız alan adına karar verdi iseniz aşağıda ayhanarda.com gördüğünüz yerleri kendi alan adınız ile değiştirmelisiniz.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto certonly –standalone -d ayhanarda.com -d www.ayhanarda.com

Ekranda size bir mail adresi yazmanızı isteyen soru gelecek , kendi ya da müşterinizin mail adresini yazın ve devam edin.

Sonrasında şartları vs kabul etmenizi isteyen bir ekran gelecek , onaylayıp geçiniz.İşlem sonunda sertifika dosyalarının nereye koyulduğunu belirten bir yazı göreceksiniz , muhtemelen /etc/letsencrypt/live/ayhanarda.com dizininde olacak.

Şimdi hemen httpd servisini tekrar başlatalım.

root@ayhanarda [~/letsencrypt]# service httpd start
Redirecting to /bin/systemctl start  httpd.service

Hemen sertifikanın olduğu dizine erişelim.

root@ayhanarda [~/letsencrypt]# cd /etc/letsencrypt/live/
root@ayhanarda [/etc/letsencrypt/live]# ls -al
total 12
drwx—— 3 root root 4096 Mar  4 16:13 ./
drwxr-xr-x 8 root root 4096 Mar  4 16:13 ../
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ayhanarda.com
root@ayhanarda [/etc/letsencrypt/live]# cd ayhanarda.com/
root@ayhanarda [/etc/letsencrypt/live/ayhanarda.com]# ls -al
total 8
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ./
drwx—— 3 root root 4096 Mar  4 16:13 ../
lrwxrwxrwx 1 root root   34 Mar  4 16:13 cert.pem -> ../../archive/ayhanarda.com/cert1.pem
lrwxrwxrwx 1 root root   35 Mar  4 16:13 chain.pem -> ../../archive/ayhanarda.com/chain1.pem
lrwxrwxrwx 1 root root   39 Mar  4 16:13 fullchain.pem -> ../../archive/ayhanarda.com/fullchain1.pem
lrwxrwxrwx 1 root root   37 Mar  4 16:13 privkey.pem -> ../../archive/ayhanarda.com/privkey1.pem

Görüldüğü üzere tüm sertifikalar burada , cat komutu ile okunabilir durumda , hemen whm panele erişip Install an SSL Certificate on a Domain bölümüne girelim.

Şimdi aşağıdaki resmi inceleyip resim üzerinde yazdığım detayları uygulayabilir ve ssl kurulumunu tamamlayabilirsiniz.

cpanel-lets-encyrpt-ayhanarda-com

Şimdi sitenize ssl ile erişmeyi deneyebilirsiniz. Bir detay vereyim , verdiği ssl süresi 3 ay gözüküyor , bu süre sonunda muhtemelen işlemi tekrarlamak gerekecek , umarım faydalı olur. Hosterlar için… hosting müşterilerinize ücretsiz ssl şeklinde servis edip  cüzi bir miktar kurulum ücreti ile bir ürün haline getirebilirsiz.

Ayhan ARDA

logstash forwarder log gönderme

Cpaneldeki Sitelerin Access Loglarını Logstash-Forwarder ile ElkStack ta Logstash Server a Gönderme

Daha önceki yazılarımızda bir elkstack server kurmuştuk ancak henüz farklı bir serverdan log göndermemiştik , şimdi örnek olarak elimizde bir cpanel sunucu olduğunu ve içinde yüzlerce site olduğunu varsayalım , cpaneldeki sitelerin erişim logları bilindiği üzere /usr/local/apache/domlogs/ altında yer almaktadır , her bir site için bu yolda birer klasör ve içinde sitelerin logları yer almaktadır.

Şimdi elkstack serverın adı elkstack.ayhanarda.com olsun , ip adresi 192.168.1.1 olduğunu varsayalım , cpanel sunucu adı ise cpanel.ayhanarda.com , ip adresi de 192.168.1.2 olsun.

Eğer bu isimler için bir dns serverda kaydımız yok ise cpanel sunucuda aşağıdaki dosyaya elkstack serverın ip ve hostname ini girelim ki aramak ile vakit kaybetmesin. /etc/hosts dosyasını açıp aşağıdaki kaydı girelim , tabi hostname ve ip adresi Sizin yapınıza göre olmalı.

root@cpanel.ayhanarda.com [~]# nano /etc/hosts
192.168.1.1           elkstack.ayhanarda.com

Şimdi centos repo suna logstash forwarder için kayıt ekleyelim.

rpm –import http://packages.elasticsearch.org/GPG-KEY-elasticsearch

cat >> /etc/yum.repos.d/logstash-forwarder.repo << REPO
[logstash-forwarder]
name=logstash-forwarder repository
baseurl=http://packages.elasticsearch.org/logstashforwarder/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
REPO

Artık logstash-forwarder kurmaya hazırız.

yum -y install logstash-forwarder

Elkstack serverda oluşturduğumuz sertifikayı aşağıdaki dosyanın içine girip kaydedelim , bu dosya yok ise oluşturalım.

nano /etc/pki/tls/certs/logstash-forwarder.crt

—–BEGIN CERTIFICATE—–
MIIDDTCCAfWgAwIBAgIJANcKD2AfHuraMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNV
BAMMEmVsa3N0YWNrLm5hdHJvLmNvbTAeFw0xNTEwMjcxMTI4NTFaFw0yNTEwMjQx



—–END CERTIFICATE—–

Şimdi logstash-forwarder ın conf dosyasını oluşturalım.

nano /etc/logstash-forwarder.conf

{
  “network”: {
“servers”: [ “elkstack.ayhanarda.com:5001” ],
“timeout”: 15,
“ssl ca”: “/etc/pki/tls/certs/logstash-forwarder.crt
  },

“files”: [
{
      “paths”: [
        “/usr/local/apache/domlogs/*/*
       ],
      “fields”: { “type”: “apache-access” }
    }
]
}

Yukarıdaki dosyada dikkat ederseniz 4 farklı ve önemli bölümü işaretledim , birincisi logları nereye ve hangi porta ileteceğimiz , ikincisi bir önceki adımda hazırladığımız ssl dosyasının yolu , üçüncüsü cpanel sunucudaki hangi logları göndereceğimiz , dördüncüsü ise bu logların çeşidi.

Şimdi logstash forwarder ı başlatalım ve aynı zamanda sunucunun bir sonraki açılışında otomatik olarak çalışmasını sağlayalım.

service logstash-forwarder restart && chkconfig logstash-forwarder on

Conf dosyamızda 5001 nolu porta göndereceğimizi belirtmiştik , o halde cpanel server üzerinde bir firewall kullanıyor isek dışarıya doğru bu portu aktif etmeliyiz , ben cpanel sunucularda csf kullanmaya özen gösteriyorum , aşağıdaki dosyasyı açıp tcp_out ve udp_out bölümlerine 5001 nolu portu ekliyorum. Buradaki 5001 portu elkstack serverınız ile ilgili bir durum , yani orada kullanmayı seçtiğiniz porttur , Sizin elkstack ya da logstash server da bu farklı olabilir.

root@cpanel.ayhanarda.com [/usr/local/apache/logs]# cat /etc/csf/csf.conf | grep TCP_OUT
TCP_OUT = “20,21,25,37,43,53,80,110,113,443,587,993,995,2086,2087,2089,2703,3306,4443,5001,6343,30000:35000,65000:65535″
root@cpanel.ayhanarda.com [/usr/local/apache/logs]# cat /etc/csf/csf.conf | grep UDP_OUT
UDP_OUT = “53,113,123,873,5001,6277,6343″

sonrasında csf -r komutu ile csf yi restart edelim. Eğer csf kullanmıyor iseniz iptables üzerinden direkt olarak ta açabilirsiniz.

Şimdi eğer elkstack bu portu dinliyor , cpanel de log gönderiyor ise bunu aşağıdaki dosyayı izleyerek görebilirsiniz

tail -f /var/log/logstash-forwarder/logstash-forwarder.err

2015/11/03 06:57:38.745365 Setting trusted CA from file: /etc/pki/tls/certs/logstash-forwarder.crt
2015/11/03 06:57:38.745939 Connecting to [192.168.1.1]:5001 (elkstack.ayhanarda.com)
2015/11/03 06:57:38.838187 Connected to 192.168.1.1

Hepsi bu kadar , iyi çalışmalar..

Ayhan ARDA

Whm Cpanel Üzerine Phalcon Framework Kurulumu

phalcon

Sonunda Phalcon framework cpanel üzerindeki easyapache den derlenebilir hale getirildi ve aşağıdaki şekilde derleyebilirsiniz.

Öncelikle sunucumuza git kuralım

yum install git

ya da

yum install git-core

Eğer hata alır iseniz aşağıdaki komut ile kurabilirsiniz.

yum –disableexcludes=main install git

Git in kurulup kurulmadığını ve lokasyonunu doğrulayalım.

root@ayhanarda.com [~]# which git
/usr/bin/git

Peki versiyonu görelim.

root@ayhanarda.com [~]# git –version
git version 1.7.1

Şimdi phalcon paketlerini git üzerinden indirebiliriz. Aşağıdaki komutları sırası ile çalıştırınız.

cd /var/cpanel/easy/apache/custom_opt_mods/
git clone https://github.com/thecpaneladmin/EA-PhalconPHP.git .
/scripts/easyapache

Easyapache ekranında aynı konfigürasyonla build ederken php modulleri arasında phalcon framework ü göreceksiniz , işaretleyip Build işlemini başlatınız.

Phalconun kurulu olup olmadığını anlamak için aşağıdaki komutu çalıştırabilirsiniz , sonuç görürseniz kurulmuş demektir.

root@ayhanarda.com [~]# php -m | grep phalcon
phalcon

Son bir doğrulama yapmamız gerekirse /usr/local/lib/php.ini dosyasında aşağıdaki satırı görüyorsaız kurulum tamamdır.
extension=phalcon.so

Ayhan ARDA

Whm / Cpanel de unutulan güvenlik sorularını ssh tan devre dışı bırakma

Bazı durumlarda güvenlik amacıyla oluşturduğumuz soruların cevaplarını unutabiliyoruz ,bu gibi durumlarda whm e erişemez oluyoruz , çözüm için sunucunuza ssh ile erişin.

Kullandığınız text editör ile aşağıdaki dosyayı açınız.

nano /var/cpanel/cpanel.config

Açılan dosyada aşağıdaki satırı bulun.

SecurityPolicy::SourceIPCheck=1

Yukarıdaki satırı aşağıdaki gibi değiştirin.

SecurityPolicy::SourceIPCheck=0

Şimdi tweak settings i güncellememiz gerekiyor. Aşağıdaki komutu kullanabilirsiniz.

/usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings

Artık whm panelinize sorular olmadan erişebilirsiniz.

Ayhan ARDA

Cpanel Kurulu Sunucuda Dns Recursive Kapatma

Sunucunuza ssh ile eriştikten sonra nano /etc/named.conf komutu ile named.conf dosyanızı açıp içerisine aşağıdaki bölümü Sizin ip adresleriniz ile eklemelisiniz. İlgili satırları controls bölümü ile options bölümü arasına kopyalayınız , sonrasında mevcut var olan options bölümünü siliniz ve kaydedip hata olasılığına karşı named-checkconf /etc/named.conf komutu ile kontrol ediniz, rndc reload komutu ile yeniden yükleme yapınız ve /etc/init.d/named restart ile dns servisinizi restart ediniz, değişiklik öncesi dosyayı her ihtimale karşılık cp /etc/named.conf /etc/named-yedek.conf komutu ile yedekleyiniz.

acl “trusted” {
127.0.0.1;
IP ADRESINIZ-1;
IP ADRESINIZ-2;
IP ADRESINIZ-3;
DAHA VARSA EKLEYINIZ;
};

options {
directory “/var/named”;
version “not currently available”;
allow-recursion { trusted; };
allow-notify { trusted; };
allow-transfer { trusted; };
dump-file “data/cache_dump.db”;
pid-file “/var/run/named/named.pid”;
statistics-file “data/named_stats.txt”;
memstatistics-file “data/named_mem_stats.txt”;

};

Ayhan ARDA

Ücretsiz Webhosting – webhostingsitesi.com

whs__logo

Bu yazımda Sizlere ücretsiz webhosting hizmeti veren bir siteden bahsedeceğim , aynı zamanda benim sitemin sponsorluğunu yapmaktalar , Siteniz için ücretsiz bir webhosting hizmeti arıyor iseniz bu site tam Size göre , tek yapmanız gereken buradan siteye giriş yapmak ve ücretsiz paketi alan adınız için sipariş geçmek , akabinde hiç bir onay beklemeden paketiniz aktif olmakta ve bilgileri mail adresinize gelmekte.

Bu hizmette neler olduğuna bir bakalım , 100 mb lık bir alan veriyorlar , bu da küçük bloglar ve tanıtım siteleri için çok ideal bir alan , bunun yanında 1 mysql veritabanı ve 1 adet altdomain tanımlayabiliyorsunuz , 1 adet te mail adresi hakkınız bulunmakta.

  • 100 MB Disk Alanı
  • 10 GB Aylık Trafik
  • 1 Alt Domain
  • 1 Mysql Veritabanı
  • 1 E-posta Hesabı
  • Türkçe Cpanel

Hizmetin en güzel yanı servislerinde hiç kesinti olmaması , eğer ücretsiz olarak sunulan limitler yeterli gelmiyorsa kolaylıkla bir üst pakete geçiş yapabiliyorsunuz , daha büyük bir paket tercih edecek olanlar içinde bu küçük ve ücretsiz paket Sistemi satın almadan önce hiç bir ön ödeme yapmadan test etmenizi sağlamakta.

Sitenin bir diğer güzel yanı kar ortaklığı sağlaması , ilk alışverişinizden sonra ortaklık için başvurur iseniz Size bir link sunuluyor ve bu link üzerinden yapılan hosting alımlarında yapılan ödemenin belirli bir kısmı Size +bakiye olarak yansıyor ve 100 tl ye ulaştığında banka hesabınıza yatırıyorlar.

ücretsiz-webhosting

 http://www.webhostingsitesi.com

Whm Cpanel Kurulu Sunucuya ImageMagick ve Imagick Kurulumu

Anlatım sadece Whm Cpanel kurulu sunucular içindir,  dilerseniz rmp ya da source install yöntemleriyle de kurabilirsiniz.

* ImageMagick Kurulumu

Sunucumuzda aşağıdaki komut ile önce kurulu olup olmadığını sorgulayalım. Eğer sonuç missing şeklinde dönüyor ise kurulu değildir.

root@ayhanarda [~]# /scripts/checkimagemagick
missing

Kurmak için aşağıdaki komutu çalıştırınız.

root@ayhanarda [~]# /scripts/installimagemagick

Kurulum 10 dk kadar sürebilir , işle tamamlandığında aşağıdaki sonuç ile birlite bitmiş olacak.

ImageMagick installed ok

Kurduktan sonra aşağıdaki komut ile kontrol edebilirsiniz.

root@ayhanarda [~]# /usr/bin/convert –version
Version: ImageMagick 6.8.0-1 2013-03-08 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

* ImageMagick Kaldırma – Uninstal

ImageMagick i sistemden kaldırmak için aşağıdaki komutu çalıştırınız.

root@ayhanarda [~]# /scripts/cleanimagemagick

Imagick Kurulumu

Whm panelinize giriş yapınız ve yandaki adımları izleyiniz -> Software -> Module Installers -> PHP Pecl yanındaki Manage linkine tıklayınız. Açılan sayfada Install a PHP Pecl yazan yerin altındaki text box a imagick yazıp Install Now butonuna basmanız yeterlidir.

Saygılarımla

Ayhan ARDA

Cpanel has exceeded the max defers and failures per hour hatası ve çözümü

Cpanellere yeni gelen özellik ile artık kullanıcılar mail çıkışı yaptığında geri dönen teslim edilemedi mesajları sayılıp belli bir değere eriştiğinde kullanıcının daha fazla mail göndermesi engellenir , böylece eğer hesabı üzerinden spam basıyor ya da bilgisi olmadan basılıyor ise bunun önüne geçilmiş olur, bu limit , global olarak whm te tweak settings altında Mail tab ı içinden değiştirilebilir ya da sadece kullanıcı için farklı bir değer belirlenecek ise Whm de Modify Account s bölümünden ilgili hesabı Modify ettiğimizde bu “Maximum percentage of failed or deferred messages a domain may send per hour” ayarını bulabilirsiniz, bazen bu limiti yükseltseniz de kullanıcının hala bu hatayı almaya devam ettiğini görebilirsiniz , işte bu yazı tam da bu yüzden oluşturuldu, sorunun çözümü için sunucunuza ssh ile erişip /var/cpanel/email_send_limit klasörü içine giriniz ve max_deferfail_domain.com şeklinde göreceğiniz dosyayı siliniz , sonrasında service exim restart komutu ile exim i restart etmeniz önerilir ancak etmeden de çalışacaktır.

rm -rf /var/cpanel/email_send_limits/max_deferfail_domain.com

Ayhan ARDA

Cpanel Kurulu Sunucularda mb_string Kurulumu

Cpanel kurulu sunucularda mb_string kurulumu için aşağıdaki adımları izleyiniz.

  1. Whm panelinize Root olarak giriş yapınız.
  2. Software -> EasyApache menüsüne gidiniz.
  3. Start customizing based on profile butonuna tıklayınız.
  4. Apache ve Php sürüm ekranlarını Next butonu ile geçiniz.
  5. Bir sonraki ekranda Exhaustive Options List butonuna tıklayınız.
  6. Mbstring eklentisinin yanındaki tik i işaretleyiniz.
  7. Sayfanın en altında File name,Display Name , Description alanlarının yanına herhangi bir şey yazıp Save and Build butonuna tıklayınız.
  8. İşlem sonuna kadar pencereyi kapamayınız.
  9. İlgili bileşen eklenmiş olacaktır.

Ayhan ARDA

How do you add PHP mbstring extention with cPanel‎

Cpanel cpmysqladmin had an unknown error hatası çözümü

Cpanel üzerinden veritabanı silerken ya da oluştururken cpmysqladmin had an unknown error şeklinde bir hata alır iseniz ssh üzerinden aşağıdaki komutları sıra ile çalıştırmanız durumu giderecektir.

/scripts/checkperlmodules –full –force
/scripts/mysqlup –force
/scripts/perlinstaller –force DBD::mysql
/scripts/rpmup –force;/scripts/sysup –force; /scripts/upcp –force