Etiket arşivi: dns server

Linux Hosting Server Kurulumu

Yeni hizmete girecek sunucularım da panel kullanmıyorum. Panel çok müşterisi olanlar için veya kurumsal olarak yapan firmalar için ideal olabilir. Ancak kendi sunucum da yönetemediğim ve ekstra ücret vereceğim yazılımları kullanmak pek cazip gelmiyor. Sorun kısmında da normal çıkabilecek sorunlar üzerine birde panelin güvenlik açığı ve sorunları ile iş yükü olduğunu düşünüyorum.
İşletim Sistemi : Debian. Kiraladığım sunucuya 64bit debian’ı minimum kurulum yapılmış istedim. Yani sunucu üzerinde ssh sunucu haricinde bir servis yüklü olmadan teslim aldım.
Kullanılacak yazılımlar: Apache2, Php5, Mysql 5.1, Ftp sunucu olarak Vsftpd, Dns sunucu için DjbDns kullanacağım. Mail sunucu olarak google ve yandex alt yapılarını kullanacağım için herhangi bir mail sunucu kurmuyorum. Sistem üzerinde localhostu dinleyen postfix kurulu geliyor. Bazı uygulamalarda lazım olur diye kenarda durmasında problem yok.
Kurulumlar
Apache, php ve mysql ve vsftpd kurulumları aşağıdaki tek yükleme komutu ile yaptım. Bu kurulum sırasında mysql sunucu için root kullanıcısına verilecek şifreyi soracak o kadar.
apt-get install apache2 libapache2-mod-php5 php5 php-pear php5-mysql php5-gd php5-curl php5-mcrypt php5-ffmpeg php-soap php-pear php-mail php5-imagick php-auth php-auth-http php-auth-sasl mysql-server vsftpd
apt-get install ucspi-tcp daemontools daemontools-run
wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
gunzip djbdns-1.05.tar
tar -xf djbdns-1.05.tar
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
make
make setup check
Kurulumlarımız tamamlanmış oluyor. Şimdi ayarları yapmaya başlayalım. Tinydns domain sorgularına cevap verecek. Bunun için kullanıcı oluşturuyoruz servisi çalıştıralım diye. kendi kullanıcı ile calistigi icin ve shell hakkı olmadığı için hacklenme durumunda dahi sunucuda işlem yapamaz saldırgan.
/usr/sbin/useradd -s /bin/false tinydns
/usr/sbin/useradd -s /bin/false dnslog
netstat -tulpa | grep domain
lsof -i | grep domain
Şimdi dns tanımlamalarını yapabiliriz. Yandex Mail yönlendirmeleri olan domainler için aşağıdaki gibi ek yapılır.
cd /etc/tinydns/root
mcedit data
####  linuxuzmani.com ####
.linuxuzmani.com:172.16.0.10:a:259200
.0.16.172.in-addr.arpa:172.16.0.10:a:259200
.linuxuzmani.com:172.16.0.11:a:259200
.0.16.172.in-addr.arpa:172.16.0.11:a:259200
=linuxuzmani.com:172.16.0.10:86400
+www.linuxuzmani.com:172.16.0.10:86400
+ns1.linuxuzmani.com:172.16.0.10:86400
=ns2.linuxuzmani.com:172.16.0.11:86400
@linuxuzmani.com::mx.yandex.net.:10:86400
Cmail.linuxuzmani.com:domain.mail.yandex.net:86400
kaydedip çıkıyoruz ve akabinde devreye alıyoruz ayarları.
make
ikinci bir domainin tanımlarını dosyanın altına ekleyerek devam ediyoruz ve make ile tekrar uyguluyoruz.
#### linuxuzmani.net  ####
.linuxuzmani.net::ns1.linuxuzmani.com
.linuxuzmani.net::ns2.linuxuzmani.com
=linuxuzmani.net:172.16.0.10:86400
+www.linuxuzmani.net:172.16.0.10:86400
@linuxuzmani.net::aspmx.l.google.com.:1:3600
@linuxuzmani.net::alt1.aspmx.l.google.com.:5:3600
@linuxuzmani.net::alt2.aspmx.l.google.com.:5:3600
Cmail.linuxuzmani.net:ghs.google.com:9800
Djbdns ayarı için bir proje sayfası var. Kolaylık oluyor.
Apache ayarlarına geçebiliriz.
 useradd -d /var/www/hosting/ftpuser -g www-data -s /usr/sbin/nologin ftpuser
