Çayıma batırıp, çıkardıktan sonra erirken tane tane damlamasını izlediğim şekerim’din sen benim.. Her tane önce bardağa düştükten sonra eriyor dibe inene kadar görüntüsünden eser kalmıyordu fakat şeker bitip, çayı içmeye başladığımda ağzımda oluşan tat içinde seni bulmak çokta zor olmuyordu. Çünkü param parça olurken benden aldığın hisleri ne kadar derinde olsa hissediliyordu sen sevdiğim insan parça parça gittiğin hayatımdan gittin ama aklımdaki tadı nasıl sileceksin..! §§¥¤TAPSIN¤¥§§

Çayıma batırıp, çıkardıktan sonra erirken tane tane damlamasını izlediğim şekerim’din sen benim.. Her tane önce bardağa düştükten sonra eriyor dibe inene kadar görüntüsünden eser kalmıyordu fakat şeker bitip, çayı içmeye başladığımda ağzımda oluşan tat içinde seni bulmak çokta zor olmuyordu. Çünkü param parça olurken benden aldığın hisleri ne kadar derinde olsa hissediliyordu sen sevdiğim insan parça parça gittiğin hayatımdan gittin ama aklımdaki tadı nasıl sileceksin..! §§¥¤TAPSIN¤¥§§

Facebooktwittergoogle_plusredditpinterestlinkedinmail

PHP ifadeleri & Operatörleri Anlatımı

PHP ifadeleri ve operatörleri

PHP’de yapacağımız ve yaptıracağımız her şey için PHP ifadelerini kullanırız. Adı üstünde çalışmamızı ifade edecek şeylere PHP ifadeleri deriz. Genel olarak < ?php ve ?> arasına yazacağımız her şey bir PHP ifadesidir.

Bunlardan bir çoğunu ayrı başlıklar altında anlattım ve şimdi ise yeni bir başlık altında operatörlere ve mantıksal ifadelere değineceğim.

Şimdi ifadelerimizde ve değişkenler üzerinde bir takım işlemler yapmamızı ve koşullar belirtmemizi sağlayacak olan operatörlerden başlayalım, bol etiketli bir yazı olacak.

PHP operatörleri
Bu başlık altında sırayla aritmetik operatörler, atama operatörlerini, karşılaştırma operatörleri, mantıksal operatörler ve diğer operatörleri anlatacağım.

Aritmetik operatörler
Aritmetik operatörler gayet basit. İlkokulda öğrendiğimiz şeyler, bunlara matematiksel operatörlerde diyebilirsin. Bu operatörler ile istediğin değerlerin toplamasını, çıkarmasını, bölmesini ve çarpmasını yapabilirsin.

İşte PHP’de aritmetik operatörler, isimleri ve örnekleri:

Operatör İsim Örnek
+ Toplama $a + $b
- Çıkartma $a – $b
* Çarpma $a * $b
/ Bölme $a / $b
% Modül $a % $b

Bunların bir de uygulamasını gösterelim:

$a = 10;
$b = 20;
$c = 5;
$sonuc = $a + $b - $c;
echo $sonuc;
Ekranda 25 yazar.

$a değişkeninin değeri 10, $b değişkeninin değeri 20, $c değişkeninin değeri ise 5. $sonuc değişkenine de $a değişkeni artı $b değişkeni ve eksi $c değişkeni dedik, bu da $sonuc değişkenine 10 + 20 – 5 işlemini yaptırarak 25 değerini verdi.

Bir tane de işe yarar bir deneme ile gösterelim:

$yil = 2010;
$dogum_yili = 1992;
$yas = $yil - $dogum_yili;
echo $yas;

Ekranda 18 yazar. 2010 yılından doğum yılımızı çıkarttık ve yaşımızı bulduk.

Karakter katarı operatörleri
İki ya da daha fazla karakteri ard arda eklemek için kullanacağın bu operatörü aslında bir kaç ders öncesinde örnek olarak kullandım. Orada anlamamış olabilirsin. Ama şimdi bu eksikliği gidereceğiz.

Yazıları ve diğer değerleri yan yana birleştirmek ve başka değerlere eklemek için “.” (nokta) operatörünü kullanacağız. Hemen bir örnek ile göstereyim yine:

$isim = 'Musa';
$mesaj = 'Selam ';
$sonuc = $mesaj . $isim;

echo $sonuc;
Ekranda Selam Musa yazar. Burada $sonuc değişkenine $mesaj değişkeni ile $isim değişkenini yan yana ekledik.

Bir örnek daha göstereyim:

$isim = 'Musa';
$sonuc = 'Selam ' . $isim;

echo $sonuc;
Bu sefer de aynı şey yazar. Farklı yaptığımız şey; $mesaj değişkeni kullanmak yerine sonuç değişkenine direkt mesajımızı verdik ve yanına nokta operatörü ile $isim değişkenini birleştirdik.

Tek tırnak ile çift tırnak arasındaki fark
Bu konuda son olarak dikkat etmemiz gereken ufak bir farklı yoldan bahsedeceğim. Bu da PHP de “ (çift tırnak) ile ‘ (tek tırnak) arasında bazı kullanım farklılıkları olması. Tek tırnak ile vereceğimiz değerlerin içerisine değişken yazamayız, hemen örnek ile gösterelim:

$isim = 'Musa';
$mesaj = 'Selam $isim';

echo $mesaj;
Ekranda Selam $isim yazar. Çünkü biz değişkeni de tek tırnak içinde yazdık. Bu nedenle o $isim‘e bir değişken değil yazı gözüyle baktı. Eğer $isim değişkenini yazdırmak istiyorsan işte o zaman bir yukarıda verdiğimiz örnekteki gibi yapmalısın.

Bu bahsettiğim olay yanlızca tek tırnak için geçerli. Çift tırnakda ise bu durum daha farklı. Çift tırnak içerisine yazacağımız değişkenlerin değerleri yazar. Yani nokta operatörünü kullanmadan da değişkenleri çift tırnak içinde birleştirebiliyoruz. Hemen yine bir örnek geliyor:

$isim = 'Musa';
$mesaj = "Selam $isim";

