CWP RoundCube İçi Sunucu Hatası

1. CWP güncelleyin.

sh /scripts/update_cwp

2. Roundcube güncelleyin.
sh /scripts/mail_roundcube_update

3. Mail yetkilerini tamir edin.
/scripts/cwp_api account mail_fix_permissions

Logları İnceleyin.
 
/usr/local/cwpsrv/var/services/roundcube/logs/errors.log 
/var/log/dovecot.log

Dizinleri kontrol edin.

chown vmail.mail /var/vmail
chmod 770 /var/vmail

CWP – Delete All Log Files

Centos Web Panel Düşük Disk Alanına Sunucularda zaman zaman tüm günlük log dosyalarını toplu silerek yer kazanım gerektiğinde aşağıdaki SSH komutuları kullanarak işlem yapabilirsiniz.

cd /root
nano deletelog.sh

Root klasörü içine deletelog.sh dosyası oluşturarak aşağıdaki komutları ekleyin ve ardından kaydedin.

 #!/bin/bash

truncate -s 0 /var/log/messages
truncate -s 0 /var/log/maillog
truncate -s 0 /var/log/*log
truncate -s 0 /usr/local/apache/logs/*bytes
truncate -s 0 /usr/local/apache/logs/*log
truncate -s 0 /usr/local/apache/domlogs/*bytes
truncate -s 0 /usr/local/apache/domlogs/*log
truncate -s 0 /opt/alt/*/usr/var/log/php-fpm.log
truncate -s 0 /usr/local/cwpsrv/logs/access_log
truncate -s 0 /usr/local/cwpsrv/logs/error_log
truncate -s 0 /var/log/cron
truncate -s 0 /var/log/secure
truncate -s 0 /var/log/cwp/services_action.log
truncate -s 0 /var/log/cwp/cwp_sslmod.log
truncate -s 0 /var/log/cwp/cwp_cron.log
truncate -s 0 /var/log/cwp/cwp_backup.log
truncate -s 0 /var/log/cwp/activity.log
truncate -s 0 /usr/local/cwpsrv/var/services/roundcube/logs/errors
truncate -s 0 /var/spool/amavisd/.razor/razor-agent.log
truncate -s 0 /usr/local/cwp/php71/var/log/php-fpm.log
truncate -s 0 /root/.acme.sh/cwp_certs/acme.sh.log
rm -rf /var/log/maillog-*
rm -rf /var/log/monit.log-*
rm -rf /var/log/spooler-*
rm -rf /var/log/messages-*
rm -rf /var/log/secure-*
rm -rf /var/log/pureftpd.log-*
rm -rf /var/log/yum.log-*
rm -rf /var/log/monit.log-*
rm -rf /var/log/cron-*
rm -rf /var/lib/clamav/tmp.*

Daha sonra dosya izinlerini çalıştırılabilir olarak ayarlayalım.

chmod 755 /root/deletelog.sh

sonrasında çalıştırdığınızda deletelog.sh dosyası içinde komutları sırasıyla yapacak ve dosyaları silecektir.

sh /root/deletelog.sh

bu işlemin otomatik olarak belirli aralıklar yapılması için cron job tanımlaya bilirsiniz.

/usr/bin/sh /root/deletelog.sh

Ayrıca bunların dışında çok yer kaplamasada cwp_stats kayıtlarını tutuyorsanız silmek isterseniz aşağıdaki komutu kullabilirsiniz