passwd ftpuser
Centos User Ekleme
useradd -d /var/www/salih -g apache -s /sbin/nologin salih
** Devamı gelecektir. Sürekli güncelleme yapılacaktır. Zaman ayırabildiğim durumlarda.

Linux Web Sunucu Kurulumu

En uygun ve sorunsuz vps satan firmalardan biri DigitalOcean bana göre. Buradan Droplet (Damla) olarak adlandırılan sanal sunucular kiralayabiliyorsunuz ve fiyatları uygun. Sanal sunucu kiralama yaptıktan sonra size Linux sisteme erişim bilgilerini veriyor. IP ve root şifresi ile giriş yaptıktan sonra şifrenizi değiştirmenizi istiyor sistem. 
Sistemi güncelleyelim.
apt-get update
apt-get upgrade
Apache 2.4 , Mysql Server 5.5 ve Php paketleri ile modülleri yüklüyoruz. 
apt-get install apache2 libapache2-mod-php5 mysql-server php5-mysql php5-dev php5-mcrypt php5-gd php5-cli php5-xcache php5-memcache php5-memcached 
Sistem ilk kurulduğunda mail sunucu gelmiyor üzerinde. Ayrıca bir kaç kullandığım programıda ekliyorum.
apt-get install mc unzip postfix php5-curl whois
Bind Dns sunucumuzu ve araçlarınıda kuruyoruz.
apt-get install bind9 bind9 bind9utils bind9-doc

Vsftpd Ftp Sunucu kurulumunu yapalım.
apt-get install vsftpd
Sunucumuza kurulumlarımız tamam. Servislerin ayarlamalarla ilgili aşağıdaki linkleri takip edebilirsiniz.

Bind Dns Sunucu Kurulumu ve Ayarları

Linux üzerinde djbdns kurulumunu daha çok sevmeme rağmen kurulumdaki adımlarından dolayı Bind kurmak ve ayarlamak daha kolay geliyor. Bind her linux dağıtımında bulunmaktadır. Biz yine ubuntu için kurulum yapıyoruz. Ancak diğer dağıtımalrda kurulum komutu bind9 dedinizmi genelde gelir. Ayaları hepsinde aynıdır. Bind yazılımı ile birlikte dns sorgulama araçları vs birlikte kuruyorum.
Bind kurulumunda alan adına ve sunucunun ip adresine göre kurulum yapılır. Ben burada aşağıdaki bilgileri kullanıcam. 
Alan Adı (Domain) = Linuxuzmani.net
IP olarak                = 74.125.136.121
apt-get install bind9 bind9 bind9utils bind9-doc
Alan Adlarının Veritabanı Ayarları
İlk olarak alan adımıza ait bilgilerin tutulacağı ayar dosyasının yolunu göstereceğiz. Bunun için bind sunucunun named.conf.local dosyasına aşağıdaki ayarları ekleyeceğiz. PTR kaydı için genelde sunucu panellerinden ayarlanır. Ancak biz yinede ekleyelim. Burada Ip adresini son kısmı olmadan sağdan sola okunarak yazılır. Son kısımdaki rakamı daha sonra o ayar dosyasının içine girerizki sorgulamada değeri döndürsün. Bu bir  sefer ayarlanır. Onun için fazla takılmayın.
mcedit /etc/bind/named.conf.local
#bu ayarı her alan adı için yapacağız
zone “mekaniker.com” {
    type master;
    file “/etc/bind/zones/db.linuxuzmani.net”;
};
#aşağıdaki ayar bir kere oluyor. 
#Ip Adresimiz 74.125.136.121
zone “136.125.74.in-addr.arpa” {
    type master;
    file “/etc/bind/zones/db.136.125.74”;
};
Alan Adına Ait Tanımlama Dosya Ayarları

