18 Aralık 2013 Çarşamba

Apache Web Servisi Fonksiyonların Derlenmesi

Apache Derleme İşlemi

Linux sunucularda, web servisinin özelliklerini kullanabilmeniz için apache üzerinden aktif etmeniz gerekir.Curl,mysqli,mod_deflate,Zend gibi bir çok özelliği apache derleme ile aktif edebilirsiniz. Bu işlem karışık gibi görünse de aslında oldukça basit bir işlemdir.
 Yapmanız gereken sunucunuza root olarak bağlandıktan sonra aşağıdaki komutu yazmaktır.

/scripts/easyapache

Bu komutu yazdığınızda sunucu size apache derleme sistemini başlatacaktır. Bu adımdan sonra da sırası ile yapmanız gereken işlemleri Video Anlatım olarak bu makaleden izleyebilirsiniz.

İyi çalışmalar.

16 Kasım 2013 Cumartesi

PHP ile SMTP üzerinden mail gönderme

SMTP ile Mail Gönderin Başınız Ağrımasın...

Bir çok hosting firması shared sunucularda genellikle mail ve phpmail fonkisyonlarını kapalı tutar.Eminim ki bu durumla bir çoğumuz karşılaşmışızdır.Peki neden böyle yaparlar? Enpati yaparak kendimizi hosting sağlayıcısı yerine koyalım. Eğer sunucudan mailler direk olarak phpmail üzerinden çıkar ise sunucudan kesinlikle spam çıkışı olur.Spam çıkışı olduğu zamanda bir çok sorun meydana gelir. Mail kuyruğu şişer,sunucudaki exim servisi şişer ve normal müşterilerde mail göndermez,ip adresleri listeye girer....gibi. Bu örnekleri daha da çoğaltabiliriz.

Her sorun çözülür de ip adreslerinin listeye girme sorunu çözülse bile sunucuda mail gönderimi ile alakalı sürekli sorun olur.Bir ip adresi bir kere listeye girdiği zaman artık o ip adresinden hayır gelmez.Neden hayır gelmez bunu farklı bir yazımda anlatmıştım. İp adresinin listeye girmesi bir hosting firmasını en son isteyeceği şeydir. Bu nedenle de hosting firmaları sunucularında mail ve phpmail özelliklerini kapatarak sadece smtp ile mail gönderilmesine izin verirler. Aslında adamların yerine kendimi koyduğumda gayet haklılar bence böyle yapmakla.

Neyse lafı fazla dolandırmıyım.İşte böyle bir durumla karşılaşırsanız sizinde yapmanız gereken kullandığınız mail fonkisyonunu SMTP üzerinden mail gönderimi yapacak şekilde ayarlamaktır.Bu aslında öyle zor da bir şey değil. Yapmamız gerekenler nelerdir BURADAN bir bakalım.

İyi çalışmalar.

14 Kasım 2013 Perşembe

Linux hosting sunucusunda kullanılan başlıca komutlar

İster kendi siteleriniz olsun,isterseniz müşterilerinizin siteleri olsun; eğer paylaşımlı bir hosting sunucunuz var ise yaşayabileceğiniz bir çok sorun olur.Sitelerin tükettiği kaynaklar, çalıştırdığı sorgular,gönderdikleri spam mailler ve daha bir sürü şey sunucuda sorun çıkmasına neden olur. Bu nedenle sunucuyu sürekli olarak takip etmek gerekir ki sunucuda ve sitelerde bir kesinti olmasın.

Bir sorun yaşadığınızda sunucu kontrol etmeniz gereken belirli servisler vardır. Myql server çalışıyor mu, apache server çalışıyor mu, exim mail servisi çalışıyor mu bunların hepsine bakmanız gerekir.Tabii her yaşadığınız sorunda tümünü kontrol etmeniz gerekmez. Yaşadığınız soruna göre bu işlemleri yapmanız gerekir.Siteleriniz database hatası veriyor ise ilk bakmanız gereken mysql server'ın çalışıp çalışmadığıdır.İşte bu tarz genel kontrolleri yapabileceğimiz belirli komutlar vardır.Bunlar ile alakalı açıklamalı bir kaç örnek vereceğim size.

