21.05.2010

Google Apps ile daha fazla zaman geçirmek

Google tarafından sunulan Apps hizmetinin standart sürümünü kullanarak küçük ölçekli bir işletmenin elektronik posta haberleşme altyapısı nasıl kurulur?


Önce, bu yazımda anlattığım gibi, Google Apps'a başvurarak sahip olduğumuz alan adına ait bir kayıt açılır. Örnek alan adım firmaadi.com ve firmaadi.com.tr. Ben, firmaadi.com alan adını kullanarak Google Apps'da bir hesap açtım. Ama bir sonraki adımda firmaadi.com.tr'yi de Google Apps'a ekleyeceğim. Bunun için yukarıdaki resimde üstteki menüden Alan ayarları>Etki alanı adları'na gelerek "Alan takma adı" ekliyorum.

Yeni alan adı ekleme önceki yazımda anlattığım doğrulama işlemine tabi. Doğrulama işleminden sonra com.tr uzantılı alan adımı kullanarak da Google Apps hizmetlerinden faydalanabilirim. Ancak com.tr uzantılı bir e-posta adresinden mesaj göndermek için bu adresi de ilgili hesaba/hesaplara tek tek eklemek gerekiyor. Bunun için toplu yapılabilecek bir ayar göremedim. Örnek olarak bir e-posta adresine firmaadi.com.tr alan adını eklemek için o hesapla açılan bir oturumda (muhtemelen mail.firmaadi.com üzerinden) Ayarlar>Hesaplar kısmına gelerek yeni bir e-posta adresi eklemek gerekiyor.


Elbette bu da doğrulama gerektiriyor. Posta kutumuza giderek Google'dan gelen mesajdaki şifreyi verilen kutuya girerek doğrulama işlemi tamamlanıyor. Bundan sonra yeni mesaj gönderirken Gönderen kısmından hangi adresten göndermek istediğimi seçebiliyorum.