Önceki ayardaki Zones (Bölgeler) klasörünü oluşturuyoruz.
mkdir -p /etc/bind/zones
Şimdide alan adımıza ait dosyamızı oluşturuyoruz. Burada satır sonlarındaki . (nokta) işaretlerine dikkat ediniz. Eğer eklemezseniz ayarlarınız geçerli olmaz.
cd /etc/bind/zones
mcedit db.linuxuzmani.net
;
; BIND data file for local loopback interface
;
$TTL    14400
@       IN      SOA     ns1.linuxuzmani.net. admin.linuxuzmani.net. (
                             2014082001         ; Serial
                             3600         ; Refresh
                             600         ; Retry
                             2419200         ; Expire
                             84600 )        ; Negative Cache TTL
;
linuxuzmani.net.  IN      NS      ns1.linuxuzmani.net.
linuxuzmani.net.  IN      NS      ns2.linuxuzmani.net.
@              IN      A       74.125.136.121
s1              IN      A       74.125.136.121
ns1            IN      A       74.125.136.121
ns2            IN      A       74.125.136.121
www          IN      A       74.125.136.121
;Mail Sunucu kendi üzerimizde ise aşağıdaki gibi girmelisiniz. 
;SPF kaydıda hazırlandığından spama düşme ihtimallerinden biri elenmiş olur.
;Eğer Gmail veya Yandex üzerinde tutacaksanız aşağıdaki değerleri silip yerine Google ve Yandex diye adlandırılan diğer paragrafları kullanın.
mail          IN      A       74.125.136.121
@              IN     MX    5 mail.linuxuzmani.net.
@    3600  IN    TXT   “v=spf1  74.125.136.121 a mx ~all”
mail          IN TXT “v=spf1 a -all”
; Email hizmetini google üzerinde tutarsanız aşağıdaki ayarları ekleyebilirsiniz.
; Goolgle için MX Kayıtları
@    3600    IN    MX    1      ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    5      ALT1.ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    5      ALT2.ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    10    ASPMX2.GOOGLEMAIL.COM.
@    3600    IN    MX    10    ASPMX3.GOOGLEMAIL.COM.
@    3600    IN    TXT   “v=spf1 include:_spf.google.com ~all”
mail            3600    IN    CNAME    ghs.google.com.


; Email hizmetini yandex üzerinde tutarsanız aşağıdaki ayarları ekleyebilirsiniz.
; Yandex için MX Kayıtları
linuxuzmani.net 3600      MX         10   mx.yandex.net.
linuxuzmani.net 3600      TXT        “v=spf1 redirect=_spf.yandex.net”
mail                    3600     CNAME    domain.mail.yandex.net.
PTR Kaydı için Tanımlama Dosyası Ayarı
mcedit /etc/bind/zones/db.136.125.74
;
; BIND reverse data file for local loopback interface
;
$TTL    14400
@       IN      SOA     linuxuzmani.net. admin.linuxuzmani.net. (
                                     5         ; Serial
                           604800         ; Refresh
                             86400         ; Retry
                         2419200         ; Expire
                           604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.linuxuzmani.net.
@       IN      NS      ns2.linuxuzmani.net.
74      IN      PTR     www.linuxuzmani.net.
Bütün ayarlar tamam. Bunların aktif olması için servisimizi yeniden başlatıyoruz.
/etc/init.d/bind restart
Dns Test İşlemleri
dig @8.8.8.8 +short NS linuxuzmani.net
ns2.linuxuzmani.net.
ns1.linuxuzmani.net.

dig linuxuzmani.net  MX +noall +answer
; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxuzmani.net MX +noall +answer
;; global options: +cmd
linuxuzmani.net.        21599   IN      MX      10 mx.yandex.net.
dig -x 74.125.136.121 +short
www.linuxuzmani.net