rm -rf /home/*/cwp_stats/*

Centos Web Panel Gateway Timeout

Centos Webpanel kullanıyorsanız ve yüksek boyutlu dosya yüklemeleri veya göndermeleri sırasında default zaman ayarı nedeni ile gateway timeout hatası alıyorsanız öncelikli olarak Php konfigürasyon ayarlarınızı gözden geçiriniz. Php Konfigürasyon ayarlarınızı yaptığınız halde sorun devam ediyorsa aşağıdaki işlemleri Centos WebPanele giriş yaparak gerçekleştiriniz

  1. WebServers Settings
  2. WebServers Configuration Editor
  3. Apache
  4. /usr/local/apache/conf.d/vhosts/
  5. domainadiniz.com.conf ve domainadiniz.com.ssl.conf bulun ve açın
  6. <IfModule proxy_fcgi_module> satırını bulun ve
  7. timeout 600 ekleyin.
  8. Saklayın ve aynısını ssl conf dosyası için yapın.
    /usr/local/apache/conf.d/vhosts/domainadiniz.com.ssl.conf
  9. Apache yeniden başlatınız.

 

Centos Web Panel SSL Hatası

Centos Web Panel SSL sertifikası hatası alıyorsanız çözüm için aşağıdakileri sırasıyla yapınız.

Öncelikli olarak aşağıdaki komut ile host ismini öğreniyoruz.
hostname server.bozdemir.com (Örnek)
cat /etc/redhat-release (CentOS Linux release 7.6.1810 (Core) Sistemi)

yum install epel-release (sistemde yüklü bilgisi alabilirsiniz)
yum update (sistemi güncelliyoruz)
yum install certbot (Yüklüyoruz)
yum info mod_ssl openssl (kurulu olup olmadığını kontrol ediyoruz)

letsencrypt.conf dosyasına aşağıdaki gibi açıp içini düzenliyoruz.

nano /usr/local/apache/conf.d/letsencrypt.conf

Alias /.well-known/acme-challenge/ “/usr/local/apache/autossl_tmp/.well-known/acme-challenge/”
<Directory “/usr/local/apache/autossl_tmp/”>
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>

certbot certonly –agree-tos –email a h m e t @ bozdemir.com –webroot -w /usr/local/apache/autossl_tmp/ -d server.bozdemir.com

cp /usr/local/apache/conf.d/ssl.conf /usr/local/apache/conf.d/bak.ssl.conf.orig

nano /usr/local/apache/conf.d/ssl.conf

<IfModule !ssl_module>
LoadModule ssl_module modules/mod_ssl.so
</IfModule>
Listen 443
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off

# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling on
SSLStaplingCache “shmcb:logs/stapling-cache(150000)”
# Requires Apache >= 2.4.11
SSLSessionTickets Off

SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)

Aşağıdaki komut ile mod_ssl ve shmcb modülleri açıyoruz.

nano /usr/local/apache/conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

hostname-ssl.conf dosyasını açıyoruz ve aşağıdak kodu ekliyoruz.

nano /usr/local/apache/conf.d/hostname-ssl.conf

<VirtualHost *:443>
ServerName server.bozdemir.com
ServerAdmin a h m e [email protected]
DocumentRoot /usr/local/apache/htdocs/

SSLEngine on
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCertificateFile /etc/letsencrypt/live/server.bozdemir.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/server.bozdemir.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown

<IfModule mod_suexec.c>
SuexecUserGroup nobody nobody
</IfModule>

<IfModule mod_suphp.c>
suPHP_UserGroup nobody nobody
suPHP_ConfigPath /home/nobody
</IfModule>

<Directory “/usr/local/apache/htdocs/”>
AllowOverride All
</Directory>

</VirtualHost>

cwpsrv.conf dosyasını açıyoruz.

nano /usr/local/cwpsrv/conf/cwpsrv.conf

Aşağıdaki satırları bulun :
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Yukarıdaki Satırların başına # ekleyin ve aşağıdaki satırları ilave edin

ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

users.conf dosyasını editliyoruz.

nano /usr/local/cwpsrv/conf.d/users.conf

Aşağıdakı Satırları bulun:
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Aşağıdakileri Yapıştırın:
ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

webmail.conf dosyasını editliyoruz.

nano /usr/local/cwpsrv/conf.d/webmail.conf

Aşağıdakı Satırları bulun:
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Aşağıdakileri Yapıştırın:
ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

Ayar işlemlerimiz tamamlandı. Artık servisleri yeniden başlatıyoruz.

/usr/local/cwpsrv/bin/cwpsrv -t
systemctl restart cwpsrv
systemctl restart httpd
systemctl status cwpsrv
systemctl status httpd

CWP Admin Panel Linkleri (by hostname)
CWP Admin Panel Link: http://server.bozdemir.com:2030
CWP Admin Panel Link: http://server.bozdemir.com:2086
CWP Admin Panel SSL Link: https://server.bozdemir.com:2031
CWP Admin Panel SSL Link: https://server.bozdemir.com:2087

CWP User Panel Linkleri (by hostname)
CWP User Panel Link: http://server.bozdemir.com:2082
CWP User Panel SSL Link: https://server.bozdemir.com:2083

Not : Başlatma sırasında emerg hatası alırsanız.
Starting cwpsrv: cwpsrv: [emerg] SL_CTX_use_PrivateKey_file(“/etc/pki/tls/private/hostname.key”) failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

Hostname için SSL oluşturmalısınız.

/usr/local/cwpsrv/htdocs/resources/scripts/generate_hostname_ssl

cwpsrv: [warn] he “ssl” directive is deprecated, use the “listen … ssl” directive instead …i.conf:8
/usr/local/cwpsrv/conf.d/api.conf Uyarı hatası alırsanızda dikkate almaya bilirsiniz.
ssl on; satırından kaynaklıdır.

AutoSSL – Error Code: 77

Centos Web Panel üzerinde yer alan SSL Certificates sekmesinde yer alan AutoSSL Çalışmaması durumunda aşağıdaki hatayı alıyorsanız yapmanız gereken şey ca-certificates sistem yeniden yüklemeniz yeterli olacaktır.

Ancak logları inceleyerek ve yapılması gerekenler sırayla aşağıda yer almaktadır.

tail -f /root/.acme.sh/acme.sh.log

[Wed Jun 5 13:10:30 +03 2019] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 77
[Wed Jun 5 13:10:30 +03 2019] ret=’77’
[Wed Jun 5 13:10:30 +03 2019] Can not connect to https://acme-v01.api.letsencrypt.org/directory to get nonce.
[Wed Jun 5 13:10:30 +03 2019] Can not get domain new authz.
[Wed Jun 5 13:10:30 +03 2019] pid
[Wed Jun 5 13:10:30 +03 2019] No need to restore nginx, skip.
[Wed Jun 5 13:10:30 +03 2019] _clearupdns
[Wed Jun 5 13:10:30 +03 2019] skip dns.
[Wed Jun 5 13:10:30 +03 2019] _on_issue_err
[Wed Jun 5 13:10:30 +03 2019] Please check log file for more details: /root/.acme.sh/acme.sh.log

dilerseniz bu log dosyasınıda inceleye bilirsiniz. cat /var/log/cwp/cwp_sslmod.log

curl -v https://acme-v01.api.letsencrypt.org/directory

komutunu çalıştırın ve aşağıdaki gibi bağlantı hatasını alıryorsanız yeniden ca-certificates kurulum yapın.

About to connect() to acme-v01.api.letsencrypt.org port 443 (#0)
Trying 104.66.95.37…
Connected to acme-v01.api.letsencrypt.org (104.66.95.37) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
Closing connection 0
curl: (77) Problem with the SSL CA cert (path? access rights?)

yum reinstall ca-certificates

ardından tekrar kontrol için aşağıdaki komut ile kontrol edin. Hata yerine OK aldığınızı göreceksiniz. Ardından artık Centos-WebPanel üzerinden artık AutoSSL sertifikaları üretilebilecektir.

curl -v https://acme-v01.api.letsencrypt.org/directory

Komutu ilede SSL Oluşumu test edilebilir.
sh /root/.acme.sh/acme.sh –home /root/.acme.sh/cwp_certs –issue -d www.alanadi.com -d alanadi.com -w /usr/local/apache/autossl_tmp –debug 2

pflogsumm ile Günlük Rapor

Sunucu üzerinde e-posta gönderimi, alımı gibi işlemlerin neler olduğunu görmej istersiniz. Postfix Mail Sunucusu kullanıyor iseniz pflogsumm kurmanızı ve günlük cron tanımlayarak rapor almanızı öneririm.

Bu raporlama sayesinde, kime kaç tane posta gelmiş, kimlerden gelmiş, hangi saatler arası posta hareketliliği olmuş vb bir çok bilgi gelecektir.

pflogsumm Kurmak İçin

yum install postfix-perl-scripts.x86_64

Aşağıdaki komutu SSH üzerinden çalıştırarak sonuçları görebilirsiniz.

perl /usr/sbin/pflogsumm -e -d yesterday /var/log/maillog

Kendinize günlük rapor gelmesini istiyorsanız. postfix_report.sh dosyasının aşağıdaki gibi oluşturun, içine ilgili satırdaki kodları girin saklayarak dosyadan dıkış yapın ve ardından çalıştırma yetkisini verin. Günlük gece 00:00 raporlama için 0 0 * * * ile cronu ekleyin. cron servislerini yeniden başlatmayı unutmayın.

nano /usr/local/sbin/postfix_report.sh

#!/bin/sh
perl /usr/sbin/pflogsumm -e -d yesterday /var/log/maillog | mail -s “Postfix Mail Statistics” [email protected]
exit 0

chmod +x /usr/local/sbin/postfix_report.sh

crontab -e

0 0 * * * /usr/local/sbin/postfix_report.sh &> /dev/null

E-Posta Logları İnceleme

Sunucu üzerinde bazen illagel durumları tespit etmek istersiniz. bunun için yapmanız gereken bazı komutları aşağıda verilmektedir. Bu rapor çıktılarını inceleyerek genel bir yorum yapabilir hale gelirsiniz.

Sunucuya IMAP ve POP3 olarak bağlantı yapanları tespit etmek için.
4 Haziran Tarihinde Kim kaçkere Login olmuş.

E-Posta listesini olarak listeler, bağlantı sayıları ile birlikte
grep -i “Login: user” /var/log/dovecot-info.log |grep “Jun 04″|awk {‘print $7’}|sort|uniq -c|sort -n

IP Listesi ile birlikte görmek için
grep -i “Login: user” /var/log/dovecot-info.log |grep “Jun 04″|awk {‘print $7” “$9’}|sort|uniq -c|sort -n

Mail Log kayıtlarında SMTP Kullanarak Giriş Yapanları Tespit Etmek İçin (Web Üzerinden Bağlanma) Genellikle Spam Gönderilerin kimler tespit etmek için kullanılır.

Zaman Damgasız Sorgulama İçin
grep -i “sasl_username” /var/log/maillog |awk {‘print $9’}|sort|uniq -c|sort -n

Belirli Bir tarihi sorgulamak için
grep -i “sasl_username” /var/log/maillog |grep “Jun 4″|awk {‘print $9’}|sort|uniq -c|sort -n

Client ve Ip Adreslerini almak için
grep -i “sasl_username” /var/log/maillog |grep “Jun 4″|awk {‘print $9” “$7’}|sort|uniq -c|sort -n

Sunucu tarafından red edilen e-posta listesi
grep -i “NOQUEUE: reject:” /var/log/maillog |grep “Jun 4″|awk {‘print $10” “$21” “$22’}|sort|uniq -c|sort -n

Toplu E-Posta Çıkışını Loglardan Bulmak

Postfix Toplu E-posta Çıkış Kaynağını Bulma

Bizler ne kadar sunucuda güvenlik tedbirleri alsakta, mutlaka hepimizin başına abuse bildirim gelmektedir.

Genellikle müşterilerinizin bilgisayarlarına virus bulaşıp e-posta adresinin şifresi kaptırmış olmalarından kaynaklanır.

Her ne kadar abuse bildirimler toplu eposta çıkışımdan kaynaklı olmasada gönderilen içerik sahtekarlık ve aldatıcı e-posta olmasından dolayı acil müdehale edip gereğini yaparak abuse bildirimini sonlandırmanız gerekmektedir. Aksi taktirde sunucudaki IP adresine 24 saat sonunda Blok koyulur.

Postfix maillog kayıtları içinde size rapor edilen e-posta adresini aratınız.
bir dünya sonuç listenecektir. bizim için önemli olan ilk bulduğumuz satırdır.

cat /var/log/maillog [email protected]

Not : sikayet gelmemiş fakat kuyrukta çok fazla e-posta varsa hızlıca

cat /var/log/maillog | grep “sasl_method=LOGIN” 

komutu ile login olan kişileri gözden geçirerek bulmaya çalışırsınız. Örneğin bölge dışı aynı IP yada farklı IP den artarda bağlantı olunması gibi aşağıdaki örnekte görüldüğü şekli ile

Oct 18 12:15:20 server postfix/smtpd[21015]: C7CE7C5037FC5: client=unknown[13.72.68.51], sasl_method=LOGIN, sasl_username=eposta@alaadı.com

Oct 18 12:15:23 server postfix/smtpd[21015]: DC391C5037FC7: client=unknown[13.72.68.51], sasl_method=LOGIN, sasl_username=eposta@alaadı.com

Bize abuse ile postaadresi bildirildiğini düşünerek devam edelim.

Örnek :
Jun 3 02:44:21 server postfix/cleanup[12151]: 946E1C048889F: message-id=[email protected]

gibi bir satır bulacaksınız bu satırın bir satır öncesi yada bir kaç satır öncesini dikkatli inceleyiniz.

946E1C048889F id olan client ve sasl_method değerlerini inceleyin. Aşağıdaki gibi satır bulacaksınız.

Jun 3 02:44:20 server postfix/smtpd[1144]: 946E1C048889F: client=localhost.localdomain[127.0.0.1], sasl_method=LOGIN, sasl_username[email protected]

sisteme legal olarak oturum açtığı [email protected] kullanarak, illagel bir gönderimde bulunduğunu yüzlerce e-postayı kuyruğa girdiğinden anlamış olmalısınız.

yine hemen devamında kuyruğa e-posta soktuğu ve peşinden disconnect olduğunu göreceksiniz.

Jun 3 02:44:21 server postfix/qmgr[23595]: 946E1C048889F: from=[email protected], size=1104752, nrcpt=500 (queue active)
Jun 3 02:44:21 server postfix/smtpd[1144]: disconnect from localhost.localdomain[127.0.0.1]

cat /var/log/maillog |grep [email protected]

komutu ilede incelemeye devam edersiniz.

yine

cat /var/log/dovecot-info.log |grep [email protected] ile bağlantı saatine dikkate alarak ip adresini tespit edebilirsiniz.

ardından sistem [email protected] hesabını suspend etmek yada şifresini değiştirmek. Ancak müşterinize şifresini hemen vermeyin, bilgisayarını virus taramasından geçirmesini talep edin. yoksa aynı şey tekrar tekrar devam edecektir. ardından tespit ettiğimiz ip adresini güvenlik duvarından engelleyin.

Postfix IP Değiştirme (Change)

Sunucunuzda postfix kurulu ise default e-posta gönderim ip adresi Ana IP adresinizdir. Olası bir toplu e-posta çıkışı söz konusu olursa ve bu ip kara listeye girmiş ise, kara listeden çıkarmak için beklenecek vakit söz konusu değil ise hemen yapılması gereken işlem, Sunucu üzerinden gönderilecek e-postaların Farklı bir IP adres üzerinden göndermeyi ayarlamak olacaktır. Bunun için yapmanız gereken işlem

SSH ile Sunucunuza bağlanın

nano /etc/postfix/master.cf dosyasını açın ve aşağıdaki satırı 4 satırı bulun ve kaldırın.

smtp unix – – n – – smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix – – n – – smtp
 -o fallback_relay=

Yerine Bu Satırları Ekleyin.

smtp unix – – n – – smtp
-o smtp_bind_address=81.181.81.181-Sizin-IP-Adresiniz-Olmalı
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix – – n – – smtp
-o smtp_bind_address=81.181.81.181-Sizin-IP-Adresiniz-Olmalı
-o smtp_fallback_relay=

Düzenlemeyi kayıt edin ve nano edit programından çıkın.

service postfix restart

komutu ile servisi yeniden başlatın. artık yeni ip adresiniz üzerinden gönderim yapacaktır.

Not : buradaki satırları kopyalayıp yapıştırınca postfix servisi yeniden çalışmayarak bu satırlarda hata var diyebilir.

bunun için dikkat edilmesi gereken – bu işaretler arasında tab boşluğun olmmasından kaynaklanır. Bu neden bu düzenlemeyi yaparken mevcut kayıtlı satırlardan yararlanarak yapılmasını tavsiye ederim.

 

Linux E-Posta Kuyruğunu Temizle

Linux sunucularda e-posta sunucusunun kuyruğunda biriken e-postaları aşağıdaki komut ile silebilirsiniz.

exim -bp | awk ‘/^ *[0-9]+[mhd]/{print “exim -Mrm ” $3}’ | bash

exim -bp | exiqgrep -i | xargs exim -Mrm

exim -bp | grep ‘<‘ | awk ‘{ print $3; system(“exim -Mrm “$3)}’

Yukarıdaki 2 komut ile yapılan işlem 100.000 leri aşan posta kuyrukta var ise uzun sürecektir. bu durumda

cd /var/spool
killall -9 exim
killall -9 exim
killall -9 exim
(Exim kesin olarak sonlandırılmış olduğuna emin olunuz)
killall -9 spamd
killall -9 spamc
mv exim exim.old
mkdir -p exim/input
mkdir -p exim/msglog
mkdir -p exim/db
chown -R mailnull:mail exim
/sbin/service exim restart

bu işlemler sonrası sistem e-posta gönderme ve alma sorunları devam ediyorsa

tail -f /var/log/maillog

Komutu ile mail trafiği kontrol edilmelidir. Kontrol sonrası Error mesajları incelenir.

/var/spool/exim/input/

Klasörü altında yer alan 0-9 , a-z , A-Z arası dizinlerin olmadığını hatalar alındığı görülür bu durumda üzerine ilgili klasörler ;
mkdir /var/spool/exim/input/0
mkdir /var/spool/exim/input/1
mkdir /var/spool/exim/input/2

gibi dizinler açılır.

cd /var/spool
chown -R mailnull:mail exim

tekrar dizin yetkilendirilir.

Bu işlemlerin sonunda  SMTP Hatası: [421] Unexpected failure, please try later

şeklinde hata alırsanız.

Cpanel Giriş yapınız.

Home  »  Service Configuration »  Exim Configuration Manager

geliniz.

Önce Backup sekmesinden yedek alınız.

Ardından Reset Sekmesinden

Reset cPanel & WHM Exim configuration files, one option at a time, until the installed Exim configuration is valid

Seçerek reset işlemini yapınız.  artık düzelecektir.

Bir durum daha meydan gelmiş olabilir.

E-posta attığınız halde gitmiyor ise ve geriye size bloklandı mesajı gibi bir hata dönüyor ise.

/etc/mailips dosyasına temiz bir size ait yeni IP adresi giriniz.

cpanellogd Durdurma ve İşlemi Sonlandırma

Cpanel Günlük olarak bant genişliği hesabı yapmaktadır. bazı durumlarda sunucuya çok yük bindirmekte ve diskin yavaş çalışmasına neden olarak sunucuyu ağırlaştırmaktadır. bu durunda aşağıdaki işlemleri yaparak çalışan süreçleri durdura bilirsiniz.

touch /etc/cpanellogddisable
killall -9 cpanellogd
mv /usr/local/cpanel/cpanellogd /usr/local/cpanel/cpanellogd.bak
mv /usr/local/cpanel/libexec/cpanellogd /usr/local/cpanel/libexec/cpanellogd.bak
chkconfig –del bandmin
/usr/local/bandmin/bandminstop

Site Erişim Logları Yedekleme

Her bir site erişimleri sistem tarafından loglanır.

Bu loglar yüksek ziyaret alan sitelerde GB’ları aşan dosya boyutuna ulaşır.

belirli zamanlarda bu logların yedeklenerek başka ortama almak gerekebilir.

Ayrıca T.C. Kanunları geri loglar’da belirli bir süre saklansı gerekmektedir.

Cpanel yüklü Linux işletim sisteminde aşağıdaki komut ile Logları sıkıştırarak
yedekleye bilirsiniz.

bu komutlar ile logların bulunduğu ilgili dizine giriyoruz.

domlogs dizini tar komutu ile sıkıştırılır.

daha sonra yedeklenen log dosyalarına ihtiyaç kalmadığı için silinir.

web sunucusu yeniden başlatılmaktadır.

cd /usr/local/apache
tar -cf domlogs-XX-XX-2013.tar.gz domlogs
rm -rf /usr/local/apache/domlogs/*
/etc/init.d/httpd restart

 

Sunucu Shell Access Erişim Listesini Görmek

Linux İşletim sisteminde  root ve mysql gibi kullanıcıların dışında işin ehli olmayan shell erişimi olması oldukça tehlikeli olabilir.

mümkün olduğu kadar hiç bir standart web kullanıcısına user’a shell yetkisini Cpanel paket oluştururken vermeyiniz.

gözden kaçması, dikkat edilmeden verilmiş kullanıcılar olabilir.

bunun için aşağıdaki komutu kullanarak bu yetkiye sahip kullanıcıları görebilirsiniz.

cat /etc/passwd |grep “/bin/bash”

listenilen kullanıcıları cpanel’e gelerek modify account sekmesinden

Shell Access erişimini çeltiğini kaldırınız.

 

Linux Antivirüs Kurma ve Tarama

Linux İşlem istemi üzerine antivirus kurma ve tarama yapmak için  aşağıdaki komutları sırası ile yapınız.

 

wget http://files.avast.com/files/linux/avast4workstation-1.3.0.tar.gz

tar -xvf avast4workstation-1.3.0.tar.gz

cd avast4workstation-1.3.0

cd bin/

./avast-update

./avast /home –report=/root/avast.txt

 

home  ve alt dizinlerini tarar.

sonuçları görmek için daha sonra edit ederek bakabilirsiniz.

Shell, Door, Agent gibi scriptler tehlikeli olduğundan zaman geçirmeden siliniz.

 

[ERROR] Can not open directory for URI: /!

[ERROR] Can not open directory for URI: /!

Proudly Served by LiteSpeed Web Server at www.????????????????.com Port 80

Böyle bir hata alıyorsanız.

Muhtemelen yedekten bir paket kurulumu yaptınız veya farklı bir sunucudan LITESPEED kullanılan sunucuya hostunuzu taşıdınığızda karşılaşılmaktadır. bu çok nadir görülür.

Bunun Sebibi

public_html 

Dizininin Grup Sahini NoBody olmamasından kaynaklanır.

Çözüm için Sunucu Sahibine ulaşıp Bu dizinin Grup Sahibi bilgilerini değiştirmesini istemelisiniz.

 

Memcached Başlatma [SSH]

Herhangi bir şekilde sunucuda memcached durmuş ise aşağıdaki hataya benzer bir hata  alıyor olacaksınız.

bu hatanın giderilmesi için yine aşağıdaki komutu kullanabilirsiniz.

Could not connect to memcache server

 

Memcached Start Commad  – Memcached Başlatma Komutu

/usr/local/bin/memcached -u nobody -d -m 128 -l 127.0.0.1 -p 11211

 

Cpanel Domain Oluşturma Hatası

Cpanel’de
Sorry, that domain is already setup (remove it from httpd.conf);


hatası alırsanız yapmanız gereken en hızlı çözüm  ‘http.conf’ dosyasını bulmak (usr/local/apache/conf) ve içinde oluşturmaya çalıştığımız alan adını aramak olmalıdır. Bulduğumuzda ilgili yerleri (muhtemelen 2 yer) silmek olacaktır.

Böylelikle bu hatadan kurtularak alan adını oluşturabilirsiniz.

 

Bu hatayı vermesinin sebebi genelde aha önceden oluşturulmaya çalışırken yarım kalmasından kaynaklı olmaktadır.

Dilerseniz

/scripts/rebuildhttpdconf

komutu ile de yeniden derleme yapabilirsiniz.

Cpanel Servisleri Resetleme

cPanel tercih eden Sunucu sahibi müşterilerimiz için SSH tan servisleri resetleme komutları aşağıda yer almaktadır.

Apache yeniden başlatma : /scripts/restartsrv httpd

cPanel yeniden başlatma : /etc/rc.d/init.d/cpanel restart

MySQL Servisini yeniden başlatma : /scripts/restartsrv mysql

DNS(BIND) Resetleme : /scripts/restartsrv named

Exim(mail) Resetleme : /scripts/restartsrv exim

FTP Resetleme : service xinetd restart

Cpanel’e SSL Sertifika Yükleme

CPanel Kontrol Panele giriş yapınız.

1. Security menüsü altındaki SSL/TLS Manager sekmesine tıklayınız.

2. Private Keys (KEY) , Certificate Signing Requests (CSR), Certificates (CRT)
oluşan 3 başlık göreceksiniz.
buradan

1. sırada olan Private Keys (KEY) hemen altında yer alan Generate, view, upload, or delete your private keys. tıklayın
En allta Generate a New Key yer alan Host bölümüne gelerek Host : www.alanadınız.com yazıp Generate Basınız.

Not : SSL bölgesi “www.alanadınız.com” şeklinde olması için www yazmayı unutmayınız. sonra tekrar önceki sayfaya dönünüz.

3. Bu sefer 2. Seçenek ile Certificate Signing Requests (CSR) altında yer alan

Generate, view, or delete SSL certificate signing requests. tıklayın.

Açılan sayfada Generate a New Certificate Signing Request Host : www.alanadınız.com

altında yer alan ülke, bölge, şehir, Firma vb alanları doldurunuz ve Generate basınız.
Oluşan CSR Yi satın almak istediğiniz SSL sertifika merkezine doğrulatın ve satın alma işlemini tamamlayınız.

Not : Doğrulama İşlemi Yapmadan SSL satın almayınız. Hatalı bir Sertifika kodu üretilerek alınmiş Sertifika iadesi yoktur.

4. Oluşan CSR ile satın aldığınız CRT metnini Certificates (CRT) altındaki yazıya
Generate, view, upload, or delete SSL certificates. tıklayınız.

Gelen sayfada Paste the CRT below: altında yer alan kutuya CRT kodunuzu yapiştırıp Generate tuşuna basınız.

5. SSL/TLS Manager de en altta yer alan SSL Installer bölümüne giriniz.
www.alanadınız.com seçiniz ve en allta CA sekmesinede SSL’i Satın aldığınız yerden gelen CA kodunu yapiştırınız ve Install Certificate tuşuna basınız.

tüm işlemler tamamlanmıştır. artık sertifikanızı https://www.alanadınız.com şeklinde bakarak kontrol edebilirsiniz.

Cpanel SSH tan Yedeği Yükleme

Yedeği gürü yüklemek için öncelikle

yedek dosyanız sunucunuzun /home dizini altına kopyalanmalıdır.

kullanıcıadı.tar.gz şeklindeki halini

/scripts/restorepkg kullanıcıadı

komutu ile tüm herşeyi restore edecektir.

nadirde olsa MYSQL de kullanıcı adı var yedek yüklenemez gibi mesaj alırsanız.

/scripts/restorepkg –force –override –skipres kullanıcıadı

yaparak çıkacak hataları göz ardı eder ve üzerine yazarak devam edecektir.

bu komut sonrası eksik kalan bir şeylerin olup olmadığını siteye bakarak kontrol edilmelidir.