Bunlara ek olarak firmamın başka ihtiyaçları daha var. Her çalışan için (aslında ücretsiz olan standart sürümde 50'ye kadar) bir e-posta adresi/hesabı yarattım. Çalışanları da çalıştıkları bölümlere göre gruplara üye yaptım.


Örneğin Muhasebe grubundaki kullanıcılar için yarattığım Muhasebe Grubu'nun e-posta adresi muhasebe@firmaadi.com şeklinde. Bu adrese gelen mesajların birer kopyası, grup üyelerine iletilecek. Ayrıca bu adrese gelen mesajlara cevap yazacağım adresin de bir kullanıcının yetkisinde olmasını istiyorsam o kullanıcıyı Muhasebe Grubu'nun sahibi yapmam gerek.

Ve elbette muhasebe@firmaadi.com şeklindeki bir mail adresini, grubun sahibi olarak atadığım kişinin hesabına yukarıda anlattığım şekilde Ayarlar>Hesaplar kısmından eklemem gerekiyor. firmaadi.com.tr hesabini da ekleyebilirim, ona da yetkim var.

Bunun dışında bir kullanıcı için rumuz eklemem de mümkün. Örneğin adı ve/veya soyismi çok uzun olan biri için daha kısa ve anlaşılır bir e-posta adresi yaratabilirim. Hem asıl isim ve soyismine gönderilen mesajları alabildiği gibi, hem de yeni verdiğimiz rumuz isme gelen mesajları alabilir. Elbette ki rumuz ismin alan adında başka bir kullanıcı veya grup isminde olmaması gerek.


Görüldüğü gibi bu e-posta adresi varsayılan adres olarak işaretlenmiş (rumuz kısmında * ile gösteriliyor). Bu, alan adımızda var olmayan bir adrese gönderilen mesajların da bu posta kutusuna düşeceği anlamına geliyor.

Ayrıca görüldüğü gibi her kullanıcının (bugün için) 7 GB depolama sınırı var. Google, gönderilen mesajlar için 20 MB'lık bir gönderme sınırı koymuş. Bir posta istemcisi (Outlook, Thunderbird vs) ile mesaj gönderiyorsanız 100 kişilik alıcı sınırlamanız var, aksi takdirde hesabınız geçici bir süre (birkaç gün) kapatılıyor. Ancak web üzerinden mesaj gönderiyorsanız bu sınır 500'e çıkıyor. Ayrıca söylendiğine göre eğer bu sınırın altında mesaj alıcısı eklemiş olsanız bile, çok sayıda (örneğin 25) kişinin e-mail adresini yanlış yazarsanız veya var olmayan mail adresleri eklerseniz hesabınızın kapatılması olasılığı yüksek.

Kullanırken farkettiğim birşey de, bir kullanıcının e-posta hesabını silerseniz, aynı hesabı tekrar yaratmak için 5 gün beklemenizin gerektiği. 5 gün içinde ille de mail almam gerek diyorsanız yapılabilecek ya rumuz yöntemini, ya da grup mail adresi yöntemini kullanmak (silinen kullanıcının adresinin aynısı bir grup yaratıp, söz konusu kullanıcıyı bu grubun üyesi yaparak).

Bilgi: http://www.labnol.org/internet/email/gmail-daily-limit-sending-bulk-email/2191/

6.05.2010

Ubuntu Server üzerinde BIND DNS hizmetini çalıştırmak

BIND, Internet Service Consortium'un sitesine göre, internet üzerinde en çok kullanılan DNS sunucu yazılımıdır. En popüler linux dağıtımı olan Ubuntu üzerine bind9'u kurup ayarlarını yaparken şu aldımları izledim (kaynak ubuntuforums.org):
  1. Öncelikle bind9 hizmetinin kurulacağı sunucunun statik bir IP adresinin olması gerek. Bunun için ağdaki diğer makinelerle aynı subnette bir IP adresi ataması yaptım.
  2. Ardından repository'lerden bind9'u kurdum.
    sudo apt-get install bind9
  3. Sonra root yetkileriyle /etc/bind/named.conf.local dosyasını açıp içine zone'larımı ekledim (zone, DNS sunucuların alan adı bilgilerini tuttuğu veri yapılarıdır). Örnek olarak example.com alan adını DNS sunucuma eklemek için önce forward lookup zone'u ekledim:
    zone "example.com" {
         type master;
         file "/etc/bind/zones/example.com.db";
    };
    Ardından da bir reverse lookup zone ekledim (örnek IP segmenti olarak 192.68.0.x kullandım). Reverse zone için ağ ID'sinin oktetleri ters sırada yazılmalı ve sonuna in-addr.arpa eklenmeli.
    zone "0.168.192.in-addr.arpa" {
         type master;
         file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
    };
  4. DNS sunucum sadece içerideki example.com alan adından sorumlu olacak. Ona başka alan adı sorguları gelirse bunu kendisi çözümlemeyecek, başka bir DNS server'a soracak. Bu yapıyı /etc/bind/named.conf.options dosyasına forwarder ekleyerek sağladım.

    forwarders { 195.175.39.40; };
  5. Şimdi sıra geldi 1. adımda belirttiğimiz zone'ların dosyalarını yaratmaya. Zone dosyası, bir bilgisayarın host adıyla IP adresi ilişkisini, zone'ların transfer bilgilerini vs. tutar. Bunun için /etc/bind/zones/example.com.db dosyasını yaratarak (/etc/bind/db.local kopyalanarak da düzenlenebilir) şu satırları girdim (eğer /etc/bind/zones klasörü yoksa bunu da yaratarak). Bu tanım dosyasında geçen, ama neredeyse hiç bir yerde açıklanmayan bir ayrıntı da IN belirteci. Şu kaynağa göre IN, internetin kısaltması ve adres sınıfını belirtiyor. Bunun dışında CS (CSNET), CH (CHAOS) ve HS (Hesiod) sınıfları da var ama artık kullanımda değiller. BIND dosyalarında adres sınıfı belirtilmesi zorunlu değil, yazılmazsa varsayılanımız IN.

    example.com.      IN      SOA     ns1.example.com. admin.example.com. (
                                                            2006081401
                                                            28800
                                                            3600
                                                            604800
                                                            38400
     )
    
    example.com.      IN      NS              ns1.example.com.
    example.com.      IN      MX     10       mta.example.com.
    
    www              IN      A       192.168.0.2
    mta              IN      A       192.168.0.3
    ns1              IN      A       192.168.0.1
    
    Benzer şekilde reverse lookup zone dosyasını da /etc/bind/zones/rev.0.168.192.in-addr.arpa olarak yarattım.

    @ IN SOA ns1.example.com. admin.example.com. (
                            2006081401;
                            28800; 
                            604800;
                            604800;
                            86400 
    )
                         IN    NS     ns1.example.com.
    1                    IN    PTR    example.com 
  6. Şimdi bind9 servisini tekrar başlatarak bu ayarların geçerlilik kazanmasını sağlayabiliriz.

    sudo /etc/init.d/bind9 restart 
    Eğer bu aşamada

    * Starting domain name service... bind9 [fail]

    hatasıyla karşılaşırsanız /var/log/daemon.log kayıtlarına bakarak hatanın kaynağını bulabilirsiniz. Genellikle bu kayıtlarda '}' expected gibi bir hata ile karşılaşılır ki bu durumlarda 2. adımdaki named.conf.local dosyasına gidip eksik } parantezini koymak gerekir.
  7. DNS sunucumuz çalışıyor. Peki bizim sorgularımız kurulumunu yaptığımız sunucu üzerinden mi yapılıyor? Henüz değil. Bunun için de /etc/resolv.conf dosyasına herhangi bir DNS sunucunun IP adresini değil, kurulumunu yaptığığımız sunucun IP numarasını yazacağız.

    search example.com
    nameserver 192.168.0.1
    