echo $mesaj;
Çok dikkat edin bir önceki örnek ile aynı fakat sadece mesaj değişkeninde tek tırnak değil çift tırnak kullandık. Ve bu durumda ekranda Selam Musa yazacak. Çünkü çift tırnak içine yazılan değişkenlerin değerlerini verir. Fakat tek tırnakda böyle bir durum söz konusu değil.

Buradaki amaç bazen dolar işaretini kendi başına kullanmamız gereken bazı yerlerde PHP’nin o dolar işaretini değişken sanmamasını sağlamaktır. Mesela ekrana “Ücret: 100$” yazdırmak istediğimizde eğer çift tırnak kullanırsak PHP hata verir. Çünkü çift tırnak içerisinde dolar işareti özel karakter ve değişken ifadesi olarak algılanır. Bu durumlarda tek tırnak ya da kaçış operatörü kullanılır.

Kaçış operatörü
Kaçış operatörü ters bölüm işaretidir “\“.

Kaçış operatörünün kullanımınıda hemen bir örnek ile gösterelim:

$mesaj = "Ücret: 100\$";
echo $mesaj;

Ekranda Ücret: 100$ yazar. Çift tırnak ile $ dolar işaretini kullandık ama başına ters bölüm işareti koyduk. Bu nedenle o dolar işaretini değişken olarak algılamadı.

Çift tırnakta değişken kullandığımız için $ dolar işaretinden kaçmakta kullandığımız bu operatörü aynı zamanda çift tırnak içine çift tırnak içeren bir şey yazarkende kullanabiliriz. Hemen buna da bir örnek:

$mesaj = "Musa: \"bu kaçış operatörünü anlamak için iyi bir örnek\" dedi.";
echo $mesaj;

Ekranda Musa: “bu kaçış operatörünü anlamak için iyi bir örnek” dedi. yazar. Çift tırnak içinde çift tırnak işaretini kullansaydık PHP hata verirdi. Ama kaçış operatörü sayesinde böyle bir hata almadık ve kendimizi ifade ettik.

Biraz karışık bir konu gibi gelebilir ama aslında basit. Son olarak hepsini bir örnek ile göstereyim:

$isim = "Musa";
$mesaj = "Merhaba ";

$sonuc = $mesaj . $isim; // Değeri: Merhaba Musa
$sonuc = "$mesaj $isim"; // Değeri: Merhaba Musa
$sonuc = 'Selam ' . $isim; // Değeri: Selam Musa
$sonuc = 'Değerimiz: 100,000,000$'; //Değeri: Değerimiz: 100,000,000$
$sonuc = "Bu hatalı bir fiyat: 100$"; //PHP hata verir!
$sonuc = "Bu hatasız bir fiyat: 100\$"; //Değeri: Bu hatasız bir fiyat: 100$
$sonuc = "Tırnak denemesi: \"PHP\""; //Değeri: Tırnak denemesi: "PHP"
$sonuc = "Hatalı bir örnek, "kaçış karakteri" kullanmadan tırnak açtık";
//PHP hata verir.
Atama operatörleri
Atama operatörleri ile değişkenlere değer atarız. Temel atama operatörü eşittirdir (=). Bunu geçen örneklerde ve anlatımlarda anladığını varsayıyorum. Tek bir eşittir işareti, istenilen değişkene istenilen değeri atamamızı sağlar.

Diğer operatörlerini de bir tablo üzerinde gösterelim. Bu operatörler birleşik atama operatörleri. Bunlar bir değişkenin sonuna bir değer eklemekte ya da değişkendeki sonuca bir sayı eklememizi kolaylaştırır. Basit bir örnek ile kavrayabileceğimiz bu birleşik atama operatörlerini önce tabloda gösterelim:

Operatör Kullanışı Karşılığı
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a – $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a . $b

Örnek bir atama operatörü kullanımı:

$a = 10;
$b = 20;
$a += $b;

echo $a;
Ekranda 30 yazar. Birleşik atama operatörü kullanarak toplama işlemi yaptık ve varolan değişkenin değerine atadığım değişkenin değerini ekledik.

Bu birleşik atama operatörü bizim değişkenin sonuna ekleyeceğimiz ya da çıkartacağımız değerler için aynı değişkeni tekrar yazdırmayarak bize kolaylık sağlar.

Bir değer arttırma ya da eksiltme
Bir değişkendeki sayısal değeri bir arttırmak için çift artı (++) operatörünü, bir değer eksiltmek için de çift eksi (- -) operatörünü kullanırız.

Örnek kullanımı:

$a = 10;
$a++;
echo $a;

Ekranda 11 yazar. $a değişkeninin değerini 1 arttırdık ve ekrana yazdırdık.

İfadeleri ve operatörleri bir başlık altında toplayınca konu yoğunluğundan dolayı ikiye ayırmak durumunda kaldım. Bu yazıda bir önceki yazıda anlatmadığımız diğer ifadeleri ve diğer operatörleri anlatacağım.

Kaldığımız yerden karşılaştırma operatörlerini anlatmaya başlayarak devam ediyorum.

Karşılaştırma operatörleri
Karşılaştırma operatörleri ile adı üstünde birden fazla değerleri kendi aralarında karşılaştırmasını yapacağız. Mesela $a değişkeninde bulunan bir değer $b değişkeni ile aynı mı? Ya da daha mı büyük? Gibi karşılaştırmaları bu operatörler ile yapacağız.
Karşılaştırma operatörlerini bir tablo üzerinde gösterelim:

Operatör İsim Kullanılışı
== Eşittir $a == $b
=== Denktir $a === $b
!= Eşit değildir $a != $b
!== Denk değildir $a !== $b
<> Eşit değildir $a <> $b
< Küçüktür $a < $b > Büyüktür $a $b
< = Küçük ve eşittir $a <= $b >= Büyük ve eşittir $a >= $b

Karşılaştırma operatörü olan çift eşittir işaretinde dikkat etmemiz gereken ufak bir ayrıntı var. Çift eşittir işareti iki değeri karşılaştırmakta kullanılır, tek eşittir işareti ise değer atamakta kullanılır. Bu yüzden karşılaştırma operatörü olan çift eşittir kullanmak istediğiniz zaman tek eşittir yapmadığınızdan emin olun.

Karşılaştırma operatörleri nasıl kullanılır?
Karşılaştırma operatörlerini daha çok soru sormak gibi değerlendirebiliriz. Bu operatörleri koşul gerektirecek olan öğreneceğimiz bir sonraki ifadelerde kullanacağız. Kullanacağımız bu operatörlerin anlamlarına örnek olarak şunu diyebilirim:

$a = 10;
$b = 20;

Yukarıda a ve b değişkenlerine değer atadım. Şimdi karşılaştırma operatörü ile “$a == $b” dediğimde aslında “$a değişkeni $b değişkenine eşit mi?” diye bir soru sormuş oldum. Bu karşılaştırmanın sonucu yanlış yani FALSE dönecektir.

Farklı bir operatör ile daha deneyelim: “$b > $a” burada da “$b değişkeni $a değişkeninden büyük mü?” diye sormuş oldum. Bu karşılaştırmanın cevabı da doğru yani TRUE dönecektir.

Mantıksal operatörler
Mantıksal operatörler ile birden fazla karşılaştırmayı değerlendirip, birleştirebiliriz. Mesela bir değişkenin hem 0 dan büyük mü hem de 100 den küçük mü diye bir karşılaştırmasını mantıksal operatörler sayesinde yaparız.

Mantıksal operatörleri bir tabloda gösterelim:

Operatör İsim Kullanılışı Açıklaması
! Olumsuzsa !$a $a’nın değeri olumsuz yani FALSE ise TRUE yani doğru döner. Aksini yapar olumsuz mu diye sorar.
&& Ve $a && $b $a ve $b’nin değeri olumlu ise olumlu yani TRUE döner, ikisinden birisi olumsuz ise olumsuz yani FALSE döner.
|| Ya da $a || $b $a’nın değeri ya da $b’nin değeri olumlu ise olumlu döner. Birisinin ya da ikisininde olumlu olması yeterlidir.
Bunlara bir örnekte başta dediğimiz; bir değişkenin değeri “0 dan büyük ve 100 den küçükse” karşılaştırmasını yapalım. Bunun için uygulayacağımız koşul şöyledir: “$a > 0 && $a < 100” Bunun anlamı $a değişkeni 0 dan büyükse ve 100 den küçüksedir. Eğer $a’daki sayı 0 ile 100 arasında ise bu koşulun sonucu olumlu döner. Hata bastırma operatörü Hata bastırma operatörü (@) et işaretidir. Her deyimin önünde kullanılabilir. Hata oluşturacak yerlerin başına bunu koyduğunuzda ekrana bir hata çıktısı verdirmemeye yarar. Hatayı görmezden gelmeye ve sonucu olumsuz yapmamaya yarar. Diyelim bir bölme işlemi yaptırıyoruz, bu bölme işlemine belki 0 rakamını da yazabiliriz. 0 yazdığımızda PHP bir rakamı 0 a bölemeyeceği için hata verecektir. Bu durumda bu operatör kullanarak hatayı bastırabiliriz. Örnek: $a = 10;
$b = 0;
$sonuc = @($a/$b);
echo $sonuc;
Ekranda hata yazmaz onun yerine olumsuz sonuç döner.

PHP koşullu ifadeleri
Ve nihayet öğrendiğimiz bu operatörleri kullanarak karar verdirme zamanı geldi! Yapılan çalışmalarda ve sayfalarda mantıklı ve işe yarar sonuçlar verdirtebilmek için kodlarımızın karar vermesi gerekiyor.

PHP’de karar verdirtebilmek için ise if gibi bazı ifadeleri kullanacağız. Ve bu ifadeler ile kodlarımıza bir mantıklı bir amaç ve sonuç oluşturacağız.

İf ifadeleri
PHP’de if ile kodlarımıza kararlar verdirtebiliriz. Türkçe anlamı eğer olan if ifadesi için bir koşula ihtiyacımız ve koşul sonucunda yapmasını istediğimiz koda ihtiyacımız var.

If’in temel şekli şöyledir:

if( koşul ) {
// koşul olumlu ise çalışacak kodlar
}

Hemen bir örnek ile açıklayıp gösterelim:

$a = 20;
if($a > 10) {
echo 'a değişkeni 10 dan büyüktür';
}

İlk olarak $a değişkenine 20 değerini verdik sonrasında if ile “eğer $a değişkeni 10 dan büyükse aşağıdaki kodları çalıştır” dedik. Yani bu durumda ekranda “a değişkeni 10 dan büyüktür” yazacaktır. Eğer $a değişkenine 5 değerini verseydik ekranda hiçbir şey yazmazdı.

If birden fazla koşul uygulama
Mantıksal operatörler ile if’in içerisine birden fazla karşılaştırma gerçekleştirebiliriz. Mantıksal operatörlerde verdiğimiz bu örneği de hemen if’i kullanarak gösterelim.

$a = 10;

if($a > 0 && $a < 100) { echo 'a değişkeni 0-100 arasında'; }
Burada eğer $a değişkeni 0 dan büyük ve $a değişkeni 100 den küçük ise aşağıdaki kodları çalıştır dedik. Ve $a değişkeni değerine 10 verdiğimiz için ekranda a değişkeni 0-100 arasında yazacaktır.

Eğer koşullar gerçekleşmiyorsa { … } parantez içerisine aldığımız kodlar çalışmayacaktır.

Else ifadeleri
Else’nin Türkçe anlamı değilsedir. Yani if koşullar olumlu olduğunda { … } parantez içerisindeki kodları çalıştırırken else’yi kullanarak eğer koşullar gerçekleşmediyse de bir başka kod bloğunu çalıştırabiliriz.

Yukarıdaki örneğimizin üzerinde uygulayarak gösterelim:

$a = 200;

if($a > 0 && $a < 100) { echo 'a değişkeni 0-100 arasında'; } else { echo 'a değişkeni 0-100 arasında DEĞİL'; }
Burada eğer koşullar doğru değilse a değişkeni 0-100 arasında DEĞİL yaz dedik. Ve bu seferde $a değişkenine 200 değerini verdiğimiz için ekranda “a değişkeni 0-100 arasında DEĞİL” yazacaktır.

Hem if hem de else olayına bir örnek daha gösterelim. Ehliyet almak için 18 yaşını doldurmuş olmak gerekiyor. Şimdi if ve else kullanarak bu durumu ifade edelim:

$yil = 2010;
$dogum_yili = 1992;
$yas = $yil - $dogum_yili;

