Category: Linux

  • Roundcube – SMTP authentication is required Hatası

    Roundcube – SMTP authentication is required Hatası

    roundcube-smtp-authentication-is-required

    Roundcube webmail arayüzünde ;

    SMTP Hatası (530) : “xxx@xxx.com” alıcısı eklenemedi (SMTP authentication is required

    Hatası almanız durumunda Roundcube webmail sisteminin bulunduğu ;

    config\main.inc.php

    Dosyasını herhangi bir editör ile açıp ;

    $rcmail_config[‘smtp_user’] = ‘ ‘;
    $rcmail_config[‘smtp_pass’] = ‘ ‘;
    $rcmail_config[‘smtp_auth_type’] = ‘ ‘;

    Satırlarını ;

    $rcmail_config[‘smtp_user’] = ‘%u’;
    $rcmail_config[‘smtp_pass’] = ‘%p’;
    $rcmail_config[‘smtp_auth_type’] = ‘LOGIN’;

    Şeklinde değiştirmeniz durumunda muhtemel olarak sıkıntı çözümlenmiş olacaktır.

    İyi çalışmalar dilerim.

  • SSL Sertifikası kurulumu için IP atandığında siteye erişimin kesilmemesi

    SSL Sertifikası kurulumu için IP atandığında siteye erişimin kesilmemesi

    Merhabalar,

    SSL sertifikası kurulacağı zaman sitenin IP adresini Özel bir IP adresi ile değiştirdiğimizde, DNS yayılma sürecine girdiği için maillerde ve sitenin erişiminde bildiğiniz üzere problem oluşmakta.

    Bu sebepten ötürü, Eski IP adresini 2. bir IP adresi olarak ekleyerek erişim problemlerinin üstesinden gelmekteyiz.

    Özel IP adresini atamamızdan itibaren aşağıda Bu işlemin nasıl yapılacağını detaylıca anlatacağım;

    LINUX

    Ben Linux yönünde DirectAdmin üzerinden örnek vereceğim, Hosting sunucularımız DirectAdmin olduğu için anlatım yeterli, ancak buradan edindiğiniz bilgilerden yola çıakrak apache, apache2, litespeed, ngnix kullanan tüm sunucularda bu işlemi yapmanız mümkün.

    Öncelik ile Her zamanki gibi Özel IP’nin atamasını yapıyoruz.

    Böylece SSL kurulumu yapabilmek için Sitemizi Özel IP adresine alıyoruz.

    Sonrasında, İlgili sunucuya giriş yapıyoruz.

    İşlem yapacağımız kullanıcının httpd.conf dosyasını favori text editörümüz ile açıyoruz.

    Burada, VirtualHost satırını arıyoruz. Sitemiz, DNS kayıtları uyuştuğu sürece sadece bu satırda belirtilen IP adresinden çalışacaktır, eğer bu satırda belirtilen IP adresi, DNS kayıtlarındaki A kayıdından farklı ise ya da bu satırdaki IP hatalı ise, “Apache is Functioning Normally” hatasını alırsınız.

    Görselde gözlemleyebileceğiniz üzere Buradaki sunucunun paylaşımlı IP adresi, özel IP ile değişmiş durumda yani herşey düzgün ilerliyor.

    Ancak, bu esnada DNS yayılma süreci tamamlanana kadar 2-12 saat içerisinde müşterimizin sorgulama problemlerinden ötürü sitesinin açılmaması, Apache is Functioning Normally hatası vermesi mümkün.

    Bu gibi durumlar ile karşılaşmamak için, Özel IP adresinin ardına bir virgül ekleyerek eski yani Sunucunun Paylaşımlı IP adresini de yazmamız gerekiyor.

    Bu işlemi yaptığımızda, DNS yayılma süreci içerisinde yeni kayıdı çekmemiş ve eski IP ile siteye ulaşmak isteyen kullanıcılar da erişimde problem yaşamadan siteye erişebiliyor, yeni Özel IP üzerinden de kullanıcılar siteye erişebilir hale geliyor.

    httpd.conf dosyasında bu satırdan ilgili kullanıcı altında bulunan her site için iki, her subdomain için de extradan iki tane bulunuyor.

    İlki Normal Web erişimi, :80 portu için, 2.si ise SSL erişimi, :443 portu için.

    SSL erişimi için gerekli konfigürasyonu barındıran 443 portu için mevcut kayıt üzerinde de aynı eklemeyi yapmayı ihmal etmiyoruz.

    Bu işlemlerden sonra tek yapmamız gereken, sunucuda aktif çalışan Web Servisini restart etmek.

    lsof -i tcp:80

    Yukarıdaki komut ile sunucuda çalışan Web servisi gözlenebilir.

    İşlem tamamlanmıştır, bu aşamadan sonra site 2 IP adresine de yanıt verecektir.

    İşlemi not alınız ve ortalama 48 saat sonra Paylaşımlı IP Adresini httpd.conf üzerinden kaldırınız.

    WINDOWS

    Elimde örnek bir site olmadığı için direkt IIS üzerinde çalıştım, İşlemleri siz Plesk Panel, Maestro Panel üzerinden Özel IP atamanızın ardından başlıyor gibi düşünürseniz problem olmayacaktır.

    IIS’e giriş yapıyoruz,

    İlgili sitemizi buluyoruz ve sağdaki Bindings sekmesine tıklıyoruz.

    Gözlemleyebileceğiniz üzerine hem http, hem de https için www li ve www siz bir şekilde Özel IP adresi ile beraber kayıtlar oluşmuş durumdadır.

    Bizim yapacağımız, eski IP adresini kullanarak bu kayıtları replike etmek denebilir.

    http kısmında pek fazla dikkat etmemiz gereken bir konu yok, www li ve www siz bir şekilde kayıtları oluşturuyoruz.


    Sonrasında SSL için kayıtları oluşturacağız, bu konu hassasiyet gerektiren bir konudur.

    https’i seçtikten sonra ek olarak bir de SSL Certrificates şeklinde bir kısım açılmakta, ben Default sertifikayı kullandım ancak mutlaka ilgili sitenin SSL sertifikasını kullandığınıza emin olun.

    Aynı şekilde https’i ve sitenin SSL sertifikasını seçerek Binding ekliyoruz;


    Ardından işlemlerimiz neredeyse tamamlanmış oluyor. ipv4.domain.com gibi kayıtlar görebilirsiniz, bu kayıtları es geçebilir hatta dilerseniz silebilirsiniz. Bu kayıtları replike etmenize gerek yoktur. İşlemlerimizi tamamladığımızda Bindings ekranımız aşağıdaki gibi her kayıttan 2 IP için de içerecektir;

    Ardından tek yapmamız gereken IIS te bu sitemizi restart etmek.

    İşlem tamamlanmıştır, bu aşamadan sonra site 2 IP adresine de yanıt verecektir.

    İşlemi not alınız ve ortalama 48 saat sonra Paylaşımlı IP Adresini IIS üzerinden Bindings sekmesinden kaldırınız.

    Bu dökümandaki işlemleri uygulayarak, Kesintisiz Kolaylık ilkesini yakalamaya artık bir adım daha yakınız.

    Hepinize iyi çalışmalar dilerim.

  • Avast Kurulumu

    Avast Kurulumu

    Merhabalar,

    Kurulum dosyalarını aşağıdaki adreslerden temin ettikten sonra yazının devamında kurulum hakkında bilgi bulabilirsiniz.

    libavastengine-4.7.6-i586.tar.gz
    avast4server-3.2.1-i586.tar.gz 

    Dosyaları sunucunuza çektikten sonra aşağıdaki komutlar ile tar.gz’den çıkartıyoruz.

    tar -zxvf avast4server-3.2.1-i586.tar.gz
    tar -zxvf libavastengine-4.7.6-i586.tar.gz

    Daha sonra libavastengine klasörüne giriş yapınız.

    cd libavastengine-4.7.6-i586

    sh mkinstall.sh

    Komutu ile kurulumu başlatabilirsiniz. Herhangi bir değişiklik yapmadan Enter’a basarak devam ediyoruz. 1 kaç dakika kurulum sürebilir.

    Kernel kurulumu tamamlandıktan sonra

    cd ..
    cd avast4server-3.2.1-i586

    kurulum klasörüne girdikten sonra   sh mkinstall.sh komutunu tekrar çalıştırıyoruz. Yine herhangi bir değişiklik yapmadan Enter’a basarak kurulumu tamamlıyoruz.

    Ekstra bir ayar yapmadan kurulumu tamamlamış olduk.

    Kullanımı

    avastcmd taranacak alan

    Komutu taramalar için kullanılır. Komutu kullandığınızda tarayıp geçer, sonuçları ayrı bir dosyaya yazdırmak için > bileşenini kullanmalıyız.

    avastcmd / > /root/tarama.txt

    Bu komut, tarama tamamlandığında sonuçlarını root altında oluşturacağı tarama.txt dosyasına yazar.

    Avast, tarama.txt dosyasına taradığı bütün dosyaları sadece bildirir. Aradan incelemek için infected yani zararlı bulaşmış dosyaları ayırmamız lazım. Bunun için ise;

    cat /root/tarama.txt |grep infect > /root/taramainfected.txt

    Tarama tamamlandığında bu komutu kullanın, sadece virüslü dosyaları /root/taramainfected.txt dosyasına ayriyetten yazar.

    DİKKAT

    -bash: /usr/bin/avastcmd: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

    Yukarıdaki gibi bir hata alacak olur iseniz glibc kütüphanesinin sunucunuzda yüklü olmamasından kaynaklanır.

    yum install glibc.i686
    ya da
    yum install glibc.i386

    Komutları ile kurabilirsiniz.

    WARNING: your SHM block limit is set to 4294967295.
    The value is too small for the latest versions of VPS file.
    Please enlarge ‘kernel.shmmax’ value (see sysctl( 8 )).

    Şeklinde hata alacak olur iseniz aşağıdaki komutu çalıştırmanız yeterlidir;

    sysctl -w kernel.shmmax=128000000

    İyi çalışmalar

  • Exim Mail Kuyruğu Yönetimi

    Exim Mail Kuyruğu Yönetimi

    Merhabalar,

    Öncelik olarak değinmek istediğim konu,

    Exim Mail Kuyruğuna Saygı Duyun.

    Bir Admin, bir Yönetici olarak bu konuda yapabileceğiniz en kötü şeylerden biri, yüzlerce, binlerce donmuş ya da relay/delay a düşmüş mail gördüğünüz bir kuyruğu, temizleyip geçmektir. Bunu yapmayınız! Bu şekilde temizlenen mesajlar hiçbir iz kalmadan yok olur, müşterileriniz ve mail üzerinden görüşmekte olan kişiler ne olduğu konusunda en ufak bir fikir sahibi olmayacaktır. Ayrıca servisleriniz de kısa zaman içerisinde güvenilmez olarak tanımlanacak ve müşterilerinizle sorun yaşamanıza zemin hazırlanmış olacaktır.

    Pek çok admin bu işlemlerin bir kısmını Grafik UI üzerinden takip eder, çünkü UI üzerinde kolaydır. Ancak bir kaç basit komut ile kuyruğu çok daha etkin bir şekilde kontrol etmek ve yönetmek mümkündür.

    O zaman aşağıdaki dökümanımızı biraz inceleyelim ve bu konuda daha detaylı bilgi edinelim;

    Basic Exim Kuyruk Yönetimi

    Kod Blokları

    # Kuyrukta bekleyen bütün maillerin listesi için;
    exim -bpc

    # Kuyruktaki mailin listesi için; (kuyruktaki zaman, mail boyutu, mail id, gönderen, alıcı)
    exim -bp

    # Kuyruktaki tüm maillerin bilgileri (sayı, volume, en eski, en yeni, gidecek domain)
    exim -bp | exiqsumm

    # Exim’in bir maili nereye route edeceğini emir etmek
    exim -bt user@domain.com

    # Exim’in spestifik bir IP adresine bağlanırken ne tepki vereceğini ölçün
    exim -bh 192.168.1.1

    exiqgrep İle Mail Kuyruğunda Araştırma Yapmak

    # Belli bir göndericiye ait bütün emailleri listeleyin
    exiqgrep -f [user]@domain

    # Belli bir alıcıya gönderilen bütün emailleri listeleyin
    exiqgrep -r [user]@domain

    # Belli bir saniyeden eski gönderilen bütün emailleri listeleyin
    exiqgrep -o [saniye]

    # Belli bir saniyeden yeni gönderilen bütün emailleri listeleyin
    exiqgrep -y [seconds]

    # Belli bir boyut olan mailleri listeleyin(regex olabilir)
    exiqgrep -s ‘^2…$’
    Yukarıdaki komutları aşağıdaki ekler ile birleştirebilir ve detaylı arama gerçekleştirebilirsiniz;

    -i sadece mail ID’si için

    -z sadece donmuş mailler için

    -x sadece donmamış, unfrozen mailler

    Exim Kuyruğunu Yönetmek

    Kuyruk yönetimi, exim komutlarını kullanarak gerçekleştirilir. Ancak pek çok bilgiyi filtreleyerek istediğimizi görebilmek için exiqgrep’i sıkça kullanabilir. Aşağıda kuyruk yönetimi ile ilgili en popüler komutlar yer almaktadır;

    Blokları;

    # Kuyruğu çalıştırın, işleme başlasın(loadlar yüksekse çalışmaz)
    exim -q -v

    # Kuyruğu zorla çalıştırın (loadları umursamadan çalışır)
    exim -qf -v

    # Sadece lokalde mail gönderenler için kuyruğu çalıştırın
    exim -ql -v

    # ID ile kuyruktaki bir maili temizleyin
    exim -Mrm <message-id> …

    # Maili dondurun (Freeze)
    exim -Mf <message-id> …

    # Maili Thaw edin
    exim -Mt <message-d> …

    # Maili zorla gönderin (Frozen statüsünde olsa dahi gönderir)
    exim -M <message-id> …

    # Mailin loglarını gözlemleyin
    exim Mvl

    # Mailin başlığını gözleyin
    exim Mvh

    # Mailin içeriğini gözleyin
    exim Mvb

    Gelişmiş Mail Kuyruğu Yönetimi

    # Kuyrukta ilgili gönderen adrese ait bütün mailleri gözlemleyin;
    exim -bpr | grep -Eo “<[^ ]*@[^ ]*>” | sort | uniq -c

    # Kuyrukta ilgili alıcı adrese ait bütün mailleri gözlemleyin;
    exim -bpr | grep -Eo “^\s*[^ ]*@[^ ]*$” | sort | uniq -c

    # 12 Saatten eski bütün mailleri kuyruktan sil (43000 saniye)
    exiqgrep -o 43000 -i | xargs exim -Mrm

    # Donuk bütün mailleri kuyruktan sil (Frozen)
    exiqgrep -z -i | xargs exim -Mrm

    # Belli bir gönderenden giden bütün mailleri kuyruktan sil (Spam Savaşçısı)
    exiqgrep -i -f [user]@domain.com | xargs exim -Mrm

    # Belli bir gönderenden giden 12 saatten eski bütün mailleri kuyruktan sil
    exiqgrep -o 43000 -i -f [user]@domain.com |xargs exim -Mrm

    Mail İçeriklerinin Yönetimi

    Mail Kuyruğunu görüntülemek için aşağıdaki komutlar kullanılabilir;

    Kuyruktaki Mailler: exim -bp
    Kuyrukta Kaç Adet Mail Olduğu: exim -bpc

    Eğer Exim /usr/sbin de ise ve /usr/sbin veri yolunda değilseniz, aşağıdaki gibi bir prefix yol eklemelisiniz;

    /usr/sbin/exim -bp

    Örnek Çıktı;

    4d 1.2K 1Ka6u5-00032Z-Eb <from@example.com>
    to@example.com

    62h 1.2K 1KaRH0-0007QZ-B5 <from@example.com>
    to@example.com

    3h 22K 1KbLHr-0004ev-An <from@example.com>
    to@example.com

    Yukarıdaki örnekte, ”from@example.com” maili gönderen mail adresi olur iken, ”to@example.com” ise mailin gönderildiği adrestir. Bu adreslerin yerine normalde gerçek mail adresleri gelecektir.

    4d, 62h and 3h değerleri mailin kuyrukta ne kadar beklediğini gösterir. Mesela Örnekteki mailler: 4 gün, 62 saat ve 3 saat beklemişler.

    x.xK değerleri mesajın boyutudur.

    Ve 1Ka6u5-00032Z-Eb ise mail ID’sidir. Ayrıca mailin disk üzerinde /var/spool/exim/msglog ve /var/spool/exim/input da gözlemleyebileceğiniz adıdır. (Klasözünüz Linux/Unix Dağıtımınıza ya da Sistem ayarlarınıza göre değişiklik gösterebilir.).
    Dosyaları find komutunu kullanarak bulmak;
    ”find” Komutunu kullanarak belli bir e posta için veri yolunu ve varyasyonlarını bulabilirsiniz.

    find /var/spool/exim -name “1VS53W-0005cy-Aa*”
    1VS50r-0005Rp-7m
    which would display something like this:
    /var/spool/exim/msglog/1Ka6u5-00032Z-Eb
    /var/spool/exim/input/1Ka6u5-00032Z-Eb-D
    /var/spool/exim/input/1Ka6u5-00032Z-Eb-H

    Dosyalar ile veri yolunu bulduğumuza göre nano komutu içe detaylı bilgilendirme için inceleyebiliriz.

    nano /var/spool/exim/msglog/1Ka6u5-00032Z-Eb

    Basit Kuyruk Yönetimi

    Tabi ki de sunucunuzda müşterileriniz mail göndermiyor, ve tıkanan kuyruğu acilen temizlemeniz gerekiyor ise ben şahsen tavsiye etmesem de siz bütün kuyruğu temizlemeyi seçebilirsiniz. Bunun için aşağıdaki Kod bloklarını çalıştırmanız yeterlidir;

    Directadmin Sunucu;

    cd /var/spool
    killall -9 exim
    killall -9 exim
    killall -9 exim
    killall -9 spamd
    killall -9 spamc
    mv exim exim.old
    mkdir -p exim/input
    mkdir -p exim/msglog
    mkdir -p exim/db
    chown -R mail:mail exim
    /sbin/service exim restart

    cPanel Sunucu;

    cd /var/spool
    killall -9 exim
    killall -9 exim
    killall -9 exim
    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

    Umarım yardımcı olmuş ve olacaktır.

    İyi çalışmalar dilerim

  • SCP ile Dosya Aktarımı

    Merhabalar,

    İki sunucu arasında dosya gönderme işlemi yapacağınız zaman, dosyayı önce lokalinize indirmek ve diğer sunucuya upload etmek özellikle dosya boyutu arttığında vakit olarak size kayıp yaşatacaktır.

    Bu sebepten ötürü, SCP komutu ile basitçe SSH üzerinden farklı bir linux sunucuya veri gönderebilir, farklı bir sunucudan veri talep edebilirsiniz.

    Örneğin göndereceğiniz dosyanın /home/burak/public_html/gonder.zip olduğunu düşünelim. Karşı sunucunun IP adresi de 143.143.143.43 olsun;

    scp /home/burak/public_html/gonder.zip root@143.143.143.43:/AktarılacağıDizin

    Dosyanın karşı sunucuda aktarılacağı dizinin de /root/transfer olduğunu düşünelim;

    scp /home/burak/public_html/gonder.zip root@143.143.143.43:/root/transfer/

    Komutu çalıştırdıktan sonra, karşı sunucunun şifresini girmeniz yeterlidir. Dosya transferi başlayacaktır.

    Diyelim ki karşı sunucu üzerinde bu sunucuya alacağınız bir dosya var, bunun için de komut aşağıdaki gibi işlemektedir;

    scp root@143.143.143.43:/home/burak/public_html/aktar.tar.gz /İndirileceğiDizin

    Dosyanın sunucumuzda aktarılacağı dizinin /home/burak/public_html olduğunu düşünelim;

    scp root@143.143.143.43:/home/burak/public_html/aktar.tar.gz /home/burak/public_html/

    Komutu çalıştırdıktan sonra, karşı sunucunun şifresini girmeniz yeterlidir. Dosya transferi başlayacaktır.

    İyi çalışmalar dilerim.

  • Linux Plesk – Bütün Sitelerin IP Adreslerini SSH üzerinden değiştirme

    Linux Plesk üzerinde Bütün Sitelerin IP Adresini Tek Seferde Değiştirme

    Selamlar,

    Bu yazımızda, Linux OS bir Plesk sunucuda yer alan bütün websitelerinin IP adreslerini nasıl tek seferde değiştirebileceğimiz ile ilgili komutu sizinle paylaşacağım.

    mysql -Ns -uadmin -p`cat /etc/psa/.psa.shadow` -D psa -e ‘select name from domains’ | awk ‘{print “/usr/local/psa/bin/domain –update ” $1 ” -ip xxx.xxx.xxx.xxx “}’ | sh

    Komutu inceleyecek olur isek;

    mysql -Ns -uadmin -p`cat /etc/psa/.psa.shadow` – MySQL’e bağlan

    -D psa -e ‘select name from domains’ | awk – psa Database’ine bağlan ve domainleri seç.

    ‘{print “/usr/local/psa/bin/domain –update ” $1 ” -ip xxx.xxx.xxx.xxx “}’ | sh – Domainlerin IP değerini xxx.xxx.xxx.xxx ile değiştir.

    Komutu çalıştırmadan önce, IP adresini sunucuya eklemeyi ihmal etmeyiniz.

    İyi çalışmalar.