w : Komut basit bir komuttur. Sunucunun anlık yükünü ve sunucuda hangi ip adreslerinin login olduğunu gösterir.Ayrıca sunucu uptime süresini de bu komut ile görebilirsiniz.

ps aux : Komut, sunucuda çalışan işlemleri listeler.Komut çıktısında bir çok işlem listelenir ancak bir çoğu zaten cPanel'in ya da sunucunun çalıştırdığı standart işlemlerdir. Bizim dikkat etmemiz gereken kullanıcıların ve apache server'ın çalıştırdığı işlemlerdir.

Makalenin devamı için...

12 Kasım 2013 Salı

cPanel EasyApache Modülleri Hakkında Duyuru

cPanel kendi blog sayfasından yaptığı duyuruda 2013 yılı sonunda easyapache derlemesindeki bazı modüllerin kaldırılacağını belirtti.

Kaldırılacak olan modüller :

  • Apache 1.3/2.0
  • Php 5.2
  • mod_frontpage
2014 yılından itibaren artık easyapache derlemesi sırasında bu modüllerin seçilmesi mümkün olmayacak.Modüllerin kaldırılmasına gerekçe olarak ise şöyle bir bilgi verildi:

  • Bu modüller artık geliştiriciler ve kullanıcılar tarafından desteklenmemektedir/kullanılmamaktadır.
  • Bu modüller Ortak Güvenlik Açıkları ve Etkilenmeler (CVE) içerisinde dahil edildi.
  • Easyapache artık Apache (2.2/2.4) ve PHP (5.4/5.5) desteklemektedir.
Ayrıca bunun yanında Php 5.2 ve mod_frontpage modüllerinin özel modüller olarak kullanıcılara sunulacağı belirtildi.

Ayrıntılı bilgi için cPanel'in kendi blog sayfasını ziyaret edebilirsiniz. http://goo.gl/Dvl1hD

Easyapache derlemesi hakkında ayrıntılı bilgi için sitemiz : http://goo.gl/CIrcTy

9 Kasım 2013 Cumartesi

EPP Kodu Nedir ?

EPP Kodu

EPP kodu, domain transfer işlemlerinde kullanılan güvenlik kodudur. Domain adresinizi bir firmadan farklı bir firmaya transfer etmek istiyorsanız EPP kodunu kullanmanız gerekir.

Peki EPP kodunu nasıl alabilirim ? 
Bir çok domain kayıtçı firma EPP kodunu sorunsuz olarak verir. Genellikle firmalardaki müşteri kontrol panellerinin domain yönetim bölümünden bu kodları alabilirsiniz. Eğer kontrol panelinizde kodu alabileceğiniz bir alan yok ise firmanızdan transfer işlemi için bu kodu istemeniz gerekir.

EPP kodu ile transfer nasıl yapılır ? 
EPP kodunu eski firmanızdan aldıktan sonra yeni çalışmak istediğiniz firma üzerinde bu kodu domain transfer bölümüne girmeniz gerekir.Zaten transfer işlemi başlatmak istediğinizde sistem otomatik olarak bu kodu sizden isteyecektir.Kodu yazarak transfer işlemini başlatmış olmazsınız.Transfer işleminin başlaması için gelecek olan maile onay vermeniz gerekir.EPP kodunu yazdıktan sonra domain adresinin whois üzerindeki kayıtlı mail adresine bir onay maili gelecektir.http://goo.gl/UppQFA Eğer domain adresiniz için sizin e-mail adresiniz kayıtlı ise mail size gelir ve onay işlemini siz yaparsınız.Ancak domain için eski firmanızın mail adresi var ise firmanıza transfer işlemini onaylamasını söylemeniz gerekir.Bu onaylama işlemi yapıldıktan sonra transfer işlemini başlatmış olursunuz. Transfer işlemleri iki kayıtçı firma arasında yapılır ve ortalama olarak 7-14 gün arası sürer. Eğer bu kadar zaman geçmesine rağmen tranfer işleminiz tamamlanmamış ise herhangi bir nedenden dolayı transfer işleminiz iptal edilmiştir. Bu konuda bilgi almak için eski ve yeni firmanıza sorunun kaynağını sorabilirsiniz.

İyi çalışmalar.

Sunucu yönetimi ve hosting ile alakalı daha fazla bilgi için sitemi ziyaret edebilirsiniz. http://www.paylasimlibilgi.com/