if($yas >= 18) {
echo 'Ehliyet alabilirsin';
} else {
$kalan_yil = 18 - $yas;
echo 'Ehliyet almak için ' . $kalan_yil . ' yıla daha ihtiyacın var.';
}

Yukarıda hem yaş hesaplama hem de if ile bir ehliyet alabilirlik testi yaptık. Eğer yaşımız 18 den büyük ya da eşit ise ekranda Ehliyet alabilirsin yazacaktır. Eğer 18 den küçük ya da eşit değilse yaştan 18′i çıkartıp 18 olmasına kalan yılı bularak ekrana ehliyet almak için kaç yıla ihtiyacımız olacağını yazacaktır.

Elseif ifadeleri
Else değilse demekti if ise eğer demekti, yani bu da demek oluyor “değilse eğer”. Bu ifade ile bir koşul uymuyorsa hemen ardından başka bir koşul deneyebiliyoruz. Mesela elseif ile bir puan değerlendirmesi yapalım. Notumuz eğer 5 ise pekiyi 4 ise iyi 3 ise orta 2 ise geçer 1 ise zayıf yazdıralım.

$puan = 5;

if($puan == 5) {
echo 'Pekiyi';
} elseif($puan == 4) {
echo 'İyi';
} elseif($puan == 3) {
echo 'Orta';
} elseif($puan == 2) {
echo 'Geçer';
} elseif($puan == 1) {
echo 'Zayıf';
}

Ekranda pekiyi yazar.

Switch ifadesi
Sadece bir veya birden fazla eşitliği kontrol etmek istediğiniz durumlarda kullanılabilecek bir ifadedir. Switch ile yapılacak işlemin aynısı else if ile de yapabilirsiniz, fakat eğer sadece bir veya daha fazla eşitliğin karşılaştırılması üzerine bir ifade kullanılmak isteniyorsa bu işlem için switch daha uygundur.

// if ile yapmak istediğimizde:
if($meyve == 'karpuz') {
echo 'karpuz seçildi';
} else if($meyve == 'çilek') {
echo 'çilek seçildi';
} else if($meyve == 'armut') {
echo 'armut seçildi';
}

// aynısı switch ile yapalım:
switch($meyve) { // karşılaştırılacak değişkeni ifade ediyoruz
case 'karpuz': // eğer karpuz'a eşitse
echo 'karpuz seçildi';
break; // eğer bu seçenek eşleştiyse karşılaştırmaya devam etme
case 'çilek':
echo 'çilek seçildi';
break;
case 'armut':
echo 'armut seçildi';
break;
}

Bu tip durumlarda switch kullanmak if kullanmaktan daha performanslı ve kısa oluyor.

Alt alta case ifadesini kullanarak birden fazla değer karşılaştırması yapabilirsiniz.

switch($meyve) {
case 'kiraz':
case 'çilek':
case 'karpuz':
echo 'kırmızı renkli meyve';
break;
case 'armut':
echo 'sarı renkli meyve';
break;
}

Eğer switch içerisinde ifade edilen hiç bir değerde eşleşmediğinde yapmak istediğiniz bir şey varsa da bunu “default” ile ifade ediyoruz;

switch($meyve) {
case 'muz':
echo 'muz var!';
break;
case 'karpuz':
echo 'karpuz var!';
break;
default:
echo 'bu meyveden yok!';
break;
}

Bir sonraki PHP serüvenlerinde görüşmek üzere hoşçakalın!

Facebooktwittergoogle_plusredditpinterestlinkedinmail

OVH sunucu yapılandırma

OVH Sanallaştırma Hakkında Tüm İşletim Sistemi Ayarları :

Sadece Server aldığınızda Mac adresinizi gönderdiğimizde aşağıdaki ayarları yapmanız halinde vds’i niz sorunsuz olarak çalışacaktır.

OVH ESX 5 Sanallaştırma Detaylı Bilgiler :

Dedicated serverlar için alınan ek ip adreslerinin VDS veya Ana sınıcıya tanımlanması için gerekli olan yapılandırma tüm işletim sistemleri için aşağıda belirtilmiştir.

IP adresleri için önecelikle mac tanımlaması yapılamlıdır, Özel mac tanımlaması yapılmayan sunucular ip alamaz. VPS yada VDS de belirlenen mac adresi sonrası mac’e ait ip sanal sunucuya eklenirken 111.222.333.444 olan yedek ip son 3 haneye .254 yazılmalıdır. (OVH İÇİN GEÇERLİDİR)

Centos ve Redhat Sistemleri için Yapılandırma:

ifcfg-eth0 dosyası düzenlenmeli, “nano /etc/sysconfig/network-scripts/ifcfg-eth0” ile açılarak içerisin alttaki içerik eklenmelidir.
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=TANIMLANMAK İSTENEN IP ADRESİ
GATEWAY=GATEWAY ADRESİ
ARP=yes
HWADDR=MAC ADRESİ
route-eth0 dosyası düzenlenmeli, “nano /etc/sysconfig/network-scripts/route-eth0” ile açılarak içerisin alttaki içerik eklenmelidir.
GATEWAY ADRESİ dev eth0
default via GATEWAY ADRESİ dev eth0

resolv.conf dosyası düzenlenmeli, “nano /etc/resolv.conf” ile açılarak içerisin alttaki içerik eklenmelidir.
nameserver 208.67.222.222
nameserver 208.67.220.220

Debian ve Ubuntu Sistemleri için Yapılandırma:

interfaces dosyası düzenlenmeli, “nano /etc/network/interfaces” ile açılarak içerisin alttaki içerik eklenmelidir.
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address TANIMLANMAK İSTENEN IP ADRESİ
netmask 255.255.255.255
broadcast TANIMLANMAK İSTENEN IP ADRESİ
post-up route add GATEWAY ADRESİ dev eth0
post-up route add default gw GATEWAY ADRESİ
post-down route del GATEWAY ADRESİ dev eth0
post-down route del default gw GATEWAY ADRESİ
resolv.conf dosyası düzenlenmeli, “nano /etc/resolv.conf” ile açılarak içerisin alttaki içerik eklenmelidir.
nameserver 208.67.222.222
nameserver 208.67.220.220

FreeBSD 8 ve üzeri sürümleri için Yapılandırma:

rc.conf dosyası düzenlenmeli, “ee /etc/rc.conf” ile açılarak içerisin alttaki içerik eklenmelidir.
ifconfig_em0=”inet TANIMLANMAK İSTENEN IP ADRESİ netmask 255.255.255.255 broadcast TANIMLANMAK İSTENEN IP ADRESİ”
static_routes=”net1 net2″
route_net1=”-net GATEWAY ADRESİ/32 TANIMLANMAK İSTENEN IP ADRESİ”
route_net2=”default GATEWAY ADRESİ”
resolv.conf dosyası düzenlenmeli, “ee /etc/resolv.conf” ile açılarak içerisin alttaki içerik eklenmelidir.
nameserver 208.67.222.222
nameserver 208.67.220.220

Windows Sistemleri için Yapılandırma:

Netroek ayarlarını yapılandırırken IP, Netmask, Gateway bilgileri normal olarak yazılmalıdır. DNS sunucular için 208.67.222.222 ve 208.67.220.220 yazılabilir.
Sınrasında Başlat(Start) > Çalıştır(Run) > “regedit” > Ara(Find) adımları ile kayıt düzenleyicisi(regedit) içinde aratma yapılarak bulunan tüm 255.255.0.0 kayıtları 255.255.255.255 ile değiştirilmelidir, sonra network veya sunucu resetlenmelidir.

VMware için mac tanımlama :

VMware altında çaılan sanal makinaralar özel mac adresi ile ip verilmesi önerilmektedir. Özel mac adresi sadece o makina için ayrılmış ip adreslerini alabilecek şekilde yetkilendirilmiş olmalıdır. Özel olarak verilen mac adresli makinalarda sonradan müşterilerinizin ekleyeceklere rastgele ip adresleri sizin networkunuzde çakışma yaratmayacaktır.

VMware ESXi için özel mac adresi tanımlamak oldukça basit bir işlemdir:
• vSphere Client arayüzünden işlem yapmak istediğiniz sanal sunucuyu bulun,
• Sanal sunucuyu kapatın, (Sağ Tık > Power > Power Off)
• Sanal Sunucu Ayarlarını Açın, (Sağ Tık > Edit Settings)
• Network kart yönetimine gelin (Hadrware tabında > Network adapter 1)
• Sağ Seçeneklerde özel mac için “Manual” Seçin,
• Aktif olan “MAC Address” bölümüne istediğiniz MAC adresini yazın,
• xx:xx:xx:xx:xx:xx formatında mac yazdıktan sonra OK tıklayın,
• Sanal sunucuyu çalıştırın, (Sağ Tık > Power > Power On)

Facebooktwittergoogle_plusredditpinterestlinkedinmail

PowerMTA 4.0 – Queue Prioritization – Kuyruk Öncelikleri

PowerMTA 4.0 ile kazandığımız yeni bir özellik var.Bu da pattern yani şablon listemize eklenen recipient-priority komutudur.

Örnek kullanımı şöyledir :

rcpt-to /bildiri@satariz.com/ recipient-priority=100
rcpt-to /duyuru@satariz.com/ virtual-mta=high, recipient-priority=60
mail-from /parola-reset/ recipient-priority=25

Burada bildiri@satariz.com adresine giden e-postalar hiç bekletilmeden diğer e-postalara karşı öncelik tanınarak hemen gönderilir.

Aynı şekilde duyuru@satariz.com adresine gelen e-postalar da “parola-reset” mail from adresinden gelenlere kıyasla daha önce gönderilir.

“parola-reset” içeren mail-from adresli e-postalar ise en son gönderimi yapılacak olanlardır.

Böylelikle önemli e-postaları en ön sıraya almış oluyoruz,şifre sıfırlama gibi gecikmesi sorun yaratmayacak e-postalar arka planda kalacaktır.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Vakti zamanında

Vakti zamanında(en az 2006 veya 2007) internet üzerinde bir yazı gördüm.
O yazıyı o kadar çok beğendim ve doğru buldum ki,o günden bu yana yazıyı hiç değiştirmeden aynı orjinal hali ile saklıyorum.
Yazınının konusu “internette ücretsiz destek vermek”.
Sizinle paylaşıyorum.

Dedim ya internet alemi yalan alem diye..
İnsanımızın doğasında var bu.
Sizden 2×3 ‘ü isterler, siz 6 dersiniz.
4×12 diye sorar, 48 dersiniz; ya 8×9? =72 , 10×45 ? = 450, siz cevap üstüne cevap verirsiniz.
Sonra biri gelir,yine 4568×8656 diye sorar.
Sizin de vaktiniz nakit olduğu için çözüp vakit harcamak yerine, soruyu soranı hesap makinasına yönlendirirsiniz.
İşte o an, siz dünyanın en şerefsiz, en .. . .. insanı olursunuz.
Hâlbuki aynı kişi daha 2 gün önce 8×9 için size teşekkür eden, Allah razı olsun diyen kişidir.
İşte bu yüzden konuyla ilgili yardımlarımı kestim.
Artık hesap makinası yapıyor ve satıyorum..

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Türkiye’de Genişbant Internet Erişim Pazarında Kablo ve Fiber Erişim Payı Yok Denecek kadar Az…

OECD ülkelerine kullanılan teknolojiye göre genişbant abone dağılımına bakıldığında DSL’nin halen en popüler teknoloji olduğu ve pazarın % 60’ını aldığı görülmekle birlikte Fiberin ve Kablonun yaygınlaştığı ve pazardaki payının % 38’e kadar arttığı görülüyor. Türkiye’de kullanılan teknolojiye göre genişbant abone dağılımına bakıldığında ise bu oranlar DSL’de % 97,3, Kabloda % 2,3 oluyor. Türkiye’de Genişbant Internet Erişim Pazarında Kablo ve Fiber Erişim Payı yok denecek kadar az olup rekabetin bu pazarda oturtulamadığının açık bir göstergesi olarak yorumlanıyor.

Bilişim sektöründe ( ICT Sektörü) “ Genişbant Internet Erişim” aboneliklerinde farklı teknolojiler kullanılıyor. Bu teknolojiler arasında XDSL, Kablo Modem, Fiber ve diğer erişim teknolojileri yer alıyor. Dünyada son yıllarda mobil teknojiler ortaya inanılmaz erişim hızları ile çıkıyor. Bu hızlar her ne kadar Mobil Genişbant Erişim’i çekici kılıyor olsada son yıllarda basit bakır kablo haricinde Kablo ( Twisted Pair) ve Fiber erişime beklenenin daha ötesinde önem verildiği ve aboneliklerinin toplam genişbant aboneliği içerisinde hatırı sayılır bir yüzde ile pazarda yer aldığı görülüyor.

