cPanel Web Hosting İçin Otomasyon İpuçları
cPanel cron işleri, otomatik yedeklemeler ve ücretsiz SSL kurulumlarıyla sunucu yönetimini kolaylaştırın.
cPanel kullanıcılarının çoğu aynı işleri tekrar tekrar elle yapar: sertifika yenilemek, güncellemeden önce yedek almak, spam temizlemek, bakım betiği çalıştırmak. Oysa bu işlerin neredeyse tamamı kendi kendine çalışabilir. En kullanışlı otomasyon özelliklerinin bir kısmı, pek çok kullanıcının hiç açmadığı menülerde saklı durur; bu yüzden çoğu zaman gözden kaçar.
Bu rehberde cPanel’e yerleşik otomasyon araçlarını ve hosting firmalarının yanına sıklıkla kurduğu eklentileri ele alıyoruz. Menü adları, firmanızın kullandığı temaya ve cPanel sürümüne göre küçük farklılıklar gösterebilir; bazı özellikler de ancak firmanız etkinleştirdiyse görünür.
Alan Adınızı ve Web Sitenizi Anında İnceleyin
TLDix'in WHOIS Domain, Hosting Tespiti ve Domain Oracle (AI) servisleri ile herhangi bir web sitesinin arka plan altyapısını saniyeler içinde analiz edin.
cPanel Hostinginizi Neden Otomatikleştirmelisiniz?
Otomasyon, birkaç dakika kazanmaktan çok tutarlılıkla ilgilidir. Birinin hatırlamasına bağlı olan bir iş er ya da geç unutulur; üstelik genellikle en kötü zamanda. Otomatik işler takvime göre çalışır, kontrol edebileceğiniz bir iz bırakır ve sizin sitenin kendisine odaklanmanızı sağlar.
| Görev | cPanel aracı | Tipik zamanlama |
|---|---|---|
| Betik çalıştırma, önbellek temizleme, rapor gönderme | Cron Jobs | Birkaç dakikada bir ile günlük arası |
| Dosya, veritabanı ve e-posta yedekleme | Yedekleme ayarları, JetBackup veya firmanın yedekleme aracı | Günlük veya haftalık |
| SSL sertifikası alma ve yenileme | SSL/TLS Status (AutoSSL) | Otomatik; sunucu düzenli aralıklarla kontrol eder |
| WordPress ve diğer uygulamaları güncelleme | Softaculous Apps Installer | Yeni sürüm yayımlandığında |
| E-postaları sınıflandırma, yönlendirme veya silme | Email Filters, Spam Filters, Autoresponders | Gelen her mesajda |
| Toplu veya tekrarlayan hesap işlemleri | UAPI ve WHM API 1 | İhtiyaç anında veya cron üzerinden |
Tablodaki araçların hepsini aynı anda kurmanız gerekmez. En çok zaman aldığını düşündüğünüz ya da unutulduğunda en fazla zarar verecek işten başlayın. Çoğu site için bu sıralama yedekler, SSL ve güncellemeler şeklindedir. Ardından e-posta düzenini ve tekrar eden bakım işlerini otomatikleştirebilir, en son da API ile toplu işlemlere geçebilirsiniz. Her yeni otomasyonu ekledikten sonra ilk birkaç çalışmasını mutlaka kontrol edin; beklediğiniz sonucu üretmeyen bir otomasyon, hiç olmamasından daha tehlikeli olabilir, çünkü işin yapıldığını sanmanıza yol açar.
Cron Job’lar: Görevleri Doğru Zamanlamak
cPanel’deki Cron Jobs sayfası, istediğiniz bir komutu belirli bir takvimle çalıştırmanızı sağlar. Açılır listeden hazır bir zamanlama seçebilir ya da beş zaman alanını kendiniz doldurabilirsiniz: dakika, saat, ayın günü, ay ve haftanın günü.
# Her 15 dakikada bir PHP betiği çalıştır
*/15 * * * * /usr/local/bin/php /home/kullanici/public_html/cron/tasks.php >/dev/null 2>&1
# Her gün saat 03:30’da temizlik betiği çalıştır
30 3 * * * /home/kullanici/scripts/cleanup.sh >> /home/kullanici/logs/cleanup.log 2>&1
Cron job için iyi uygulamalar
- Tam dosya yolları kullanın. Hem yorumlayıcı hem de betik için tam yol yazın. Cron çok kısıtlı bir ortamda çalışır; terminalde sorunsuz çalışan bir komut cron’da başarısız olabilir.
- Çıktının nereye gideceğine karar verin. Varsayılan olarak cron çıktısı, Cron Jobs sayfasının üstünde tanımlı e-posta adresine gönderilir. Susturmak için
/dev/nulladresine, kayıt tutmak için bir log dosyasına yönlendirin. - Çakışmaları önleyin. Bir iş, çalışma aralığından uzun sürebiliyorsa bir kilit mekanizması ekleyin; böylece önceki çalışma bitmeden yenisi başlamaz.
- Aşırı sık zamanlamayın. Birçok paylaşımlı hosting firması asgari bir aralık belirler ve cron işlemlerini kaynak limitlerinize dahil eder.
WP-Cron yerine gerçek bir cron job kullanmak
WordPress zamanlanmış görevlerini biri siteyi ziyaret ettiğinde çalıştırır. Trafiği düşük sitelerde görevler gecikebilir; yoğun sitelerde ise bu kontrol çok sayıda sayfa yüklemesinde tekrarlanır. Yaygın çözüm, wp-config.php dosyasına define( 'DISABLE_WP_CRON', true ); satırını eklemek ve WP-Cron’u gerçek bir cron job ile tetiklemektir:
*/10 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Güvenebileceğiniz Otomatik Yedekler
cPanel’in kendi Backup ve Backup Wizard sayfaları istendiğinde yedek oluşturur: hesabın tam yedeği ya da ana dizin, veritabanları, e-posta yönlendiricileri ve filtreleri için ayrı arşivler. Zamanlanmış otomatik yedekler ise genellikle sunucu yöneticisi tarafından WHM üzerinden yapılandırılır. Pek çok firma ayrıca cPanel içinde JetBackup gibi araçlar sunar; böylece anlık yedekleri kendiniz görüntüleyip geri yükleyebilirsiniz.
Mutlaka kontrol etmeniz gerekenler
- Yedeklerin ne sıklıkla alındığı ve kaç geri yükleme noktasının saklandığı.
- Yedeklerin farklı bir sunucuda veya lokasyonda tutulup tutulmadığı.
- Tüm hesabı geri yüklemeden tek bir dosyayı, veritabanını veya e-posta kutusunu geri alıp alamayacağınız.
- Bir geri yüklemeyi gerçekten hiç test edip etmediğiniz. Hiç geri yüklenmemiş bir yedek plan değil, varsayımdır.
Ek güvenlik için bir cron job ile veritabanı dökümünü ayrı bir klasöre alabilir ya da kendi betiğinizle başka bir lokasyona gönderebilirsiniz. Erişim bilgilerini cron komutunun içine değil, korumalı bir yapılandırma dosyasına yazın.
AutoSSL: Kendi Kendini Yenileyen Sertifikalar
AutoSSL, cPanel’in ücretsiz alan adı doğrulamalı (DV) sertifikaları alıp yenileyen yerleşik özelliğidir. Sunucunun yapılandırmasına bağlı olarak Sectigo veya Let’s Encrypt gibi bir sağlayıcı kullanır. Etkin olduğunda sunucu alan adlarını düzenli aralıklarla kontrol eder ve sertifikaları süreleri dolmadan, sizin bir şey yapmanıza gerek kalmadan yeniler.
Tüm alan adı ve alt alan adlarının durumunu SSL/TLS Status sayfasında görebilirsiniz. AutoSSL’in en sık başarısız olma nedenleri şunlardır:
- Alan adının DNS kayıtları sunucuyu göstermiyordur; bu yüzden doğrulama başarılı olamaz.
- Sitenin önündeki bir proxy veya CDN doğrulama isteğini engelliyordur.
.htaccessiçindeki yönlendirme kuralları doğrulama dosyasının yoluna müdahale ediyordur.mailveyawebdiskgibi kullanılmayan alt alan adları çözümlenmiyordur; bunlar hata üretir ve hariç tutulabilir.
Otomatik yenileme riski azaltır, ancak bitiş tarihlerini bağımsız olarak takip etmek yine de akıllıca olur. TLDix; SSL, alan adı ve hosting yenilemelerini birlikte takip edebilir, hosting paneli de hesaplarınızı ve yenileme tarihlerini tek ekranda gösterir.
WordPress ve Diğer Uygulamalar İçin Softaculous Otomatik Güncellemeleri
Softaculous, birçok hosting firmasının cPanel’e eklediği popüler bir uygulama yükleyicisidir. Tek tıkla kurulumun yanı sıra uygulamalarınızı güncel tutmaya da yardımcı olur. Her kurulumun ayarlarında genellikle şunları seçebilirsiniz:
- Çekirdeğin otomatik güncellenmesi: yalnızca küçük (minor) sürümler ya da ana sürümler dahil tüm sürümler.
- WordPress eklenti ve temalarının otomatik güncellenmesi.
- Otomatik yedekler: günlük, haftalık veya aylık; saklanacak kopya sayısı için bir sınırla birlikte.
- Güncelleme öncesi yedek: her güncellemeden önce otomatik olarak yedek alma seçeneği.
Çoğu site için makul yaklaşım; küçük sürüm güncellemelerini otomatik yapmak, güncelleme öncesi yedeği açık tutmak ve ana sürüm güncellemelerini, mümkünse önce bir test (staging) kopyasında, elle gözden geçirmektir. Yönetilen WordPress hosting kullanıyorsanız güncellemeleri firma zaten üstleniyor olabilir; yönetilen WordPress hosting yazımız bu sorumlulukların genellikle kimde olduğunu açıklıyor.
E-posta Filtreleri, Spam Kuralları ve Otomatik Yanıtlar
cPanel iki düzeyde e-posta filtrelemesi sunar. Email Filters tek bir e-posta kutusuna uygulanırken, Global Email Filters hesaba teslim edilen tüm e-postalar için geçerlidir. Bir filtre; “Konu şunu içeriyor” ya da “Gönderen şununla eşleşiyor” gibi bir kuralı bir eylemle birleştirir: bir klasöre teslim et, başka bir adrese yönlendir, sil veya bir programa aktar (pipe).
Faydalı filtre fikirleri
- Sunucu bildirimlerini ve cron e-postalarını ayrı bir klasöre taşıyın.
- Faturaları ve yenileme bildirimlerini ortak bir muhasebe adresine yönlendirin.
- Web formundan gelen mesajları, destek talebi oluşturan bir betiğe aktarın.
Spam Filters bölümünde Apache SpamAssassin’i etkinleştirebilir, spam puan eşiğini ayarlayabilir ve belirli bir puanın üzerindeki mesajları ayrı klasöre taşımayı ya da otomatik silmeyi seçebilirsiniz. Temkinli bir eşikle başlayın ve spam klasörüne düşen mesajları inceledikten sonra eşiği düşürün. Autoresponders ise tatil dönemlerinde otomatik yanıt göndermenizi ya da mesajın alındığını onaylamanızı sağlar; aynı göndericiye tekrar tekrar yanıt gitmesini önleyen bir aralık ayarı da vardır.
UAPI ve WHM API Temelleri
Arayüzde tıklamak yetersiz kaldığında cPanel’in API’leri neredeyse her şeyi betiklere dökmenizi sağlar. UAPI tek bir cPanel hesabı düzeyinde çalışır; örneğin e-posta hesabı oluşturmak veya veritabanlarını listelemek için kullanılır. WHM API 1 ise sunucu yöneticileri ve bayiler içindir; hesapları listelemek veya oluşturmak gibi işleri yürütür.
Komut satırı örnekleri
# SSH üzerinden cPanel kullanıcısı olarak: e-posta hesaplarını listele
uapi Email list_pops
# root olarak: belirli bir kullanıcı için UAPI çalıştır
uapi --user=kullanici Mysql list_databases
# root veya bayi olarak: sunucudaki hesapları listele
whmapi1 listaccts
API’yi token ile HTTPS üzerinden çağırmak
Şifrenizi kullanmak yerine cPanel’de Manage API Tokens bölümünden (WHM API için WHM’deki Manage API Tokens sayfasından) bir API token oluşturun. Ona anlaşılır bir ad verin ve mümkünse bir son kullanma tarihi belirleyin. Ardından token’ı yetkilendirme başlığında gönderin:
curl -H "Authorization: cpanel kullanici:API_TOKENINIZ" "https://sunucu.example.com:2083/execute/Email/list_pops"
curl -H "Authorization: whm root:API_TOKENINIZ" "https://sunucu.example.com:2087/json-api/listaccts?api.version=1"
Token’lara şifre gibi davranın: web kök dizininin dışında saklayın, dosya izinlerini kısıtlayın ve artık kullanmadığınız token’ları iptal edin.
Otomasyonu Kontrol Altında Tutmak
Otomasyon, hâlâ çalıştığını görebildiğinizde en iyi sonucu verir. Birkaç alışkanlık büyük fark yaratır:
- Her cron job’ı, filtreyi ve API betiğini amacı ve sorumlusuyla birlikte listeleyen kısa bir belge tutun.
- Hata çıktılarını gerçekten okunan bir adrese gönderin, rutin başarı mesajlarını ise susturun.
- SSL/TLS Status sayfasını ve yedekleme loglarını ayda bir gözden geçirin.
- Eski projelere ait işleri ve token’ları kaldırın.
- Hosting, alan adı ve SSL yenileme tarihlerinizi tek bir yerde görünür tutun; böylece otomasyonunuz süresi dolmuş bir hesaba takılmaz.
Bu özellikleri yapılandırdığınızda cPanel hostinginiz büyük ölçüde kendi bakımını kendisi yapar, siz de dikkatinizi en çok değer katan işlere verebilirsiniz.