cPanel'de mod_deflate Etkinleştirme

cPanel mod_deflate Aktif Etme

Özellikle Google developers da bulunan pagespeed de Enable compression hatası alan kullanıcıların sıkça sorduğu deflate eklentisini sitenizde etkinleştirmek için alt kısımda sizlerle paylaşacağım işlemleri uygulayınız.

Öncelikle cPanel kontrol panelinize login olun sonrasında “Optimize Website” bölümüne giriş yaptıktan sonra “Compress all content” seçeneğine tıklayarak ayarları kaydettiğinizde web siteniz için deflate sıkıştırma özelliğini aktif etmiş oluyorsunuz.

Ancak bu işlemi cPanel üzerinden yapabilmeniz için sunucunuzdaki apache derlemesinde Deflate özelliğinin aktif edilmesi gerekir. Apacher derlemesi ile Deflate'i aktif etmek için Buradaki Makale'yi inceleyebilirsiniz.

İyi çalışmalar.

compress

8 Kasım 2013 Cuma

Linux Netstat Servisi

Netstat (Network Statistics)

Network bağlantılarını, routing tablosunu, arabirim istatiskleri ve benzer ağ bağlantısı bilgileri ile ilgili ayrıntılı bilgiler verebilen bir konsol komutudur.
Netstat komutu çeşitli parametreler ile kullanılmaktadır. Bu parametreler ve anlamları şunlardır :
-a : Tüm TCP ve UDP bağlantıları ekrana basar.
-e : Gelen ve giden paket sayısının istatistiklerini görüntüler.
-n : Tüm bağlantıları rakamsal olarak görüntüler.
-o : Tüm bağlantıları PID numarası ve uygulama adına göre listeler.
-p : Bağlantıların kullandığı uygulama ve PID numaralarını ekrana basar.
-s : Kurallara göre istatistiksel verileri ekrana basar.
-r : IP yönlendirme tablosunun içeriğini görüntüler.

Netstat çıktısında yer alan bağlantı durumlarının anlamları:

ESTABLISHED : Soket bağlantı gerçekleşmiş durumdadır.
SYN_SENT : Soket bağlantı kurmaya çalışıyordur.
SYN_RECV : Ağdan bir bağlantı isteği gelmiştir.
FIN_WAIT1 : Soket kapatılmış, bağlantı sonlandırılmak üzeredir.
FIN_WAIT2 : Bağlantı sonlandırılmıştır.Soket karşı ucun bağlantıyı sonlandırmasını beklemektedir.
TIME_WAIT : Soket kapandıktan sonra gelebilecek paketleri alabilmek için beklemektedir.
CLOSED : Soket kullanılmamaktadır.
CLOSE_WAIT : Karşı uç bağlantıyı kapatmıştır.Soketin kapanması beklenmektedir.
LAST_ACK : Karşı uç bağlantıyı sonlandırmış ve soketi kapatmıştır.Onay beklenmektedir.
LISTEN : Soket gelebilecek bağlantılar için dinleme konumundadır.
CLOSING : Yerel ve uzak soketler kapatılmış fakat tüm verilerini göndermemiş durumdadır.Tüm veriler gönderilmeden soketler kapanmaz.

Ssh üzerinden netstat çıktılarını alabilmek için bazı örnek komutlar :

netstat -ntu
Tüm TCP ve UDP bağlantıları listeler.
netstat -ntu | grep SYN
Tüm TCP ve UDP bağlantılar içerisinde SYN_SENT ve SYN_RECV bağlantı durumlarını ekrana basar.
Grep sonrasında yer alan bölümü kendi isteğinize göre değiştirip diğer bağlantıları da ekranda görebilirsiniz.Örneğin;
netstat -ntu | grep ESTABLISHED
Ekrana sadece ESTABLISHED olan bağlantıları basar.
netstat -ntu | awk ' {print $5} ' | awk ' {sub("::ffff:","");print} ' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address 127.0.0.1 -e 0.0.0.0
Yukarıdaki komut ffff tablosu ile ekrana basılan değerler dahil tüm ip listesini küçükten büyüğe göre sıralar.Yine komuta grep ekleyerek bağlantı duruma göre listeleme yapabilirsiniz.
İyi çalışmalar.
Yazar : Ali Kırlıoğlanlar