Japonya, Kore ve İsveç gibi ülkelerin, büyük avantajlara sahip olduğu bilinen fiber teknolojilere büyük yatırımlar yaparak genişbant içinde fiberin payını oldukça arttırdıklarını sektörde ilgili olan herkes biliyor. Avrupa ülkeleri arasında ise genişbant içerisinde kablo ve fiber erişimin payının % 15,3 olduğunu dünkü haberimizde vermiştik.

OECD ülkelerine kullanılan teknolojiye göre genişbant abone dağılımına bakıldığında DSL’nin halen en popüler teknoloji olduğu görülmekle birlikte Fiberin ve Kablonun yaygınlaştığı ve pazardaki payının arttığı görülüyor. OECD ülkelerinde genişbantta toplam abone sayısı 271 milyona ulaştı. Bunun kablo ve Fiber erişim yüzdesi % 38’dir.

Teknolojiye Göre Genişbant Abone Dağılımı, Haziran 2009

Teknoloji ( Yüzde)
DSL
60
Kablo Modem
29
Fiber+LAN
9
Diğer
2

Kyn: OECD, Haziran 2009

Türkiye’de Durum

Türkiye’de kullanılan teknolojiye göre genişbant abone dağılımına bakıldığında ise BTK verilerine göre bu oranlar DSL’de % 97,3, Kabloda % 2,3 ve diğerleri % 0,4 oluyor.

DSL erişimim hemen hemen tamamı Türk Telekom Grubu alt firmalarından TTNET tarafından sunuluyor. Kabloda ise Türksat ve bazı alternatif işletmeciler veriyor. Bu pazar paylarına göre Türkiye’de Genişbant Erişim Pazarında TTNET’in inanılmaz bir hakimiyeti olduğu ve bir rekabetin maalesef oluşturulamadığı açıkca görülüyor.

Türkiye’de kablodaki oranın AB ülkeleri ve OECD ülkelerindeki oranlara göre çok düşük olmasının kabul edilemeyeceği ve bir an önce buradaki oranların AB ve OECD oranlarına çekilmesi için ilgililerin her türlü çözümü ve önlemi alması gerektiği sonucu çıkıyor.

Türk Telekom özelleştirilirken Kablo TV alt yapı şebekesinin mevcut Türk Telekom şebekesine alternatif olması özelleşmenin en temel şartı olarak kabul edilmiş ve Kablo TV şebekesi Türk Telekom’dan ayrılarak Türksat A.Ş’ye bağlanmıştı. Maalesef genişbant erişimde kabloda alınan yol TTNET’e rakabet olamadı ve istenildiği kadar büyüyemedi. TTNET’in sahip olduğu DSL şebekesine Türksat’ın sahip olduğu kablo şebekesi alternatif olarak ortaya konamadı. Burada ortaya çıkan pozisyon ve durum kablo internet erişim Türkiye’de genişbant pazarının gelişmesine katkıda bulunamıyor.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Balıklı Göl Hikayesi

(Aynzeliha Ve Halil-Ür Rahman Gölleri) Urfa şehir merkezinin güneybatısında yer alan ve
İbrahim Peygamberin ateşe atıldığında düştüğü yer olarak bilinen bu iki göl,
kutsal balıkları ve çevrelerindeki tarihi eserler ile
Urfa’nın en çok ziyaretçi çeken yerleridir. İbrahim Peygamber, devrin zalim hükümdarı
Nemrut ve halkının taptığı putlarla mücadele etmeye, tek tanrı fikrini savunmaya başlayınca, Nemrut tarafından bugünkü kalenin bulunduğu tepeden ateşe atılır. Bu sırada Allah tarafından ateşe “Ey ateş, İbrahim’e karşı serin ve selamet ol” emri verilir. Bu emir üzerine, ateş suya odunlar da balığa dönüşür. Hz. İbrahim bir gül bahçesinin içersine sağ olarak düşer. Hz. İbrahim’in düştüğü yer Halil-ür Rahman gölüdür. Rivayete göre Nemrut’un kızı
Zeliha da İbrahim’e inandığından kendisini onun peşinden ateşe atar. Zeliha’nın düştüğü yerde de Aynzeliha Gölü oluşmuştur. Her iki göldeki balıklar halk tarafından kutsal kabul edilerek yenilmemekte ve korunmaktadır. Eski bir rivayete göre, anadolu toprakları tümü işgal durumuna düşerse bu kutsal baliklar melek asker olup kurtuluş savaşlara katılacak deniliyor. Kutsal balıklara’da
askerbalık deniliyor.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Bind DNS kurulumu

BIND Nedir?
BIND bir dns sunucusu yani unix ve linux sistemler üzerinde dns servis hizmetini veren başarılıbir daemondur. Kısacasıen popüler DNS sunucu yazılımı BIND’dir. Bu dökümanda bind’i nasıl kuracağınızıve ayarlayacağınızıanlatacağım.
BIND Kurulumu:
BIND’in kurulumu oldukça kolay ve pratiktir. Çoğu linux ve unix sürümleri ile birlikte gelir.Öncelikle BIND’in en güncel versiyonunu web sitesinden çekelim ve sonra kaynak koddan derleyerek kuralım.
#wget ftp://ftp.isc.org/isc/bind9/9.2.3/bind-9.2.3.tar.gz
#./configure
#make
komutları ile birlikte dns ve named sunucu olarak sisteminize BIND kurulmuşolacaktır.

BIND Komutları:
BIND paketi ile birlikte gelen çalıştırma betiklerini kısaca öğrenelim.
#named start – BIND servislerini başlatır.
#named stop – BIND servislerini durdurur.
#named restart – BIND servislerini durdurup tekrar başlatır.
#named reload – BIND servisi durmaksızın yaptığınız konfigurasyon değişikliklerini uygular.