Bu adımlardan sonra nslookup veya dig ile yeni yarattığımız DNS sunucumuzu test edebiliriz:
dig example.com
veya
nslookup example.com 
Bu konuyu araştırırken birşey daha öğrendim. DNS hizmetinin normalde 53 UDP üzerinden çalıştığını biliyordum. Bazen 53 TCP'yi de kullandığını okuduğum oluyordu. Ama hiç TCP'nin DNS tarafından niye kullanıldığını (zone transferi hariç) bilmiyordum. UbuntuGeek.com sitesindeki yazıya göre, DNS sunucuya yapılan sorgunun cevabı 1024 byte'ı geçerse, sunucu UDP üzerinden kısmi bir cevap gönderirmiş. Eğer sorguyu yapan taraf tam cevabı öğrenmek isterse TCP kullanarak sorguyu tekrarlarmış. 1024 byte'ın üzerinde bir sorgu ne zaman gerekir bilmiyorum ama bunu öğrendiğim de iyi oldu.

http://www.ntchosting.com/dns/server-setup.html
http://www.ubuntugeek.com/dns-server-setup-using-bind-in-ubuntu.html

"Cannot start Microsoft Office Outlook. Cannot open the Outlook window" hatası

 Bilgisayarımın beklenmeyen kapanışı sebebiyle zor anlar yaşadım. Bir çok programın açık dosyaları soru çıkardı. Disk taramaları, kurtarılamayan dosyalar derken bir tek Outlook kaldı. Bir türlü açılmıyordu. Kısayol simgesini tıkladıktan sonra Outlook'un penceresi görünüyordu, ama sonunda şöyle bir hata vererek program sonlanıyordu:


Aklıma ilk olarak pst dosyalarım geldi. Office'in pst tarama aracı scanpst'yi kullanarak (%ProgramFiles%\Microsoft Office\Office12 altında) pst dosyamı ve archive dosyamı tarattım. Ama yine de açılmıyordu. Outlook'a ikinci bir profil yarattım, ve bu profilden hem Exchange Server'a hem de pst dosya(ları)ma bağlandım, sorun yoktu. Demek ki Outlook'un kullandığı dosyalarla ilgili bir sorun vardı. Yukarıdaki resimde görülen yazıyı Google'de arattığımda Microsoft Support'ta şu makaleye rastladım. Bu sayfada sorunun, navigation pane settings dosyasının (%AppData%\Microsoft\Outlook klasörü altındaki profilismi.xml) bozulmasından kaynaklandığı söyleniyordu. Çözüm önerisi de Outlook'u /resetnavpane anahtarı ile başlatmaktı. Bir komut satırı penceresi açıp şunları yazdım (bunu yapmadan önce outlook'un eski profilimi kullanarak sorgusuz başlamasını sağladım):

cd %ProgramFiles%\Microsoft Office\Office12
outlook /resetnavpane

Bundan sonra Outlook pencerem açıldı ve sorunsuz olarak çalışmaya başladı.

3.05.2010

Genel bir TCP/IP ağ bağlantısı kılavuzu

ADSL modemler, internet bağlantılı ve DLNA destekli LCD televizyonlar derken bir TCP/IP bağlantısı yapmak artık teknoloji tutkunları ve ağ uzmanlarının haricinde herkes için olağan bir şey haline geldi. Peki nasıl oluyor da oluyor?

TCP/IP, aslen bir çok protokolü kapsayan bir protokol kümesidir. İçinde örneğin TCP, UDP, ARP vs. gibi protokolleri barındırır. Günümüzde bilgisayarların haberleşmesi için kullanılan en yaygın yöntemdir.

İşin aslında her cihazın (modem, bilgisayar veya televizyon) bir IP adresinin olması gerekir. IP adresleri, nokta ile ayrılmış dört bölümden (oktet) oluşur. Her oktet 0 ile 255 arasında olabilir. IP adresi ataması elle yapılabileceği gibi otomatik atama yapan bir sistem (DHCP, Dynamic Host Configuration Protokol) tarafından da yapılabilir. Örneğin bir ADSL modeminiz varsa ve bilgisayarınızı hiçbir ağ ayarı yapmadan bu modem üzerinden internete çıkarıyorsanız modeminin DHCP sunucusu bilgisayarınıza bir IP adresi ataması yapmış demektir. Bir komut satırı penceresi açarak (Başlat>Çalıştır'a gelip cmd yazıp enter'a basarak) açılan siyah pencereye ipconfig /all yazarak bilgisayarınızdaki IP ayarlarını görüntüleyebilirsiniz. Örneğin benim bilgisayarımda durum şu şekilde:

C:\> ipconfig /all

Windows IP Yapılandırması

   Ana Bilgisayar Adı  . . . . . . . : pc01
   Birincil DNS Soneki . . . . . . . :
   Düğüm Türü . . . . . . . . . . .  : Karma
   IP Yönlendirme Etkin . . . . . .  : Hayır
   WINS Proxy Etkin . . . . . . . .  : Hayır

Ethernet bağdaştırıcı Yerel Ağ Bağlantısı:

   Bağlantıya özgü DNS Soneki .  . . :
   Açıklama  . . . . . . . . . . . . : Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
   Fiziksel Adres. . . . . . . . . . : xx-xx-xx-xx-xx-xx
Dhcp Etkin. . . . . . . . . . . . : Evet 
Otomatik Yapılandırma Etkin . . . : Evet
   IPv4 Adresi . . . . . . . . . . . : 192.168.0.11(Tercih Edilen)
   Alt Ağ Maskesi. . . . . . . . . . : 255.255.255.0
   Kira Sağlanan . . . . . . . . . . : 07 Nisan 2010 Çarşamba 23:39:13
   Kira Bitişi . . . . . . . . . . . : 08 Nisan 2010 Perşembe 01:49:13
   Varsayılan Ağ Geçidi. . . . . . . : 192.168.0.1
   DHCP Sunucusu . . . . . . . . . . : 192.168.0.1
   DNS Sunucusu. . . . . . . . . . . : 192.168.0.1
                                       208.67.222.222
   Tcpip üzerinden NetBIOS . . . . . : Etkin

Kırmızı ile işaretlediğim satırlar sırası ile ağ ayarlarımın IP adresimi bir DHCP sunucusundan alacak şekilde yapılandırıldığını, benim bilgisayarıma atanan IP adresinin 192.168.0.11 olduğunu ve DHCP sunucumun IP adresinin de 192.168.0.1 olduğunu (bu da modemin kendisi) gösteriyor. Yani hiç bir ayar yapmasam da modem benim yerime ayarlarımı yapmış. Eğer bu ayarları beğenmiyorsak elbette kendimiz bir IP adresi seçebiliriz. Ama modemimiz 192.168.0.1/255.255.255.0 subnet'indeyken bilgisayarımıza 192.168.1.27 adresi veremeyiz. Pratik olarak şöyle söyleyeyim; alt ağ maskesinin (subnet mask) 255 olan bölümlerine karşılık gelen IP adresinin oktetleri modem'in IP adresinin aynı bölümlerine eşit olmalı. Yani modemimiz 192.168.20.18 adresine ve 255.255.255.0 (ilk 3 oktet 255) alt ağ maskesine sahipken bilgisayarımıza vereceğimiz IP adresi 192.168.20 ile başlamalı. Son oktete biz karar vereceğiz. Ama bu adres ağda bulunmamalı. Aksi taktirde çakışma olur, haberleşmeyi sağlayamayız.

Özet olarak TCP/IP ayarları yapmak 4 temel ayar yapmaktan ibarettir:
  1. IP Adresi: bilgisayarımızın hangi adresten ulaşılabileceği bilgisi
  2. Alt Ağ Maskesi: Bilgisayrımızın dahil olduğu ağın sınırlarının çizilmesi
  3. Ağ Geçidi: Bilgisayarımızın dahil olduğu ağı dış dünyaya bağlayan çıkış kapısı
  4. DNS Sunucusu: İsim çözümlemesi yapmamızı sağlayan servis
Ev ağlarında gelende durum şu şekilde olur: Modemin üzerinde bir de caching DNS sunucusu vardır. Yani modeminiz, bilgisayarınızın ihtiyaç duyacağı DNS sorgularını sizin yerinize yapar ve cevaplarını soran bilgisayarlara bildirir. Bu durumda atadığı TCP/IP bilgilerinin hem varsayılan ağ geçidi hem de DNS sunucusu kısmında modemin IP adresini görürüz. IP adresi atamasını modeme bırakıp DNS kısmını elle yazabilirsiniz. Ama bunun tersi olmaz. DNS kısmını niye elle girmek isteyebiliriz? Örneğin OpenDNS'in DNS sunucularını kullanmak istiyorsanız bu şekilde yapılabilir.

Bir de şu bilgiyi vereyim; modemin atadığı IP adresine "gerçek olmayan IP adresi" denir. Yani bu IP adresinin internet üzerinde bir anlamı yoktur. Evinde veya işyerinde internete bağlı olan binlerce insan sizin gibi 192.168.x.y gibi bir IP adresine sahip olabilir. Modem sizi NAT (Network Address Translation) ile internete bağladığı için bağlandığınız siteler sizi, internet servis sağlayıcınızın (TTnet, Türksat gibi) size verdiği IP numarası ile görür. Bu IP adreslerine de "gerçek IP adresi" denir.

2.05.2010

Internet Explorer'ın yüklenememesi

Bazen bir Windows XP bilgisyara intenet bağlantısı yokken Internet Explorer 8 kurmak istediğimde şöyle bir hatayla karşılaşıyorum: "Internet Explorer yüklemesi tamamlanamadı". Aşağıdaki gibi ekranlarla kurulum sonlanıyor.



Bu durumun çözümü meğer Microsoft'un KB932823 numaralı makalesindeymiş. Buradan download edilecek bir hotfix ile sorun çözülebiliyor. Bu hotfix SP3'e dahil edilmiş. Yani bu sorunu SP3 yüklü bir makinede muhtemelen yaşamazsınız. Ya da sorunu çözmek için SP3 de yükleyebilirsiniz. Ama bu hotfix'i de IE8 kurulumuyla birlikte yanımda taşımak daha kolay geldi bana.

Bu hotfix'i yükledikten sonra kurulum başarılı bir şekilde sonlandı.



Yukarıdaki iki resimden ilkinde yükleme aşamasında çıkan kırmızı çarpı işareti, bilgisayarın internetten MSRT'yi (Malicious Software Removal Tool, Kötü Amaçlı Yazılımları Temizleme Aracı) download edememesiyle ilgiliydi. Alternatif olarak bu adresten MSRT'yi de indirip taratabilirsiniz. Ama ben çalıştığım bilgisayarın temizliğinden emin olduğum için bu adımı atladım.

Dizüstü bilgisayarlarda ısınma sorunu

Bir arkadaşım, dizüstü bilgisayarının çok gürültülü çalıştığından şikayet etti. İşlemci fanı, durmak bilmeden en yüksek devirde çalışıp duruyordu. Bilgisayarın altı da çok ısınıyordu. Ama işlemcinin sıcak havasını dışarı atacak olan bölüme elimi yaklaştırdığımda yeterli miktarda hava gelmediğini farkettim.

Bu daha önce de başıma gelmişti. Alındıktan sonra uzun süre kullanılmış ama hiç temizliği yapılmamış (genelde yapılmaz) bilgisayarlar, içinde inanılmaz miktarda toz biriktirirler. Soğumak için dışarıdan soğuk hava alıp dışarıya sıcak havayı vererek çalıştıklarından, bilgisayar soğutma sistemlerinde bu gayet sık rastlanan birşeydir. Bunun farkına bazen çok yüksek devirde çalışan bir fanla, bazen de ani kapanmalar/kilitlenmelerle varılır.

Çözüm olarak bilgisayarın içi açılmalı ve temizliği yapılmalıdır. Tabi bu işlemler yapılmadan önce bilgisayarın elektrik bağlantısı kesilmeli ve bataryası da çıkartılmalıdır. Muhtemelen fanın ve etrafındaki pasif soğutmaların temizlenmesi yeter. Örneğin aşağıdaki resimde görülen Asus F3F serisi bir dizüstü bilgisayar.


Resimde kırmızı ile yuvarlak içine alınmış vidaları söktükten sonra kırmızı dikdörtgen ile gösterilen yerden destek alarak kapağı kaldırarak hedefe ulaşılır (bu her zaman bu kadar kolay olmayabilir. Bazen internetten service manual'leri aratılarak yardım alınabilir).

Daha sonra aşağıdaki resimde görülen işlemci fanını sökmek gerekir. Benim durumumda bu, resimde kırmızı yuvarlak ile gösterilen 3 vidayı ve kırmızı dikdörtgen ile gösterilen fanın anakarta bağlantı noktasını sökerek oldu. Fan gayet kirliydi. Ama daha da kötüsü  fanın hemen sağında yer alan kısmın yoğun bir toz ile kapsanmış olmasıydı. Resmen 3 mm falan kalınlığında bir keçe gibi toz katmanı oluşmuştu. Bu iki işlemden sonra fanı yerine takıp, kapağı da kapatıp denemeyi yaptım. Bilgisayar yine ilk günkü sessiz günlerine geri dönmüştü. İşlemcinin çok yoğun kullanıldığı durumlarda veya sıcak ortamlarda yine eskisi gibi yüksek devirlerde çalışıyor ve çok ısınıyor olabilir, ama bu sürekli olmayacaktır.