7 Kasım 2013 Perşembe

Perl Dizini Önemi ve Kapatılması

Perl Dizini

Perl dizini cPanel sunucularda çok büyük bir güvenlik açığına neden olmaktadır. Perl dizini açık olan sunuculara kolaylıkla shell dosyaları ( C99 , R57 vb. ) atılabilmektedir. Bunu engelleminin yolu ise bu dizini kapatmaktır. Tabi ki sadece bu dizini kapatmak ile sunucunuza shell atılamayacağı anlamına gelmez. Shell dosyalarının atılmasını kesin olarak engellemek için yapılması gereken farklı yazılımsal işlemler de vardır. Bu işlemleri farklı bir makalemizde size anlatacağım.
Perl dizini açık olan sunucularda /cpanel , /webmail şeklinde cPanel ve webmail'e giriş yapılabilir. Hosting firmaları genellikle sunucudaki güvenliğe önem verdikleri için Perl dizinini kapatıralar. Bu nedenle de /cPanel olarak değil domain.com:2082 gibi cpanel ve webmaile port üzerinden giriş yapılabilir. Bu kimi kullanıcılar için sorunmuş gibi görünse de aslında güvenlik bakımından iyi bir durumdur. Eğer ki hosting almış olduğunuz firmada cpanel'e port üzerinden giriş yapıyorsanız perl dizini kapalı ve genel olarak güvenli bir sunucudan hizmet alıyorsunuz anlamına gelir.
Şimdi Perl Dizini nasıl kapatılır bu işleme bir bakalım. Eğer kendinize ait dedicated ya da sanal sunucunuz var ise Perl dizinini kapatmanızı tavsiye ederim.

Perl Dizini Kapatma

which perl
Bu komutu yazdığınızda karşınıza /usr/local/bin/perl çıktısı gelecektir.
ls -lh /usr/local/bin/perl
Bu komutu yazdığınızda ise karşınıza Perl'in asıl dizini gelecektir.  /usr/local/bin/perl -> /usr/bin/perl* karşınıza bu şekilde bir dosya yolu çıkacaktır ve buradan Perl dizininin  yazma izinlerini görebilirsiniz.
chmod 700 /usr/local/bin/perl
Perl dizininin kapalı olması için alması gereken yazma izni 700'dür. Yukarıdaki komut ile Perl dizini yazma izninini 700 yapıyoruz ve Perl'i kapatmış oluyoruz. Bu komutu uyguladığımızda yukarıda belirtmiş olduğum gibi /cPanel , /webmail şeklinde panellere girişleri artık engellemiş oluyorsunuz.
Şimdi yapılması gereken işlem ise herhangi bir cPanel güncellemesi sonrası Perl dizininin tekrar yazılabilir olmamasını sağlamak. Bu sayede Perl dizini hiçbir şekilde siz manuel olarak açmadığınız sürece yazılabilir olmayacaktır.
chattr -i /usr/bin/perl
chmod 700 /usr/bin/perl
chattr +i /usr/bin/perl
Bu komutlar ile Perl dizininin tekrar yazılabilir olmasını engellemiş olduk. chattr komutu ile bir dosyayı kilitlersiniz ve dosya kilitli iken bu dosya üzerinde yazma işlemleri yapılamaz.
Artık herhangi bir update sonrası Perl dizini yazma izinleri değişmeyecek ve bu nedenle de güvenlik açığı meydana gelmeyecektir. Eğer yukarıdaki son kilitleme komutlarını uygulamazsanız cPanel update sonrası vermiş olduğunuz 700 yazma izni bozulur ve bu dosya tekrar yazılabilir hale yani 777 yazma iznine döner. Bunu engellemek için mutlaka dosyayı kilitlemeniz gerekir.
Yazar : Ali Kırlıoğlanlar

6 Kasım 2013 Çarşamba

Mailler Neden Spam Kutusuna Düşer ?