BIND Ayar Dosyaları:
BIND servisi basit .conf dosyalarıile çalışır ve bu nedenle (conf dosyalarıbiraz karışık olsa da) yapılandırmak ve ayarlamak oldukça kolaydır. Öncelikle ayar dosyalarınıtanıyalım;
/etc/named.conf – BIND Servisi temel konfigurasyon dosyası.
/etc/named.custom – Özel ayarlar için kullanılan dosya.
/var/named/ – Zone (alan) kayıtlarının tutulacağı dizindir.

BIND Ayarları:
BIND servisi komutlarınıve genel ayar dosyalarıile dizinlerini tanıdık. Şimdi BIND servislerini nasıl ayarlayacağımızıve çalıştıracağımızı öğrenelim.
Şimdi küçük bir örnek ile BIND’in nasıl çalıştığınıanlayalım. Diyelim ki elimizde www.tapsin.net diye bir domain var ve bu domainin NS kayıtlarıns1.tapsin.net ile ns2.tapsin.net sunucularına yönlendirilmiş olsun. Sunucumuzun ip adresi 213.142.129.73 ve mail MX kayıtlarıise 213.142.129.73’dir.
BIND sunucumuzu bu örneğe göre ayarlıyoruz;
Adım 1: Bu adımda /etc/named.conf dosyamızda zone ayarlarınıyapacağız.
Adım 2: .zone dosyamızı/var/named dizini altında oluşturup gerekli bilgileri dosyamıza ekleyeceğiz.
Adım 3: /etc/named.conf dosyamızda resolve dns kayıtlarınıyapacağız.
Adım 4: /var/named/ klasörü altında resolve ayar dosyalarımızıoluşturacağız.
Adım 5: Son adım olarak BIND’i

Şimdi uygulamaya geçelim;
Adım 1:
Öncelikle /etc dizini altında bulunan named.conf ayar dosyamızı herhangi bir editor ile açıyoruz. Ben genelde vi veya vim editörlerini kullanıyorum ama siz emacs kullanabilirsiniz, tavsiye ederim.
#vi /etc/named.conf
Burada ilk olarak default kurulum ile gelen genel ayarları göreceksiniz. Biz bu default ayarlarısilip kendi ayarlarımızıkaydedeceğiz.
options { directory “/var/named”; query-source port 53; forwarders {212.156.4.6;}; };
zone “tapsin.net” IN {type master; file “tapsin.net.zone”; };

Ayar dosyamızıbu şekilde kaydedip çıktıktan sonra buradaki yazdığımız satırları kısaca tanıyalım.
Options: Bir DNS kaydı girildiğini ve temel yapılandırma dosyasının başladığını belirtir.
Directory: Burada girdiğimiz domain kaydının zone ayar dosyasını nerede tutacağımızı belirtir.
Query-source port: DNS sunucunun hangi tcp portundan yayın yapacağını belirtir. Mutlaka 53 olmalıdır.
Forwarders: Bu satır ise çözümlenemeyen bir alan isminin başka hangi DNS sunucusundan cache edileceğini belirtir. Biz burada NAP’ın ip adresini kullandık. Eğer sunucu ağınız içerisinde ikinci bir DNS sunucu varsa buraya o named sunucunun ip adresini girebilirsiniz. Bir diğer adı ile named networking yapısını tanımlayan satırdır.
Zone: Bu satır ise hangi domain adresinin hangi ayar dosyasında kaydının yapılacağını belirtir. Buradaki bazı tanımlamalarıda açıklayalım;
IN: Bu tanım domain kaydının internetten ulaşılabileceğini tanımlar.
Type master: /var/named dizini altında oluşturacağımız zone ayar dosyasının tipini belirliyoruz.
File: Bu tanımlama ile domain’in ayar dosyasının hangisi olduğunu gösteriyoruz.
Adım 2:
İlk adımda BIND servisimizin temel ayar dosyasını yapılandırdık. Şimdiyse domain kaydımız için ayar dosyasını yapılandıracağız. Öncelikle /var/named dizini altında tapsin.net.zone diye bir dosya oluşturacağız ve domainimiz için gerekli ayarları yapacağız.
#touch /var/named/tapsin.net.zone
#vi /var/named/tapsin.net.zone
komutları ile gerekli domain ayar dosyamızı/var/named dizini altında oluşturuyoruz. Şimdi ayar dosyamızı yapılandıralım;
$TTL 86000
@ IN SOA ns1.tapsin.net. ns2.tapsin.net. (
2004001 ; Seri Numarası
10800 ; Yenileme Süresi 3 Saat
3600 ; Tekrar Süresi 1 Saat
31536000 ; Kaydın Geçersiz Kılınma Süresi 1 Yıl
86400 ; Devralınma Süresi 24 Saat
);

@ IN NS ns1.tapsin.net.
@ IN MX 10 mail.tapsin.net.
www A 213.142.129.73
mail A 213.142.129.74
ftp A 213.142.129.73

dosyamızı bu şekilde kaydedip çıkalım. Şimdi sırasıile ayar dosyamızdaki betikleri öğrenelim.
TTL 86400: Buradaki TTL’nin açılımıTime To Live’dir. Domain kaydının yaşam süresini belirtir. Domain için yaptığınız güncelleme ve ayarların kaç dakikada devreye gireceğini dakika cinsinden belirtilir.
@ IN SOA: Bu satırda ise “@IN” değeri DNS kaydının internet üzerinden yayın yapacağınıbelirtmektedir. SOA ise ns kayıtlarının veritabanına işleteceğini belirtir.
@ MX: Bu değer kaydedilen domainin mail kayıtlarınıbelirlemek için kullanılır.
@ IN NS: Bu satır ile nameserver kayıtlarımızıbelirtiyoruz.

Adım 3:
Bu adımda ise named.conf dosyamızıtekrar açarak resolve dns kayıtlarınıgireceğiz.
#vi /etc/named.conf
options {
directory “/var/named”;
query-soruce port 53;
forwarders {212.156.4.6;};
};
zone “tapsin.net” IN {type master; file “tapsin.net.zone”; };

Hemen bu satırların altına,
zone “73.129.142.213.in-addr.arpa” IN {type master; file “213.142.129.73”; };
satırınıekliyoruz. Burada eklediğimiz satırda dikkat edilmesi gereken domainimizin IP adresinin tersten zone kaydı girilmişolmasıdır. Yani 213.142.129.73 ip adresinin tersi 73.129.142.213 ‘dir.

