Squid
Proxy Server
Squid
proxy server, internette dolaşılan sayfaları Linux üzerindeki diskte saklar.
Bu sayfalara ikinci kez girilmek istendiğinde normalden daha hızlı bir
şekilde size bilgiyi ulaştırmasıdır. Eğer sayfa güncellenmiş ise bu defa
sayfayı yine normal hızda gösterir. Bunu yaparken birden fazla kişinin
internete bağlanmasına olanak sağlar. Birkaç
özelliği ise:
Bu
program hakkında daha detaylı bilgi ve en son sürümü http://squid.nlanr.net/Squid/
adresinden temin edilebilir. Squid
Proxy Server Kurulumu
Squid
programi internetten kaynak kod olarak alinir. Tabi binary olarak bulmak
ta mümkün ancak son versiyonlari yine ilk önce kaynak kod olarak dagitilir.Ben
burada squid'in compile edilerek hazirlanan şeklini anlatacagim. Eger
elinizde binary dosyalar varsa işiniz daha kolay olabilir. Ayrica RedHat
5.2 ve 6.0 dagitimlarda squid kurulu olarak geliyor. Sadece konfigürasyon
dosyasini ayarlamak yeterli oluyor. Tavsiyem ise en son sürümünü kullanmaniz
olacak tabii ki. Ilk
önce squid'i internetten indirip MS-DOS formatli bir diskete sikiştirilmiş
dosyayi kopyalayin. Bu diskette sadece sikiştirilmiş dosyanin olmasi iyi
olur. Daha sonra Linux makinanizin başina geçerek root kullanicisi olarak
sisteme login olun ve şu komutlari yazin. cd
/root Eger
disket içinde sadece sıkıştırılmış squid dosyasi varsa. mcopy
a:
Eger
disket içinde squid harici dosyalar da varsa. Aşagidaki komutta < işaretlerini
atip bunlarin oldugu yere sadece squid dosyasinin adini yazin. mcopy
a:<squid dosyasinin adi>
Eger
dosyanizin sonu ".tar.gz" şeklinde bitiyorsa sirasi ile aşagidaki
iki komutu girin. Dosyanin ilk önce ".gz" kismini açacagiz.
Daha sonra ise ".tar" kismini. ".gz" kismi için: gzip
-d <squid dosyasinin adi>
".tar"
kismi için ise: tar
-xvf <squid dosyasinin adi>
Bundan
önceki gzip komutu dosyanin adini degiştirir, bilginiz olsun. Bu işlemi
de bitirdikten sonra bulundugunuz dizin içine bir muhtemelen yeni bir
dizin oluşturulmuştur. Bu dizin içinde squid kaynak kodu bulunuyor. Kodu
derlemek için oluşturulmuş dizinin içine girip sirasi ile aşagidaki komutlari
girin. ./configure
--prefix=/usr/local/squid Yukarida
configure komutu compile işlemi için dosyalari hazirlar. Bu komut
ta çekirdek derleme işlemindeki gibi ekrana birsürü bilgi yazar. Ardindan
make all komutu ile derlemek için ayarlanan squid compile edilir.
Son olarakta make install ile configure komutuna parametre olarak
verilen /usr/local/squid dizinine kurulum yapilir. Bu
işlemlerden sonra squid için yapilmasi gereken birkaç ayar vardir. Öncelikle
bir konfigürasyon dosyasi oluşturulmalidir. Standart olarak gelen konfigürasyon
dosyasi erişimi tamamen kapali olarak ayarlanmiş şekilde gelir. Bunun
dişinda içinde tüm ayar parametreleri açiklamalari ile bulunur. Bunlar
oldukça kafa kariştirici niteliktedir. Ben size aşagida benim kullandigim
konfigürasyon dosyasini kendinize göre degiştirmenizi tavsiye ederim.
Bunu yapmadan önce orjinal konfigürasyon dosyanizin bir yedegini almanizi
öneririm. #
cat /usr/local/squid/etc/squid.conf cache_mem
40 MB acl
ozler src 128.0.0.1-128.0.0.50/255.255.0.0 http_access
allow ozler Yukaridaki
ayar dosyasinin satirlari hakkinda biraz bilgi vermek gerekirse.
Yukaridaki
ayar dosyasini /usr/local/squid/etc dizini altinda oluşturun. Şimdi
squid için cache olarak kullanacagi dizin yapisini oluşturmaliyiz. Bunun
için aşagidaki komutlari sirasi ile yazmaniz yeterli olacaktir. mkdir
/usr/local/squid/cache squid
/usr/local/cache dizini altinda konfigürasyon dosyasinda belirtildigi
gibi dizin yapisini ayaralayacak, dizinleri oluşturacak ve duracaktir.
Artik squid' i çaliştirabiliriz. /usr/local/squid/bin/./squid&
komutunu vererek squid proxy server çaliştirilabilir. Bundan sonra Mail
Client programının ayarlarını yapıp Windows bilgisayarlardan birinde browseriniz
ile herhangi bir siteye girmeye çalişin. Eger
ekraniniza içinde Squid kelimesi bulunur ve örnegin "Requested url
can not be reached (Istenilen URLye erişilemedi)" benzeri bir sayfa
gelirse artik squid hazir demektir. NOT:
Squid hata mesajlari Türkçe olarak ayarlanabilir. Bunun için squid'in
kaynak kodu bulunan şekli ile elinizde olmasi gerekli. Kaynak kodun bulundugu
dizinin altinda ./errors/Turkish dizininin altindaki herşeyi squid'i
kurdugunuz dizinede /etc/errors dizini altina kopyalayin. Bunun
komutla ifadesi: Sendmail
mail server programı:
Sendmail
bildiğim tüm Linux dağıtımlarında kurulumu Linux kurulumu sırasında yapılan
bir programdır. Görevi mail göndermek ve almak olaraktır. Ayrıca sistemdeki
bazı daemon olarak adlandırılan programlar sendmail aracılığı ile genellikle
root kullanıcısına mail göndererek problem, uyarı vb. bilgileri iletirler.
Bu
program hakkında daha detaylı bilgi ve son sürümü http://www.sendmail.org
adresinden temin edilebilir. Sendmail de bu yazı yazıldığı esnada ücretsiz
olarak temin edilebiliyordu. SendMail
Mail Server Ayarları
Beni
en az ugraştiran konulardan biri oldugunu söyleyebilirm. Burada yeri gelmişken
kendisi bizzat ayarlarin nasil yapilacagini bana gösterdigi için ve diger
konulardaki yardimlarin için Görkem Çetin'e tekrar teşekkür ederim. Red
Hat 6.0 için sendmail ayarlari çok basit. Slackware üzerinde ise ayar
yapmadigim için birşey söyleyemeyecegim. Ama %99 ayni yöntemle yapildigini
düşünüyorum. %1'lik kisim ise dagitim farkliligindan kaynaklanan dizin
yapisi farkliligidir. Genel
bir bilgi vermek gerekirse sendmail aşagidakileri yapabilir:
Öncelikle
her bir e-mail adresi için (mail kullanicisi için) linux üzerinde bir
hesap açilmasi gerekli. Bunu adduser
<kullanici adi>
komutu
ile yapabilirsiniz. Açilan her kullanici için bir de şifre belirtilmesi
gerekli. Bu işlemi de passwd
<kullanici adi>
komutu
ile yapabilirsiniz. Tüm kullanicilarinizi tanimladiktan sonra sira POP
ve SMTP ayarlarinin yapilmasina geldi. Son zamanlarda POP yerine IMAP
kullanildigini ögrendim. Sendmail IMAP4 daemonlari ile kullanilabilir.
Linux tarafinda POP veya IMAP ayarlari için /etc/inetd.conf dosyasini
açip içinde #pop2... şeklinde
ardarda üç satir olacaktir. Burada birinci satir POP2 protokolu kullanmaniz
icin, ikinci satir POP3 protokolu kullanmaniz icin ve nihayet ucuncu satir
ise bana kullanmam tavsiye edilen IMAP protokolu icindir. Kullanmak istediginiz
protokolu Bu satirlarin başindaki # karakterini silin, dosyayi saklayarak
çikin. Sistemi kapatip açtiktan sonra POP ve/veya IMAP mail sunucunuzdan
istediginiz birini kullanabilirsiniz. POP
veya IMAP mail ayari içinde POP veya IMAP sunucu adresi istenen yerin
karşisina linux bilgisayarin IP numarasini vermeniz yeterli. Hesap adi
olarak ise linux bilgisayarda daha önceden tanimladiginiz kullanici hesabi
isimlerinden birini kullanmalisiniz. Şifresi de tanimlamiş oldugunuz şifrenin
aynisi olacak. POP veya IMAP hesap ayarlarin tanimladiktan sonra mail
kontrolü yapin. Eger size hata vermezse işlem tamam demektir. Eger baglanti
kurulamadigina dair bir hata mesaji verirse öncelikle linux bilgisayari
ping edip edemediginizi kontrol edin. Bunu ping
<IP numarasi>
komutu
ile hem linux'ta hem de Windows'ta yapabilirsiniz. Eger ping ediyorsa
ikinci olarak linux'ta inetd.conf dosyasinda degişiklik yaptiktan
sonra linux'u açip kapatmaniz gerekli. Bunundan emin olmak için lunux'u
kapatip açin. Yine de hata veriyorsa hatanin baglanti degil şifre hatasi
olma olasiligi var. Bunu kontrol edin. Buna ragmen hata veriyorsa sisteme
tanimladiginiz kullanicinin root yetkilerine sahip olmasi baglantiya izin
verilmemesi için yeterli bir sebeptir. Bunu kontrol edin. Kontrol için;
cat
/etc/passwd
komutunu
verin. Eger ekrana sigmiyorsa cat
/etc/passwd | more
komutunu
deneyin. Burada tanimladiginiz kullanicinin grup ve kullanici id diye
tabir edilen rakamlarinin normalde (dagitima göre degişiklik gösterebilse
de standart olarak) 500 ve üzerinde olmasi gerekli. 0 (sifir) ise sadece
root kullanicisina aittir. Eger tanimli kullanicinin kullanici id veya
grup id'si 0 ise yüksek ihtimalle POP, IMAP, telnet gibi uzaktan baglantilara
izin verilmeyecektir. Bunu düzeltmek için ya /etc/passwd dosyasini
açip içindeki kullanici ve grup id'lerini degiştirin (her kullanicinin
id numarasi farkli olmak zorundadir.) Ya da yeni, farkli bir isimde kullanici
oluşturun. NOT:
adduser <kullanici adi> komutu ile açilan kullanici hesaplari root
yetkisi taşimazlar. Yukaridaki
tüm çözüm önerilerini denedikten sonra dahi kullanici hesabinizdaki mailleri
kontrol edemiyorsaniz size önerecek özel durumlar olabilir (daemonlar
olmasi gereken yerde olmayabilirler, çalişmiyor olabilirler...). Bana
bu noktaya kadar yaptiklarinizi detayli olarak anlatan bir mail atabilirsiniz.
Elimden geldigince yardimci olmaya çalişirim. (ertank@ozlerplastik.com) Mail
kontrolü başarili oldu ise (hata vermedi ise) linux üzerinde aşagidakileri
yazarak deneyin. $
mail ertank Bu
komut ertank ismindeki kullaniciya "deneme mail" konulu ve içeriginde
de "mail icerigi" yazan bir mail gönderir. Bunun gelip gelmedigini
Windows tarafindan kontrol edin. Eger geldi ise mail hesabiniz çalişiyor
demektir. Ki eger mail kontrolü esnasinda hata vermedi ise burada da bir
problem çikmamasi gerekir. Son
olarak ise eger kullanicilariniz sendmail üzerinden dişariya mail göndereceklerse
aşagidaki ayarlari da yapmaniz gerekli. Eger sadece local olarak (firma
içi) mail kullanacaksaniz bu bölüm ile ilgili yapacaginiz başka ayar kalmamiştir.
Evet.
Şimdi kullanicilarinizin sendmail'i bir köprü olarak kullanmalari için
gerekli ayarlari anlatacagim. Yanliz bunlari anlatmadan önce aşagidaki
maddeleri dikkatlice okuyun.
BU
AYARLARI YAPARKEN SPAMMING VE MAIL BOMBING ILE ILGILI BILGI EDININ. Benim
bilgilerim sadece ne olduklari ile sinirli. Mail bombing bir mail
adresine binlerce veya milyonlarca ayni mailden gönderilmesidir. Spamming
ise (tam olarak bende bilmiyorm ama) örnegin bir mail list'e yaklaşik
1000 kişi üye olsun. Bu 1000 kişi arasindaki bir adreste başka bir mail
list içinde baglanti kurmak için kullaniliyor olsun. Bu ikinci maillist
ise 5000 üyeye sahip olsun. Problemli bir kişi listeye, mevcut olmayan
bir kaynaktan (gerçekte olmayan bir isim ile örnegin alsana@spam.com
gibi) mail gönderiyor. Bu mail, listeye üye herkese dagitilacagi için
otomatik olarak 6000 kişiye ayri kopyalar olarak (ayni sendmail mail dagitim
mantigi ile) dagitiliyor. Maillist server aşiri derecede gereksiz internet
trafigine maruz kaliyor ve eger üyelerden biri veya daha fazlasi kizarak
cevap yazarsa işte o zaman mail list'in cani okunuyor. Bu defa (3 kişinin
cevap yazdigini düşünürsek) 3*6000=18000 mail anlamina geliyor. Gerçek
hayatta ise gerçekten çok fazla üyeye sahip mail listler mevcut. Bu da
mail ile yapilan saldirilarin önlenmesindeki önemi daha da arttiriyor.
Ayrica spamming bir kişiye e-mail adresini vermedigi yer ve kişilerden
promosyon, yeni ürün, tanitim bilgileri gibi istemedigi (istemeyecegi)
maillerin gelmesi olarak ta tanimlanabilir. Kisacasi SPAM birine istemedigi
bir yerden istemedigi bir içerikte mail gelmesidir. Bu
iki saldiri şeklinden birincisini önlemek mümkün olabiliyor. Belli bir
kopyanin üzerindeki mailler dagitilmayabiliyor. Ancak ikincisi için henüz
bilinen bir koruma yöntemi yok. Ancak caydirici tedbirler aliniyor (bildigim
kadari ile). Örnegin siz bazi mail serverlara öncelikle mail kontrolü
yapip ondan sonra mail gönderebiliyorsunuz. Böylece server sizin IP numaranizi
aliyor. Daha sonra problem çiktiginda sizin internet servis saglayiciniza
kadar ulaşabiliyorlar. Tabiki servis saglayiciniz da ciddi bir durumda
direk sizin adres ve telefonunuzu veriyor. (Burada yeri gelmişken kendi
internet paketinizi kendiniz kullanin. Arkadaşlarinizin yaptigi birşey
size mâl olabilir.) Yukarida
sayilanlar sebebiyle eger internete ciddi bir şekilde bagli iseniz (kiralik
hat veya 24 saat baglanti gibi) oldukça dikkatli olmaniz gerekli. Yanliş
bir ayarlama sonucunda dişaridan biri sisteminiz üzerinden dişariya mail
gönderebilir. Bu
kadar açiklamadan sonra gelelim ayarlarimiza. Şimdi bizim yapmamiz gereken
sendmail icinde 8.9.3 surumunde (RedHat 6.0, Slackware 4.0, FreeBSD 3.2
ve yukarisi ile gelen sendmail sürümü) standart olarak kapali olan RELAYING
seçenegini belirli kullanicilar için veya belli domainler için
açmak. Bunu yapmak için öncelikle hangi kullanicilar dişariya mail gönderebilecek
sorusunu cevaplamali ve bu kullanicilarin IP numaralarini not etmelisiniz.
Bundan sonra kullanicilar için /etc/mail/access
dosyasini
açip en sonuna yeni bir satira sirasi ile 128.0.0.20
RELAY seklinde
IP numaralarini yazin. Dosyayi saklayip çikin. RedHat kullaniyorsaniz
/etc/rc.d/init.d/./sendmail
restart
komutunu
çaliştirin. Eger başka bir dagitiminiz varsa ve sendmail'i sistemi kapatip
açmadan tekrar başlatmayi biliyorsaniz bunu yapin (kill -HUB ... benzeri
bir komuttu ancak ezbere bilmiyorum ve ezberleyemedim). Bilmiyorsaniz
sistemi kapatip açin. Sendmail
tekrar çaliştiginda tanidiginiz bir arkadaşiniza izin verdiginiz makinalardan
birine geçip bir mail göndermeyi deneyin. Eger kullandiginiz mail programi
maili gönderiyorsa tamamdir. Artik dişariya sendmail kullanarak mail gönderebiliyorsunuz.
Yine problem varsa mail client programinizin verdigi tam hata ile birlikte
bana mail atabilirsiniz. (ertank@ozlerplastik.com) Eger
siz belli bir domain için yetki vermek istiyorsaniz yine yukaridaki şekilde
IP numarasi yerine izin vermek istediginiz domain adini yazabilirsiniz.
Ama bunun yerine sendmail içinde aşagidaki şekilde bir seçenek sunulmuş:
/etc/mail/relay-domains
dosyasinin
içine tek satira bir domain yazilacak şekilde izin vermek istediginiz
domain isimlerini siralayabilirsiniz. Örnegin siz ozlerplastik.com ve
freebsd.com domainlerinden gelen ve bu domainlerden gönderilen maillere
izin vermek istiyorsaniz bu dosyanin içine aşagidaki şekilde yazmaniz
yeterli olacaktir. ozlerplastik.com Şimdi
iki dosya arasindaki farka gelince siz /etc/mail/access dosyasi
içinden belli bir kişi veya domain için sinirlama da getirebilirsiniz.
Ama bunu /etc/mail/relay-domains dosyasi ile yapip yapamayacaginizi
bilmiyorum. Benim kendi görüşüm ise eger bir domain için yetki verecekseniz
bunu relay-domains dosyasinda tanimlamaniz. Eger IP bazinda izin
verecekseniz veya bir sinirlandirma getirecekseniz bunu access
dosyasinda yapmaniz. Bir
IP veya domain için sinirlandirma aşagidaki şekilde yapilabilir: 128.0.0.15
DENY Yukarida
128.0.0.15 numarali IP baglanti kurmaya çaliştiginda ona baglanti kurulamadigina
dair bir mesaj gelecektir. 128.0.0.30 numarali IP baglanti kurmaya çaliştiginda
ise "Bu mail hesabi gecici olarak kapatilmistir. Detayli bilgi icin
mail yoneticisine basvurun." mesaji ile karşilaşacaktir ve yine baglanti
saglayamayacaktir. spam.com domainine ait tüm maliler ise (gelen veya
gönderilen) "SPAMMERS will die on this server." mesaji ile reddedilecektir.
Bu
noktada biraz bilgi ve püf nokta vermek istiyorum. Siz
10mb bir attach ile dahi mailinizi baglanti kurduktan sonra 30 saniye
içinde gönderebildiginizi göreceksiniz. Çünkü sendmail sizden gelen maili
kendisi göndermek üzere alir ve bir yerlerde saklar. Maili öncelikle inceler.
Mailin gidecegi adreslerle sirasi ile baglanti kurar. Ilgili adreste problem
yoksa (kullanici tanimli mi, server açik mi, vs.) maili gönderir. Bu işlemi
mailin gidecegi her adres için gerçekleştirir. Yani eger siz 10mb boyutlu
bir e-maili 3 kişiye gönderdiyseniz sistem toplamda 30mb bir bilgi gönderecektir.
Bu da normalde sizin servis saglayicinizdaki mail serverlarin yaptigi
işin aynisidir. Yani siz burada mailinizi direk kullanicinin mail adresine
birakiyorsunz. Mail kuyruktan çiktigi anda gönderdiginiz kişinin eline
geçmiş demektir. Siz nasil mailinizi gönderdikten sonra hiçbirşey yapmiyorsaniz
burada da ayni şekilde olacak ancak arka planda sendmail bu mailleri sirasi
ile gerekli kullanicilara ulaştirmak için kasacak (mail boyutuna göre
kasmaya bilirde :-) ). Burada bazi kişiler "Bu benim hoşuma gitmedi"
diyebilir. Ben burada tek şey söylemek istiyorum. Şu ana kadar ihtiyaci
olupta linux kullanmaya başlayan hiç kimse geri dönüş yapmadi. Sirada
ise faydali bir komut var. Bu komut size kuyrukta bekleyen mailler hakkinda
bilgi verir. mailq
Bu
komut ile siz gönderilen/gönderilmeyi bekleyen mail olup olmadigini vs.
görürsünüz. Eger komut size "Mail queue is empty." gibi bir
mesaj veriyorsa gönderilmeyi bekleyen mail olmadigi anlamina gelir. Eger
birşeyler listeledi ise bu listeyi dikkatlice inceleyin. Burada genel
olarak mailin saklandigin kuyruk dosyasi adini yazar. Boyutunu byte cinsinden
yazar. Önce gönderenin sonra da gönderilen(ler)in adreslerini listeler.
Ve o anda işlem yapiyorsa bunu da parantez içinde belirtir. Eger mail
şu anda gönderiliyor veya aliniyorsa bunu da * işaretini kullanarak belirtir.
Standart
ayarlarda eger mailiniz 4 saat boyunca gönderilemezse size mailinizi gönderemedigine
dair bir mail gönderir. Içinde mailin gönderilememe sebebi vardir. Bu
bir uyari mailidir. Mailinizin gitmeyecegi anlamina gelmez. Böyle bir
mesaj alirsaniz maili tekrar göndermeyin. Bir maili birkaç gün (tam olarak
hatirlamiyorum, ama yeterince) göndermeye çalişir. Eger yine de gönderemezse
bunu da size yine mail ile bildirir. Bunlar
haricinde genel bilgi olarak. Eger bir kişi 1mb maili 1 kişiye gönderdi
ise, başka bir kişi de 5kb'lik maili 10 kişiye gönderdi ise ikinci mail
daha sonra da gönderilmiş olsa alicilarda bir problem olmadigi sürece
birincisinden çok daha önce gönderilir. Püf
noktalara gelince. Eger sizin sisteminiz internete dial-up baglaniyorsa
ve sistemdeki herkes mail kullanacaksa yaklaşik 500 gibi yüksek bir kullaniciniz
varsa tabiki 500 ip numarasi girmek (bu sayi 50 dahi olsa insanin canini
sikar) ve 500 defa RELAY yazmak oldukca can sikici olur. Bunun için aşagidaki
yöntemleri kullanabilirsiniz. 128.0.0
RELAY Yukaridaki
satirlardan ilki 128.0.0 ile başlayan tüm IP numaralarina yetki verir.
Ikincisi ise 128.0 ile başlayan tüm IP numaralarina yetki verir. Ister
Slackware olsun ister RedHat olsun gördügüm tüm sistemlerde sendmail otomatik
sistem açilişinda daemon olarak yükleniyor (Buna FreeBSD 3.2 ve 3.3' de
dahil). Ayrica yine tüm sistemlerde standartta 30 dakikada bir mail kuyrugu
kontrol ediliyor ve eger kuyrukta bekleyen mail varsa (kullanicilar mail
göndermişlerse) bu mailleri internette ilgili yerlerine gönderiyor. Burada
siz belki kontrol süresini degiştirmek isteyebilirsiniz. Bu işlem sistemden
sisteme degişecegi için bana mail atin :-) (ertank@ozlerplastik.com). Son
olarak internette sendmail için söylenenler şöyle. "Sizin mailinizi
gönderdiginiz serverin ve mailinizi alan serverin her ikisinde de sendmail
olma ihtimali çok yüksek.". Istatistiksel araştirmalar ise sadece
Türkiye'de %50'den fazla mail server sendmail'dir diyor. Bunu şunun için bu yazima dahil ediyorum. Birçok kişi linux için yargisiz infaz yapiyor. Agirlikli olarak ise "Eger ücretsiz ise, kaynak kodu veriliyorsa kesinlikle güvenmem. Mutlaka bi pislik vardir. Kesin güvensizdir. Kodu yazanlar bir boşluk birakip benim sistemime girerler. Veya crackerlar bu kodu inceleyerek bir açik bulup sistemime sizarlar." demeyin. Daha önce de söyledigim gibi kullananlardan bugüne kadar bilgileri çalinanini veya kullanmaya başladiktan sonra kullanmaktan vazgeçenini görmedim. Procmail
programı
Procmail
hakkında benim de fazla bir bilgim yok. Gelen mailler procmail ile kontrol
edilip kişilerin mail kutularına gönderiliyor. Sanırım mail filtrelemek
için (mail içeriğine göre) kullanılıyor. Sadece yapabilecekleri ile ilgili
duyumlarım var. Procmail ile yapabilinecekler:
Bunlar
dışında procmail ile ilgili söyleyebileceğim tek şey bugüne kadar hiç
procmail ayarı yapmadığım olacaktır. Procmail Linux kurulumu esnasında
ayarları yapılmış olarak sisteme kuruluyor. Fetchmail
mail alma programı:
Bu
programın internetten mail alması ile sendmail'in internetten mail alması
farklı şeylerdir. Sendmail internet üzerinde bir domain adınız (DNS kullanımınız)
varsa ve Linux üzerindeki DNS ayarları yapıldıysa mail almak için kullanılacak
olan bir programdır. Kısacası eğer internete dial-up olarak bağlanıyorsanız
Fetchmail eğer kiralık hat (leased line) ile bağlanıyorsanız ve DNS ayarlarınız
yapılmış durumda ise bu defa Sendmail kullanılacak. NOT:
Buradaki bilgi yanlış olabilir. Yani internette bir domain adınız varken
mailler direk makinenize geleceği zaman arada başka bir programın ayarı
gerekli oluyor olabilir. Ancak sadece sendmail üzerindeki bir ayar da
söz konusu olabilir. Böyle bir durum sizin için söz konusu olursa bir
bilene danışmanızı öneririm. Fetchmail
internet üzerindeki mevcut mail hesabınızı Linux sisteminize taşımak için
bir aracı programdır. İnternette bu tür programlara Mail Transfer Agent
(MTA) adı verilir. Fetchmail birçok mail protokolünü destekler. POP, IMAP
bunlardan sadece ikisidir. Fetchmail'de
birçok Linux dağıtımı beraberinde gelmekte ve kurulum esnasında sisteme
yüklenmektedir. FetchMail
ayarlarının Yapılması
Fetchmail
RedHat 6.0 içinde 5.0.0 sürümü kurulu olarak geliyor. Programin amaci
internette farkli bir server üzerindeki malillerinizi sizin mail server'iniza
taşimak. Bu tür programlara Mail Transfer Agent (MTA) adi veriliyor. Bu
programin kullanilmasi için öncelikle home dizininde bir .fetchmailrc
adinda dosya oluşturup içine internetten mail alinacak pop, imap veya
destekledigi diger protokoller ile hesaplar, şifreleri ve burada (linux
bilgisayar üzerinde) nereye saklayacagi (kullanici hesaplari) belirtilir.
Mail alma şekli verilir Tüm mesajlar mi alinacak. okunmamişlar mi vs.
Ayrica program bir log dosyasi tutabilir ve belirli araliklarla mail kontrolünü
de kendisi yapabilir. Tüm bunlar için ben aşagidaki ayar dosyasini kullaniyorum.
set
daemon 900 # 15 dakikalik araliklarla mail kontrolü yap
poll
www.ozlerplastik.com protocol pop3: poll
www.ozlerplastik.com protocol pop3: ...
Fetchmail
ayar dosyasinin yetkilerinin 600 (oktal) dan yüksek olmamasini istiyor.
Bunu da chmod
600 .fetchmailrc
komutu
ile ayarlayabilirsiniz. Artik fetchmail çalişmaya hazirdir. Fetchmail'i
çaliştirmak için aşagidaki komutu yazmaniz yeterli. fetchmail
-L /fm.log
komutu
ile fetchmaili çaliştirirsiniz ve ona /fm.log adinda bir dosyaya
log tutmasini belirtirsiniz. Eger log tutmasini istemiyorsaniz komut satirinda
sadece fetchmail yazip enter vermeniz yeterli. Fetchmail arka planda
çalişmaya başlar ve zamani gelince internetten ayar dosyasinda belirtilen
hesaplardan mailleri alip belirtilen kullanicilarin mail kuyruklarina
ekler. Alinan mailler kuyruga eklendigi anda artik Windows bilgisayarlardan
mail kontrolü yapildiginda okunabilir hale gelirler. Kişiler kendilerine
gelen mesajlari inceleyebilirler. Işinize
yarayabilecek birkaç fetchmail parametresini de aşagida veriyorum. -t fetchmail
-t 600
-c fetchmail
-c /.fetchmailrc
Şeklinde
kullanabilirsiniz. Son olarak .fetchmailrc dosyasi içine birden fazla hesap yazabilirsiniz. Dikkat ederseniz yukarida kendi dosyamin bir bölümünü örnek olarak gösterirken bir ertan hesabini ve bundan sonra ozler hesabini kontrol etmesi için ayarlanmiş oldugunu görürsünüz. Çekirdeğin
Derlenmesi
Bu
işlem her yeni Linux'çunun baş belasıdır. Benim kendi deneyimlerime dayanarak
toplama (OEM) sistemlerde dikkat edilmesi gereken birkaç nokta olduğu
kanaatindeyim. Sistemin
server olacağını göz önünde bulunduarak biraz özellikli olmasında fayda
var. 25-50 arası kişiye hizmet verecek bir sistem en az 233MMX, 64MB RAM
ve 6.4GB+1.0GB disk kapasiteli olmalıdır. Eğer
çekirdek derlemesi sırasında "signal 11" gibi bir hata ile karşılaşırsanız
problem çok yüksek bir olasılıkla RAMdedir. Unutmayın RAMler birçok testlerden
sağlam olarak çıkmalarına rağmen gerçek kullanım esnasında (örneğin DMA
kullanan uygulamalarla) hataya yol açabilir. (Benim sistemimde başıma
geldi.)Çekirdek derlemek birçok sistemde şu şekilde yapılır: Arabirim
boşluk tuşu, ?
(soru işareti) ve ok tuşları ile kullanılıyor. Boşluk tuşu ekranda üzerinde
bulunulan seçeneğin mümkün kombinasyonları arasında dönüşüm yapmaya yarıyor.
Soru işareti ise üzerinde bulunulan seçenek ile ilgili daha detaylı bilgi
bulunan bir ekran getiriyor. Arabirimi
çalıştırdıktan sonra Networking bölümünden aşağıdaki seçeneklerin yanında
*
(yıldız) olmasını sağlayın. Böylece ilgili seçenek çekirdek derlenirken
çekirdeğe dahil edileceğine dair işaretlenir. Ayrıca M
ilgili seçeneği modül olarak derler. (Modül, bir çekirdek özelliğinin
çalışan çekirdeğe istendiğinde ekleme istendiğinde çıkarma olanağı sağlayan
derlenmiş çekirdek olarak isimlendirilebilir.) Burada modül kullanımından
bahsetmeyeceğim. Benim kullandığım sistemde gerekli bölümler çekirdek
içine dahil edilerek hazırlanmıştır. Fakat bu şekilde kullanmak isteyen
olursa sistemindeki /usr/doc
dizini altındaki dökümanlar arasından istediğini bulabilir.
Yukarıdaki
seçenekleri çekirdeğe ekleyin. Bunu yaptıktan sonra Ethernet kartları
bölümünden elinizdeki ethernet kartına uygun olanını seçin. Eğer
elinizdeki kart NE2000 uyumlu olarak tabir edilen kartlardan ise Other
ISA Ethernets
seçildikten sonra ekrana eklenen kartlar içindeki NE2000/NE1000
seçeneğini seçin. Diğerlerini seçmenize gerek yok. Fakat birden fazla
ethernetiniz varsa ve farklı tiplerde ise gerekli olan tüm ethernet şekillerini
seçebilirsiniz. Tüm
bunları yaptıktan sonra ESC tuşu ile veya ekranın altındaki Exit
seçeneği ile çekirdek konfigürasyonundan çıkın. Çıkmadan önce size yapılan
konfigürasyon ayarlarını saklayıp saklamayacağınız sorulur. Saklayın.
Burada
dikkat edilmesi gereken bir nokta var. Eğer çekirdek ayarları içinde çok
fazla şey seçildi ise çekirdek derlendikten sonra son aşamada çekirdeğin
çok büyük olduğunu söyleyip yeniden başa dönmenize sebep olabilir. (Son
işlem olarak hazırlanan çekirdek sıkıştırılır. İşte bu aşamada size System
is too big
hata mesajını verebilir.) Bu yüzden çekirdek ayarları içinde iken fazla
bonkör davranmayın. İşinize yarayacak olanı seçin. Yaramayacak olana ise
ya dokunmayın ya da Gelelim
çekirdeğin derlenme kısmına. Şimdi ekrana sırası ile aşağıdaki komutları
girin. Her bir komut ekrana bir sürü yazı sıralayacaktır. Tekrar komut
satırına düşünce (muhtemelen #)
bir sonraki komutu girin. make
dep Bu
arada bu komutları tek bir satırda girme şansına da sahipsiniz. Aralarında
bir boşluk ve noktalı virgül koyarsanız komutları bir satırda ve sırası
ile işleneceği şekilde girmiş olursunuz. Yani ilk önce soldaki komut noktalı
virgüle kadar olan kısmı ile işlenir sonra noktalı virgülden sonraki kısım
varsa bir sonraki noktalı virgüle kadar işlenir. Bu arada varsa parametreler
de komuta verilir. Yukarıdaki komutların tek bir satırda kullanmı şöyle
olacaktır. make
dep ; make clean ; make zImage ; make modules ; make modules_install
Derleme
işlemi sisteme, dağıtıma göre değişik zamanlarda biter. Bendeki Celeron
300 32MB sistemde yaklaşık 13dk. sürüyor. 486 sistemlerde bu işlem yarım
saati bulabiliyormuş. Size tavsiyem her komutu ayrı ayrı klavyeden girerek
çalıştırmanız. Böylece eğer hata ile karşılaşılırsa hangi esnada hata
oluştuğunu anlayabilirsiniz. Yukarıda
derlemek için girilen komutlardan birincisi ayarladığımız konfigürasyona
göre kaynak kodlarda (veya Makefile dosyalarında) ayarlama yapıyor. İkincisi
ise eskiden kalma dosyalar varsa (sanırım object dosyaları, core dosyaları)
bunları siliyor. Sonrakisi ise derleme işlemini gerçekleştiriyor ve çekirdeği
sıkıştırıyor. Ardından modül olarak ayarlanan çekirdek bölümleri derleniyor.
Son olarak ta modüller gerekli yerlere kopyalanıyor. Çekirdek
başarılı bir şekilde derlenirse (make
zImage
komutunun ardından çekirdek derlenmiş olur.) ekrana şu komutu yazın. cd
/usr/src/linux/arch/i386/boot
Eğer
eski çekirdeğinizin bozulmasını istemiyorsanız burada iki seçenekten birini
uygulayabilir veya duruma göre siz başka bir seçenek bulabilirsiniz: 1.
Mevcut açılış dosyanızın (slackware sistemlerde genelde /vmlinuz
dur)
bir kopyasını alır ve yeni derlenmiş çekirdeği vmlinuz adı ile / (root)
dizinine kopyalarsınız. ardından /etc/lilo.conf
dosyasını dosya yeri ve adının doğruluğu için kontrol eder ve lilo
komutunu çalıştırırsınız. 2.
Mevcut dosyanıza dokunmadan yeni derlenmiş çekirdeği farklı bir dizine
kopyalar ve muhtemelen sisteminizde /etc dizininde bulunan lilo.conf
dosyasının içinde /vmlinuz
yazan satırı bulup (her sistemde bu yazmayabilir verilen örnek Slackware
dağıtımı içindir. RedHat için kurulumda /boot/vmlinuz...
gibi bir yerde durur.) bunu yeni derlenmiş çekirdeğin olduğu yeri gösterecek
şekilde ayarlarsınız. Örneğin yeni çekirdek /root/kernel.new
dizini altında ve vmlinuz
adını taşıyorsa ilgili satırı /root/kernel.new/vmlinuz
olarak değiştirmelisiniz. Daha sonra lilo
komutunu çalıştırmalısınız. 3.
Eski sistem artık kullanılmayacak ben yeni çekirdeğimi kullanmak istiyorum
diyorsanız. Şu şekilde eski sisteminizin üzerine eski sistemi saklamadan
yeni çekirdeğinizi kurabilirsiniz. cp
zImage /vmlinuz Ben
bunlardan 1. seçeneği öneririm. NOT:
Kopyalama işlemleri tamamlandıktan sonra lilo
komutunu çalıştırmayı unutmayın. Bu DOS’ taki sys komutu benzeri bir komut.
Eğer lilo.conf
içinde veya bu dosya içindeki ilgili dosyalardan birinde değişiklik yapar
ve lilo
komutunu çalıştırmazsanız sistemi kapatıp açtığınızda sürpriz olarak Linux'u
çalıştıramayabilirsiniz.. :-) Bu sebeple dikkat edilmesi gereken küçük
ama önemli noktalardan biridir. Aşağıda
1. yöntemin uygulanış şekli için bir örnek verilmiştir. cp
/vmlinuz /root/vmlinuz.old Sistemi
kapatıp açın. Bu arada kapatıp açmak için shutdown
now -r
veya reboot
komutlarını kullanabilirsiniz. Eğer sisteminiz problemsiz bir şekilde
açıldı ise sonunda proxy ve modem paylaşımı için gerekli özellikleri içeren
bir çekirdeğiniz olmuştur Dial-Up
Bağlantı Ayarları
Internete
dial-up baglanti saglamak için modem ayarlarinin yapilmiş olmasi gereklidir.
Ben burada modem ayarlarini da anlatmaya çalişacagim. Bu arada internete
lease line ile baglanan arkadaşlar varsa ve bana bunun için linux'ta yapilmasi
gereken ayarlari bir şekilde ulaştirirlarsa buraya eklemekten memnuniyet
duyarim. Leased line ile ilgili bildigim kadari ile modem ayarlandiktan
sonra sadece ppp ve routing ayarlari ile ilgili bazi leased line'a özel
ayarlar yapiliyor. 1.
Modem ayarlarinin yapılması:
Modemler
için öncelikle söylemek istedigim şu. Eger modeminiz PCI ise veya winmodem
ise %99 ihtimalle Linux altinda kullanamazsiniz. Eger modeminiz ISA ise
ve üzerinde her hangi bir jumper ayari yoksa %50 ihtimalle modeminiz Linux
altinda çalişmaz. Eger modeminiz ISA ise ve üzerinde jumper ayari varsa
veya modeminiz External (harici) bir modem ise modeminizi Linux altinda
kullanabilirsiniz. PCI
modemler çok yüksek ihtimalle winmodem (HSP) olarak adlandirilan modem
türlerinden oldugundan ve gerçek bir modem olmadigindan Linux altinda
çalişmaz. Bu modemler bir takim komutlari bilgisayarin işlemcisine yaptiriyorlar.
Bunun için, üreticilerinin modem hakkindaki bilgileri vermedigi için ve
bildigim kadariyla sadece Windows için sürücüsü üretildiginden Linux altinda
kullanilamiyorlar. Ikinci
olarak ISA olan ve üzerinde jumper ayari olmayan modemler de yüksek ihtimalle
HSP modem olurlar. Ancak bu tür bir durumla bugüne kadar sadece bir defa
karşilaştim. Genellikle ISA modemler Linux altinda kullanilabiliyor.
Bunlar
dişinda, tüm external modemler Linux altinda çalişir. Modem
ayarlarina gelince. Öncelikle modeminizin hangi port ve irq kullandigini
bilmeniz gerekli. Ama genel bilgi olarak aşagidaki tablo irq tahmini için
kullanilabilir. COM
PORT
IRQ MODEM TÜRÜ Ben
kurdugum sistemde COM4, IRQ 3 kullanan bir modeme sahiptim. Bu modemi
daha rahat kullanabilmek için yaptigim tek bir ayar vardi. Bu ayar ise
aşagidaki komut satirindan oluşuyor: ln
-s -f /dev/ttyS3 /dev/modem
Yukaridaki
komut /dev/ttyS3 aygitina (COM4 üzerindeki modem aygitina) /dev/modem
adi ile bir sembolik link (baglanti) oluşturur. Modeminiz
eger yukaridaki tabloda belirtilen ayarlar dişinda ise (bunu probe benzeri
komutlar bulabiliyor.) yani COM4 üzerinde olup ta irq 3 kullanamiyorsa.
Linux bunu başka bir aygit için ayirmiş ve kullaniyorsa lütfen Görkem
Çetin'e (gorkem@gelecek.com.tr)
dmesg komutu çiktisini ve modem ile ilgili bilgiyi içeren bir mail
gönderin. Aslina
bakarsaniz bugüne kadar Linux altinda buna hiç rastlamadim ama modem ayarlari
konusunda araştirma yaparken birkaç yerde böyle birşey olabilecegini okudugumu
hatirliyorum. Benim kendi dikkatimi çeken başka birşey ise Linux açilirken
ekranda COM portlarini sanirim (emin degilim !) UART xxx olarak gösterdigi.
Genellikle modem olmayan bir sistemde bu liste iki satirdan oluşur (external
modemler ve com1 ve com2 kullanmayan modemler dişinda). Bunlar COM1 va
COM2' dir. Eger burada üçüncü bir satir varsa (bu da benim görüşüm) modemdir.
(Modemi çikardigim zaman görmedigim için böyle bir fikir öne sürdüm.)
2.
ppp ayarlarinin yapilmasi:
Bugüne
kadar kullandigim tüm dagitimlarda (Slackware, Red Hat) pppd kurulu
olarak dagitim içinde geliyordu. Bu yüzden gerekli programlar listesine
eklemedim. Ben sizin kullandiginiz sistemde de bu uygulamanin oldugunu
varsayiyorum. Burada
anlatilan ayarlar genel ayarlardir. Dagitim ayrimi yoktur. Tüm dagitimlarda
kullanabilirsiniz. ppp
ayarlari için /etc/ppp dizini altinda bir ppp baglanti dosyasi
oluşturacagiz. Bunun adini ben kendi sistemimde (okudugum bir dökümanda
önerilen isim olan) default olarak verdim) /etc/ppp/default'tur.
Bu dosya içine aşagidaki satirlari oldugu gibi yazmalisiniz. ""
atdt0,822,2111200 CONNECT "" rname: <benim_kullanici_adim>
sword: <benim_sifrem>
Yukaridaki
satirda atdt ibaresinden hemen sonra internete baglanmak için kullanacaginiz
numarayi yazmalisiniz. rname: bölümü ise benim kullandigim servis
saglayicinin bana terminal ekraninda kullanici adi ve şifreyi Username:
ve Password: olarak sordugundandir. Bu kelimelerin ilk harfleri
büyük veya küçük olarak degişebildiginden (servis saglayicidan servis
saglayiciya degişebilir) kelimelerin bir kismini aldim. Siz kendi ISSnizin
baglanti kelimelerini ögrenip ayni mantik ile buraya yazmalisiniz. Her
iki ifadeden sonra da kendi kullanici adinizi ve şifrenizi yukarida belirtildigi
şekilde yazmalisiniz. Sirada
options dosyasi var (/etc/ppp/options). Eger sisteminizde
bu dosya mevcut ise mv
/etc/ppp/options /etc/ppp/options.backup
komutu
ile yedek alabilirsiniz. Bundan sonra aşagidaki satiri oldugu gibi /etc/ppp/options
dosyasi içine yazip dosyayi saklayin. /dev/modem
115200 crtscts modem noipdefault defaultroute 120
Son
olarak /etc/ppp/ppp isminde bir dosya ile ayarlarimiz sona erecek
(Benim ppp ayarlarini yapmak için okudugum dökümanda pppd programi baglanti
kurmak için /etc/ppp dizini altinda ppp adli dosyayi aradigini
söyleyen bir ibare vardi.). Kullandiginiz editör ile /etc/ppp/ppp
dosyasini açip içine aşagidaki satirlari oldugu gibi yazin. #!/bin/sh Son
olarak ise /etc/ppp/ppp dosyasini komut satirindan çaliştirabilmek
için tipini çaliştirilabilir olarak degiştirecegiz. Bunun için: chmod
755 /etc/ppp/ppp
komutunu
vermelisiniz. Eger konsolda iken herhangi bir dizinden dizin adi vermeden
ppp komutuna ulaşmak isterseniz cp
/etc/ppp/ppp /bin
komutu
ile /bin dizinine bu dosyayi kopyalayin. Bu dizin tüm dagitimlarda
ve shell scriptlerde PATH içindedir. Böylece dizin belirtmeden, sadece
bulundugunuz dizinde ppp komutu ile internete baglanmaniz mümkün
olacaktir. Son
olarak ise bilinen bir internet adresini (her zaman erişilebilecek olan),
örnegin www.superonline.com, www.netscape.com, www.microsoft.com gibi
/etc/resolv.conf dosyasinin içine yazmalisiniz (Dosya yoksa bir
tane siz oluşturun). Bu işlem internete baglandiginizda hattinizin bir
süre sonra hiçbirşey yokken kopmasini, internette dolaşmak için sadece
IP numarasi kullanilmasi zorunlulugunu engelleyecek, browserlardan girilen
domain namelerin IP numaralarinin bulunabilmesini saglayacaktir. Örnek
olarak aşagida ben superonline'i DNS router olarak kullanilmasini sagladim.
search
www.superonline.com Bu
işlem de tamamlandiktan sonra şimdi sira internet baglantisini denemeye
geldi. Bunun için aşagidaki komutu vermeniz yeterli. /etc/ppp/./ppp
Eger
/bin dizinine ppp dosyasini kopyaladiysaniz sadece ppp
komutu yeterli olacaktir. Imleç hemen komut satirina düşecektir ve ardindan
kisa bir süre sonra modemin sesi duyulur. ISSnizi arar. Karşi modem ile
handshake (modemlerin karşilikli kendi dillerinde anlaşmasina verilen
ad) yapar. Bu aşamadan sonra modeminizin sesi kesilir. Ses kesildikten
sonra sistem /etc/ppp/default isimli dosyada belirtilen kelimeleri
bekler ve yine belirtilen kelimeleri gönderir. Internet
baglantisinin gerçekleşip gerçekleşmedigini görmek için. ifconfig
komutunu kullanmalisiniz. Bu komut sisteminizde bulunan ethernet, localhost,
ppp v.b. baglantilar hakkinda bilgi verir. Ethernetiniz muhtemelen ekranda
eth0 olarak gözükecektir. Neyse, siz 1 ethernet kartli makina kullaniyorsaniz
standart olarak 2, internete bagli oldugunuz zamanlarda ise 3 bölüm görürsünüz.
Üçüncü ibare ise burada ppp0 olarak görülür. Eger ifconfig
komutu ppp0 gibi bir bölümü de listelediyse kutlarim. Internet
ayarlarinizi tamamladiniz ve internete baglanabiliyorsunuz. Eger hemen
normal çalişip çalişmadigini görmek istiyorsaniz kolayca lynx
komutu
ile bir text browser çaliştirabilirsiniz. Bu browser ile herhangi bir
siteye baglanabiliyorsaniz internet baglantiniz tamam demektir. Eger bir
şekilde ulaşamadiysa veya ifconfig komutu size ppp0 bölümü
listelemediyse ps
-e
komutu
ile çalişan proseslerin bir listesini alin. Listenin sonuna dogru pppd
ve/veya chat mevcutsa karşisindaki numarayi not edin. Bundan sonra
kill
<numara>
komutunu
çaliştirin. Biz az önce baglanti saglayamayan pppd ve/veya chat
programini sonlandirdik. Şimdi tekrar denemeden önce kontrol etmenizi
önerecegim birkaç nokta var. Öncelikle
internet hesabinizin kullaniliyor olup olmadigini bir kez daha düşünün,
mümkünse kontrol edinz (son zamanlarda ortak kullanilan hesaplar oldukça
revaçta :-). Bunun dişinda internet hatlarinin yogunlugu dolayisiyla baglantilarda
güçlük yaşayabileceginizi de unutmamaniz gerekli. Ne de olsa hatlar her
zaman istedigimiz verimi sunmuyor bize. Bu
olasiliklari ve akliniza gelen başka olasiliklari da kontrol ettikten
sonra tekrar ppp komutunu çaliştirin. ifconfig komutu ile
kontrolü ayni kontrolü yapin. Eger
bir problem yoksa bir kaç denemede internete baglanabilirsiniz. En azindan
ben bazen birkaç denemeden sonra baglanabiliyorum. Bu
noktada bir önerim olacak. Eger internete mesai saatleri içinde baglanacaksaniz
diald veya ppp için otomatik internete baglanma ayarlarini
yapmayin. Ben bu yazimda öncelikle bu ayarlarin elle yapilişini bilmedigim
için anlatmiyorum. Ikinci olarakta internete işyerinde gündüz girdikten
sonra genelde hat kopmasi yaşamadigimdan yapmadim. Ilk önceleri düşünüyordum.
Ancak elle baglanti kurup sistemi kullanima açtiktan sonra gerek duymadigim
için üzerinde durmadim. Eger
hattim koparsa ne olacak derseniz. Hiç merak etmeyin her firmada en azindan
bir internet düşkünü bulunur. Size hattin koptugu haberini kisa süre içinde
ulaştirirlar. Yok benim firmamda böyle biri bulunmaz diyorsaniz. En kötü
ihtimalle e-mailleriniz gecikir. Hat kopuklugunu farkettiginiz zaman tekrar
internete baglanirsiniz. NOT:
Eger sisteminiz RedHat ise sistemle birlikte gelen linuxconf programini
kullanarak ppp ayarlarinizi çok daha kolay yapabilirsiniz. Tüm
yapmaniz gereken linuxconf programini çaliştirmak içinden Config/Networking/Client
tasks/ altindan PPP/SLIP/PLIP menu secenegini secmek. Burada
gelen ekranda Add bölümünü seçip yeni bir ppp baglanti yapmak.Daha
sonra gelen ekranda Phone
number : seçeneklerini
bulup bunlara uygun bilgileri doldun. Bu arada size tavsiyem Customize
seçenegini seçip tüm işemleri tamamlamadan login name ve password
icin seçilmis olan kelimelerin servis saglayicinizin kullandigi terminal
baglanti kelimeleri ile ayni olup olmadigini kontrol edin. Sirf bu sebepten
dolayi baglanamaya bilirsiniz. Tüm bu işlemleri gerçekleştirirken seçenekler
arasinda Networking altinda işinize yarayabilecek üç seçenek var. Bunlar;
Activate
interface at boot time seçenekleri.
Bu seçeneklerden birincisi işaretli oldugu zaman sistem açildiginda otomatik
internete baglanir. Parmaginizi bile kipirdatmaniza gerek kalmadan :-)
Ikinci seçenek ise internete baglandiginizda yapilmasi gereken yönlendirmeleri
(routing) otomatik olarak ayarlar. Bu seçenegin her zaman seçili
olmasina dikkat edin. Son olarak üçüncü seçenek ise daha önceden bahsetmiş
oldugum diald gorevi görmekte kismen. Yani hattiniz koptugunda otomatik
tekrar internete baglanmanizi sagliyor. Son olarak baglantiyi çaliştirmak
için ifup
ppp?
Yukaridaki
komutta soru işareti yerine kendi baglantinizin numarasini yazmalisiniz.
Eger ilk baglanti ise 0 (sifir) ikinci ise 1 (bir) diye
devam eder. Sizinki büyük ihtimalle 0 (Sifir) olacaktir ancak kontrol
etmekte fayda var. Baglantiyi koparmak içinse; ifdown
ppp?
komutunu
kullanmali (soru işareti yerine yine uygun rakam yazilacak) veya sistemi
halt ya da reboot etmelisiniz. Slackware
sistemlerde ise ppp ayarlarini yapmak için pppsetup
komutu
kullaniliyor. Ancak bu komutun detayli kullanimi hakkinda bilgim yok.
Yukaridaki
NOT bölümü biraz uzun oldu ama bu bilgileri yaziyi yayinlamadan önceki
son bir hafta içinde ögrendigim için düzenleme firsatim olmadi. Özür dilerim.
Ileride tekrar oturup güncelleme yapacagim zaman bunlari daha uygun bir
şekilde anlatacagim. Mail
Client ve Browser Ayarları
Öncelikle
browser ayarlarini anlatacagim. Yanliz burada sadece IE ve Netscape ayarlari
anlatiliyor. Eger kullandiginiz sistem farkli ise kendiniz biraz araştirip
gerekli ayarlari yapmaniz gerekecek. Browser
ayarları
a.
IE ayarlari
IE'yi
çaliştirdiktan sonra menülerinden Tools altindan Internet Options seçenegini
seçin. Gelen pencerenin üst kismindan Connections bölümünü açin. Bu noktada
IE 4.0 kullanicilari hemen Use a proxy server seçenegini aktif hale getirin.
Ardindan yazi yazilabilir hale gelen yan taraftaki Address bölümüne linux
bilgisayarinin IP numarasini Port bölümüne ise squid konfigürasyon dosyasi
içindeki http_access satirinin karşisina yazdiginiz rakami yazin. IE
5.0 kullanicilari ise gelen pencerenin altlarina dogru LAN Settings isimli
butonu tiklayin. Gelen ekranda Use a proxy server seçenegini işaretleyin.
Yazi yazilabilir hale gelen Address bölümüne linux bilgisayarin IP numarasini
yazin. Yanindaki Port bölümüne ise squid konfigürasyon dosyasi içindeki
http_access satiri karşisina yazdiginiz rakami yazin. Şimdiye
kadar açilmiş bütün pencereleri OK tuşunu tiklayarak kapatin. Bitti. Hepsi
bu kadar. Artik Windows bilgisayariniz linux üzerinden internete baglanmak
için ayarlanmiş durumda. Şimdiye
kadar açilmiş bütün pencereleri OK tuşunu tiklayarak kapatin. Bitti. Hepsi
bu kadar. Artik Windows bilgisayariniz linux üzerinden internete baglanmak
için ayarlanmiş durumda. Mail
client ayarlari
Evet.
Browser ayarlarini tamamladik şimdi sirada mail ayarlari var. Bunun içinde
Outlook Express ve Netscape programlarini anlatacagim. Ancak bundan önce
ayarlari yapmada ihtiyaciniz olacak kullanici hesaplarini linux üzerinde
açmaliyiz. Bunu için aşagidaki adimlari takip edin. #
adduser ertank Ilk
komut sisteme ertank adinda bir kullanici ekler. Ikinci komut ise sizden
bir şifre belirtmenizi ister. Eger belirttiginiz şifre güvenli bulunmazsa
sizi: Ag
üzerinde mail kullanacak kaç kişi varsa her bir kişi için linux üzerinde
hesap açmalisiniz. Hesap açma işlemini tamamladiktan sonra aşagidaki ayarlari
yapmaya başlayabilirsiniz. 1.
Eger maillerin linux üzerinde birikmesini istemiyorsaniz. Mail yogunlugu
dolayisiyla networkünüzün yogunlugunun da artmasini istemiyorsaniz. Ayrica
linux bilgisayar üzerinde mail ve proxy server için yeterince boş alan
yoksa size tavsiyem POP3 protokolünü kullanmanizdir. Bu protokol sayesinde
kişi mailini kontrol ettikten ve kendisine gelen mailleri aldiktan sonra
bu mailler linux üzerinden silinirler. 2.
Eger maillerin saglikli bir ortamda saklanmasini istiyorsaniz. Mail yogunlugu
sizin network'ünüzü pek etkilemiyorsa. Linux üzerinde oldukça yeterli
yeriniz de varsa size tavsiyem Outlook Express 5 veya Netscape ile birlikte
IMAP protokolünü kullanmaniz olacaktir. (Outlook Express 4 içinde mailleri
sildikten sonra tamamen linux üzerinden de silmek için purge komutunu
ben bulamadim. Bunun eksikligi bir süre sonra maillerin artmasi ile eski
mailleri silmek istediginizde duyuluyor. Eger sizde purge komutu varsa
bu OE 4' te rahatlikla kullanabilirsiniz. Bu problem sadece IMAP için
geçerlidir.) Şimdi
protokolünüzü belirledikten sonra her iki Incoming mail server ve Outgoing
mail server bölümlerine linux bilgisayarin IP numarasini yazin, ardindan
Next butonunu tiklayin. Gelen ekranda Account Name bölümüne linux üzerinde
kullanici için açmiş oldugunuz kullanici adini yazin. Password bölümüne
ise yine kullanicinin linux üzerinde açmiş oldugunuz şifresini yazin.
Eger ekrandaki Remember password kutucugunu işaretlerseniz Outlook Express
her mail kontrolünde size şifre sormaz. Next dedikten sonra gelen ekranda
Finish butonunu tiklayin. 1.
Eger maillerin linux üzerinde birikmesini istemiyorsaniz. Mail yogunlugu
dolayisiyla networkünüzün yogunlugunun da artmasini istemiyorsaniz. Ayrica
linux bilgisayar üzerinde mail ve proxy server için yeterince boş alan
yoksa size tavsiyem POP3 protokolünü kullanmanizdir. Bu protokol sayesinde
kişi mailini kontrol ettikten ve kendisine gelen mailleri aldiktan sonra
bu mailler linux üzerinden silinirler. 2.
Eger maillerin saglikli bir ortamda saklanmasini istiyorsaniz. Mail yogunlugu
sizin network'ünüzü pek etkilemiyorsa. Linux üzerinde oldukça yeterli
yeriniz de varsa size tavsiyem Outlook Express 5 veya Netscape ile birlikte
IMAP protokolünü kullanmaniz olacaktir. (Outlook Express 4 içinde mailleri
sildikten sonra tamamen linux üzerinden de silmek için purge komutunu
ben bulamadim. Bunun eksikligi bir süre sonra maillerin artmasi ile eski
mailleri silmek istediginizde duyuluyor. Eger sizde purge komutu varsa
bu OE 4' te rahatlikla kullanabilirsiniz. Bu problem sadece IMAP için
geçerlidir.) Şimdi
karariniza göre sunucu tipini belirleyin. User Name bölümüne linux üzerinde
önceden açmiş oldugunuz kullanici adini yazin. Remember password seçenegini
eger şifrenin otomatik olarak hatirlanmasini istiyorsaniz işaretleyin.
OK tuşunu tiklayin. Önceki ekrana geri döndük. Şimdi ekranda Outgoing
Mail Server bölümünde Outgoing mail (SMTP) server karşisina linux bilgisayarin
IP numarasini yazin. Outgoing mail server user name karşisina da linux
üzerindeki kullanici adini yazin. Evet
sonunda mail ayarlariniz da bitti. Şimdi hemen bir mail denemesi yapabilirsiniz.
New mail veya Compose message butonunu tiklayin. To bölümüne aşagidaki
gibi kullanici adini yazin. To:
ertank@localhost
Burada
ertank yerine sizin linux üzerinde tanimladiginiz kullanici adi gelecek.
@localhost ise gönderdiginiz mailin network agi içindeki bir kişiye
gittigini gösterir. Bundan sonra subjecet ve message bölümlerini de doldurup
send butonunu tiklayin. Eger mail problemsiz olarak giderse işin yarisi
halloldu demektir. Şimdi giden mailimizi tekrar alacagiz (Burada mesaji
kendi kullanicimiza gönderiyoruz:) Ekrandan Check mail veya Send and Receive
butonunu tiklayin. Eger önceden şifre girmediyseniz size kullanici adi
ve şifre sorulacaktir. Bunlari yazin. Eger yine problemsiz bir şekilde
az önce gönderdiginiz maili aldiysaniz mail ayarlariniz da tamamlandi
demektir. Artik linux'un size sagladigi bu nimetleri doyasiya kullanabilirsiniz.
Bu
arada eger mail gönderme veya alma ile ilgili bir problem yaşarsaniz bu
esnada bana mail atabilirsiniz. Sistemin
Test Edilmesi
Evet.
Tüm bu ugraşlarin meyvelerini toplama zamani. Şimdi öncelikle internete
baglanacagiz. Tembellik etmeyip sistemimizi bir defa kapatip açalim. Sistem
açildiktan sonra sirasi ile squid ve fetchmail programlarini çaliştiracagiz.
Sendmail şimdiye kadar gördügüm her linux dagitiminda otomatik olarak
boot esnasinda çaliştirilir. Squid
programini çaliştirmak için: #
/usr/local/squid/bin/./squid&
komutunu
çaliştirin. Bir süre (yaklaşik bir dakika kadar) bekledikten sonra #
ps -e
komutu
ile çalişan prosesler arasinda squid'in olup olmadigini kontrol edin.
Eger mevcutsa bir Windows bilgisayara geçip herhangi bir siteye baglanmaya
çalişin. Ekrana altinda squid kelimesi geçen bir hata mesaji geldiyse
tamamdir. (Hata henüz internete baglanmadigimiz için gelecektir.) Proxy
serverimiz hazir. Şimdi
mail alma programimizi çaliştiracagiz. Bunun için de aşagidaki komutu
girmeniz yeterli. #
fetchmail -L /fm.log -c /.fetchmailrc -t 600
Bu
komutta fetchmail'dan istediklerimiz şunlar. Öncelikle /fm.log
adinda bir log tutmasini istedik. Bu log içinde fetchmail kontrol ettigi
yerleri, gelen mail sayisini, boyutunu vb. bilgileri listeler. Eger mail
server ile baglanti kuramazsa bunu da loga yazar. Son olarak ise fetchmail'a
bir maili alirken maksimum 600 saniyelik bir cevap almama durumunda işlemi
durdurmasini söyledik. Burada
cevap almamaktan kastim karşi server toplam 600 sn boyunca hiç bir bilgi
göndermezse baglantiyi kes anlamindadir. Toplam 600 sn de maili al alamazsan
digerine geç anlaminda degil. Artik
internete baglanma zamani geldi. #
/etc/ppp/./ppp
komutu
ile internete baglanmaya çalişin. (Eger Red Hat altinda ppp ayarlarini
linuxconf program ile yaptiysaniz burada ifup ppp0 komutunu kullanmalisiniz)
Baglandiktan sonra mail veya internet erişiminden istediginiz birisini
deneyebilirsiniz. Benim tavsiyem öncelikle internet baglantisini denemeniz.
Maile oranla çok daha hizli kontrolü yapiliyor. Eger istediginiz siteler
geliyorsa tamamdir. Proxy ile ilgili bir derdiniz yok. Maili
deneyin. Birilerine mail gönderin ("Benim Linux sistemim ile Türkçe
karakterlerim nasil gözüküyor" gibi bir mail olabilir örnegin.) Neyse
burada eger Türkçe mail gönderme problemi ile karşilaşirsaniz bana mail
atin. (ertank@ozlerplastik.com) Son
Ayarlar
Evet.
Artik internet baglantiniz da mailleriniz de çalişiyor. Şimdi linux kulanimini
biraz daha kolaylaştirmak için birkaç küçük ayar yapabiliriz. Öncelikle
fetchmail için kullandiginiz parametreleri bir kenara not edin. Şimdi
kolay kullanimi olan bir editör ile sizin açiliş dosyalarinizda sistem
açildiginda otomatik olarak squid ve fetchmail programlarini çaliştirmasi
için ayarlar yapacagiz. #
joe /etc/rc.d/rc.local
Bu
komutu verdikten sonra karşiniza linux çaliştiginda otomatik olarak çaliştirdigi
bir dosya gelecektir. Bu dosyanin en sonuna gitmek için sirasi ile CTRL+K,
V tuşlarina basin. Şimdi yeni bir satir açip aşagidaki satirlari içine
yazin. #
Proxy serverimizi çaliştiriyoruz. #
Mail alma programimizi çaliştiriyoruz. Yukarida
... yerine gerekli gördügünüz fetchmail parametrelerini yazin. Dosyayi
saklayip çikmak için CTRL+K, X tuşlarina basin. Son
olarak ppp komutunu daha kolay çaliştirmaniz için aşagidaki şekilde editörümüzü
açalim. #
joe /bin/ppp
içine
ise aşagidaki satiri yazip saklayarak çikalim. /etc/ppp/./ppp
Bundan
sonra aşagidaki komutu girin. #
chmod 755 /bin/ppp
Artik
konsolda herhangi bir dizinde iken ppp yazip enter verdiginizde
sistem otomatik olarak /etc/ppp/ altindaki ppp komutunu
çaliştiracaktir. Yani artik konsolda sadece ppp yazarak internete
baglanabilirsiniz. Yine eger Red Hat için otomatik sistem açilinca internete
baglan gibi bir ayar yaptiysaniz Buna gerek yoktur. Burada
eger daha pratik olmak için linux başina geçmeden onu kullanmak isterseniz
örnegin telnet ile. Size birkaç küçük ipucu; telnet programi Windows menülerinde
bulunmaz. Çaliştirmak için Start -> Run dedikten sonra gelen pencereye
telnet yazdiginizda çalişacaktir. Programi çaliştirdiktan sonra Connect
butonundan Remote System butonunu tiklayin. Gelen ekranda server name
bölümüne linux bilgisayarin IP numarasini yazin. başka birşey degiştirmeden
Connect butonun tiklayin. Karşiniza linux login ekrani gelecektir. Burada
iken root yetkisine sahip bir kullanici ile baglanamayacaginizi tekrar
hatirlatmak isterim. Güvenlik sebebiyle root yetkisine sahip bir kullanici
telnet gibi programlar ile linux sisteme login olamaz. Bunun için öncelikle
mail için kullandiginiz kullanici adi ve şifreyi burada kullanin. Sisteme
girdikten sonra ise root olmadan burada birşey yapilmiyor diyorsaniz #
su root
komutu
ile kullanicinizi root olarak degiştirirsiniz. Program sizden root şifresini
isteyecektir. Yazdiktan sonra artik root kullanicisi olursunuz. Ancak
dikkatli olun. Root şifresini başkalarinin ögrenmemesine gayret edin.
Eger ögrenirlerse siz internete bagli iken sizin sisteminize çok rahatlikla
girebilirler. Diskinizi formatlayabilir, e-mail, internet baglanti şifrelerinizi
ögrenebilirler. Bunun
haricinde telnet baglantisi yaptiginiz için birçok komut çalişmayacaktir.
Bunlari aşagidaki şekilde çaliştirabilirsiniz. /sbin/ifconfig Bunu da ögrendikten sonra artik linux'u daha bir keyifle kullanacaginizi düşünüyorum. |