Kurumsal olsun olmasın internet sitesine ait mail adresini kullanan bir çok kullanıcının sorunudur maillerin spama düşmesi. Bu sektör içerisinde olup maillerin neden spama düştüğünü bilmeyen azdır ancak yine de bu konuda detaylı bir açıklama yapmak gerekir.
Gönderilen maillerin alıcı tarafta spam (junk) kutusuna düşmesinin bir kaç nedeni vardır. Ancak bunlardan en önemli olanı sitenizin kullandığı ip adresidir. Eğer sitenizin çalıştığı ip adresi herhangi bir firma tarafından spam listesine alınırsa mailleriniz otomatik olarak spam kutusuna düşer.Hatta bazı büyük firmalar  ip adresinizi listeye alırsa mail dahi gönderemezsiniz.Attığınız tüm mailler otomatik olarak size geriye döner.Dünya üzerinde aktif olarak spam mail kontrolü yapan firmalar bulunmaktadır.Bunlardan en bilindik olanları Barracuda ve Spamhaus firmalarıdır.Bu firmaların yaptığı işlem çok basittir aslında. Kendi veri tabanlarında RIPE firmasının dağıtmış olduğu ip adreslerini tutarlar ve bu ip adreslerinden yapılan mail alış verişlerini kontrol ederler.Eğer herhangi bir ip adresi spam mail gönderimi yapıyor ise kendi kriterlerine göre anında listeye alırlar ve o ip adresinin mail göndermesini engellerler.Bu durum hem kullanıcılar hemde ISP firmalar tarafından kötü bir durumdur. Çünkü bir ip adresi bir kere listeye girdiği zaman artık o ip adresinden mail konusunda bir verim alamazsınız.Peki nedir bu ip adresinden verim alamamak ?
Hangi nedenle olursa olsun bir ip adresi listeye girmiş ise öncelikle o ip adresinden mail gönderimi durur. IP adresinden tekrar mail gönderebilmek için yapılması gereken hangi firma listeye almış ise o listeden çıkartmaktır.Ancak listeden çıkartmak göründüğü kadar basit bir işlem değildir. "Barracuda firması ip adresimi listeye almış   mail atayım da çıkarsınlar." mantığıyla düşünürseniz yanılırsınız.Öncelikle ip adresiniz neden listede bunu öğrenmeniz gerekir.IP adreslerinin listeye girme nedeni spam maildir.İsteyerek ya da istemeyerek,eğer ip adresi üzerinden spam mail çıkışı olur ise listeye girmesi kaçınılmaz sondur."Ben spam yapmıyorum!" şeklinde sakın düşünmeyin.Scriptsel açıklardan giren bir virüs nedeni ile bile bilginiz olmadan sizin hesabınızdan binlerce mail gönderimi olabilir.Ayrıca eğer aktif mail adresinizi outlook üzerinden kullanıyorsanız kullandığınız bilgisayardaki virüsler nedeni ile bile spam mail gönderimi yapabilirsiniz.Bunun yanında toplu mail de spam maildir. ISP firmalar tarafından ve spam kontrolü yapan bu firmalar tarafından toplu mail gönderimi spam mail olarak kabul edilir.İsterseniz mail içeriğinde "İyi bayramlar" yazıp gönderin,eğer bu mailleri toplu olarak gönderiyorsanız spam yapıyorsunuz demektir.Bunu da aklınızdan çıkarmayın. Toplu mail gönderimi yapmıyorsanız ya da spam mail gönderim sorununuzu çözmüşseniz eğer artık ip adresinizin listeden çıkartılması için firmalara gerekli mailleri gönderip ip adresinizi temize çıkartmalarını isteyebilirsiniz.Ha unutmadan http://goo.gl/DygEfb üzerinden ip adresiniz herhangi bir listede mi değil mi kontrol edebilirsiniz.
Peki ip adresinizi listeden çıkarttınız şimdi ne olacak ? İşte asıl sorun şimdi başlıyor.Artık mail gönderimi yapsanız bile muhtemelen gönderdiğiniz mailler otomatik olarak karşı tarafta spam (junk) kutusuna düşecektir.İşte bu cümle ile asıl cevabı vermiş olduk aslında.Eğer bir ip adresi bir kere listeye girmiş ve çıkmış ise artık o ip adresinden gönderilen mailler genellikle spam kutusuna düşer.Her mail adresinde olmayabilir bu durum ancak bir çok mail adresinden spam kutusuna düşecektir.Hele ki Hotmail,Gmail ve Yahoo gibi kendi iç güvenlik sistemlerini kullanan firmalarda kesinlikle spam kutusuna düşer.Eğer düşmez ise şanslısınız demektir ve aman dikkat edin ip adresiniz tekrar listeye girmesin.Hotmail,Gmail ve Yahoo kendi iç güvenlik sistemlerini kullanmaktadırlar.Bu 3 dünya devi firma kendi güvenliklerinden şöyle bir prosedür uygular.Eğer bir ip adresi daha önce listeye girmiş ise bu ip spam yapmış demektir.Bu ip adresi yeniden spam mail gönderebilir bu nedenle bu ip adresi bana mail gönderirse spam kutusuna düşsün de benim kullanıcılarım sorun yaşamasın.İşte bu 3 firma eğer sizin ip adersiniz için bu prosedürü uygulamış ise artık ne yaparsanız yapın bu firmalara göndereceğiniz maillerin gelen kutusuna düşmesini sağlayamazsınız. İster SPF kaydı yapın ister Sender ID kaydı yapın sonuç değişmeyecektir.
İster sunucu yönetiyor olun isterseniz hosting firmasından hizmet alıyor olun, ip adresleri listeye bir kere girmiş ise spam kutusuna düşme sorununu ya da mail gönderememe sorununu yaşamanız kaçınılmazdır. Bu nedenle önce kendiniz güvenlik önlemini almalısınız. Sitelerinizde kullandığınız mail fonkisyonlarına SMTP doğrulaması yaparak mail gönderimi ayarlarsanız eğer phpmail üzerinden spam mail gönderimi yapmamış olursunuz.Tabii bu kullanım için sunucunuzda da SMTP ayarları yapılmış olmalıdır.Eğer kendi sunucunuz var ise ayarları yapmalısınız. Hosting kullanıyorsanız muhtemelen bu ayarlar yapılıdır zaten.
Uzun lafı kısası,eğer mail gönderme sorunu yaşamak istemiyorsanız spam yapmayın.İsteyerek ya da istemeyerek hiçbir şekilde spam yapmayın.Önce kendi önlemleriniz alın eğer buna rağmen sorun yaşıyorsanız o zaman sorunu ISP firmanızda bulabilirsiniz.Ama unutmayın,IP adreslerinin listeye girmesinin tek nedeni spam maildir ve spam mailleri yapanlarda sitelerdir.
İyi çalışmalar.
Ali Kırlıoğlanlar