Adım 4:
BIND için ayar dosyamızıve domain kaydımız için gerekli zone dosyamızı hazırladıktan sonra son olarak resolve dosyamızı hazırlayacağız.
#touch /var/named/213.142.129.73
#vi /var/named/213.142.129.73
$TTL 86400
@ IN SOA ns1.tapsin.net. root.ns1.tapsin.net. (
300413001 ; Serial
1H ; Refresh
1H ; Retry
1W ; Expire
1D ) ; Minimum
@ IN NS ns1.tapsin.net.
88 IN PTR www.tapsin.net.
89 IN PTR mail.tapsin.net.

Son olarak resolve dns kaydımızıda yaptıktan sonra artık web ve mail sunucumuz kullanıma hazırdır. Tüm bu adımlardan sonra BIND sunucumuzu restart etmemiz gerekecektir. Bunun sonrasında domain ve mail sunucumuza belirttiğimiz ip adreslerinden ulaşıldığıgibi domain isimlerinden de ulaşılabilecektir.

DNS Kayıtları:
A: Adres kaydıdır. İsme karşılık gelen 32 bitlik IP numaras tanımlanır.
Örnek: tapsin.tapsin.net. IN A ***.***.***.**

CNAME: Takma ad kaydıdır. Takma ad tanımlanır.
Örnek: sunucu.tapsin.net. IN CNAME tapsin.tapsin.net.

HINFO: Bilgi kaydıdır, işlemci işletim sistemi tanımlanır.
Örnek: tapsin.tapsin.net. IN HINFO Debian\GNU Linux

MD: Kullanımdan kalkmıştır. Yerine MX kaydıkullanılır.

MF: Kullanımdan kalkmıştır. Yerine MX kaydıkullanılır.

MX: Posta sunucu kaydı. Alan adıiçin ilgili posta sunucusunu tanımlar.
Örnek: tapsin.net. IN MX 10 mail.tapsin.net.

NS: Alan adısunucu kaydı. Alan için alan adısunucularınıtanımlar.
Örnek: tapsin.net. IN NS tapsin.tapsin.net

PTR: İşaret kaydı. Ters tanımlamada ismi tanımlar.
Örnek: 73.129.142.213.in-addr.arpa IN PTR tapsin.tapsin.net..

SOA: Sunucunun genel özelliklerini tanımlayan kayıttır. Seri No, yenileme, tekrar, süre ve TTL değerlerini alır.
Örnek:
tapsin.net. IN SOA dns.tapsin.net. root.tapsin.net. (
2000042401 ; Serino
28800 ; Yenileme
14400 ; Tekrar
3600000 ; Süre
86400 ) ; TTL
TXT: Bilgi kaydı. Kayıt hakkında bilgiyi tanımlar.
Örnek: tapsin.net. IN TXT “tapsin Karatas Kisisel Web Sitesi”
WKS: Servis kaydı. Çalışan servisleri tanımlar.
Örnek: dns.tapsin.net. IN WKS TCP (ftp, ssh, telnet, smtp)

Belge Hakkında:
Bu belge Sercan TAPŞIN (tapsin@tapsin.net) tarafından hazırlanmıştır. Yazar ismi belirtilerek istenildiği gibi kullanılabilir. Hataları lütfen bize mail ile bildiriniz.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Webmin Kurulumu

Daha önce paylaşmış olduğum CentOS üzerinde Apache, PHP ve MySQL kurulum ve güncellemeleri (LAMP) isimli makelemin devamı olarak bu makaleyi görebilirsiniz. Her ne kadar sunucularımda Webmin kullanmayalı çok uzun zaman olmuş olsada, çoğu kişinin sunucularını yönetmek için kullanıcı arayüzlerine ihtiyaç duyduklarını biliyorum. Kurulum adımlarına geçmeden önce sizlere biraz Webminden bahsetmek istiyorum, hemen arkasından kurulum adımlarına geçebiliriz.

Webmin nedir?

Webmin, web tabanlı sunucu yönetim panelidir. İhtiyacınız olan hemen hemen herşeyi Webmin üzerinden gerçekleştirebilirsiniz. Servis/Paket yönetimleri bu işlemlere dahildir ve kolay kullanıcı arayüzü ile çalışmak size hem zaman hemde kolaylık sağlayacaktır.
Webmin’in tercih edilme sebeplerinin en başında ücretsiz olması gelmektedir. Elbette ücretli rakipleri karşısında eksikleri mevcuttur ancak ücretsiz olması benim gözümde bu açığı kapatmaktadır.

CentOS üzerine Webmin kurulum adımları

Aslında kurulum adımları Webmin’in ilgili web sayfasında yer almaktadır ancak Türkçe kaynak olması adına burada da bulunmasının bir sakıncası yoktur diye düşünüyorum.
Öncelikle şunu belirtmek isterim ki Webmin kurulumunu gerçekleştirebilmeniz için gerekli olan paket Perl paketidir. Webmin kurulumunu gerçekleştirebilmek için LAMP kurulumuna ihtiyacınız yoktur.
Ufak bilgilendirmelerimide yaptıktan sonra artık Webmin kurulum adımlarına geçebilirim.
Komut satırından öncelikle aşağıda bulunan komutu çalıştırarak bugün itibari ile en güncel webmin sürümünü edinelim.

wget http://prdownloads.sourceforge.net/webadmin/webmin-1.570-1.noarch.rpm

www.webmin.com dan güncel dosyayı alınız.

daha sonra aşağıda bulunan kodu çalıştırarak Webmin kurulumunu gerçekleştirelim.

rpm -i webmin-1.570-1.noarch.rpm

Güncel dosyanın adını yazınız.

Kurulum işlemi tamamlandıktan sonra Webmin panelinize 10000. porttan ulaşabilirsiniz. Yani domainadınız.uzantısı:10000 gibi, Foxy UP sunucusunda webmin kullanıyor olsaydım Webmin paneline tapsin.net:10000 şeklinde giriş gerçekleştirebilecektim.

Konu hakkında soru ve sorunlarınızı bana yorum bölümünden bildirebilirsiniz, elimden geldiğince hızlı cevap vermeye çalışıyorum.

Facebooktwittergoogle_plusredditpinterestlinkedinmail