5 Kasım 2013 Salı

SCP ile Dosya Transferi

SCP (Secure Copy); aynı ağ üzerinde iki bilgisayar arasında dosya transferi yapmak için kullanılan bir komuttur.Komutun genel kullanımı şu şekildedir:

scp GidecekDosyanınDizini GideceğiBilgisayarBilgileri

Örneğin sunucunuz üzerinde home/paylasim/deneme.tar.gz olarak var olan bir dosyayı başka bir sunucu üzerine transfer etmek istiyorsunuz.Transfer edilecek sunucu ip adresi 192.168.1.1 olsun ve dosya transferinin yapılacağı dizin de /home/linux/deneme olsun.Burada dikkat edilmesi gereken nokta karşı sunucunun port bilgisidir.Eğer karşı sunucu port'u farklı ise scp komutundan sonra -P yazarak karşı sunucu portu belirtilmelidir.Yapacağımız dosya transferi için karşı sunucu portu 1064 olsun.Yazmamız gereken komut şu şekildedir:

scp -P1064 home/paylasim/deneme.tar.gz root@192.168.1.1:/home/linux/deneme

Komutu bu şekilde yazıp çalıştırdığımızda sunucu karşı sunucunun 1064 portuna giderek bağlantı yapacaktır ve size karşı sunucu mac adresini ekrana yazarak bağlantı yapıp yapmayacağınızı soracaktır.Karşınıza gelecek olan yes/no şeklindeki soruya yes dedikten sonra sizden karşı sunucunun root şifresini isteyecektir. Root şifresini girdikten sonra Enter dediğinizde dosya transfer işlemini başlatmış olacaksınız.Transfer işlemi tamamlandıktan sonra karşı sunucuda komutta belirtmiş olduğunuz dizinine giriş yaparak, transfer işlemi yaptığınız dosyasının burada olup olmadığını kontrol edebilirsiniz.

İyi çalışmalar.

Yazar: Ali Kırlıoğlanlar