Virtualmin Kurulumu
Virtualmin; domain, hosting için website kontrol paneline sahip, bunları oluşturma, yönetme yeteneklerine sahip açık kaynak kodlu webmin temelli bir web sunucu uygulamasıdır.
Öncelikle şuradaki adımları ayarlayarak kendimize bir Cloud VPS kurulumu yapıyoruz. Yada şuradaki bilgilerle evinizdeki bir bilgisayarı sunucuya çevirebilirsiniz.
Eğer açılmamışsa açılması gereken şu portları açmalısınız: (İnternetteki VPSlerde açıktır)
10000 nolu portta açılmalı ki virtualmin kurulumu ile sisteme bağlanılabilsin.
10000 Webmin Standart portu
Yukardaki listede 465 - SMTPS (Email) de açılmalıdır.
NS1 ve NS2 Tanımlamak
Kendi alan adıma NS tanımlayabilir miyim?
Alan adı sahibi isterse kendi alan adını, tanımlanmış olan başka bir alan adının NS adresine yönlendirir, ya da kendi alan adı için NS tanımlar, bu NS’lere sunucu IP’lerini işler ve kendi NS adreslerini kullanır. Genel olarak kullanıcılar Hosting aldıkları firmaların NS adreslerini kullanırlar, yani alan adlarını o adreslere yönlendirirler.
Örnek olarak www.izasoft.com ’dan domain alan kullanıcılar domainlerini ns1.izasoft.com, ns2.izasoft.com adreslerine yönlendirirler. İzasoft firması sunucu veya IP değiştirdiği zaman kendi NS adreslerinin IP’lerini yeniden tanımlar. Dolayısı ile İzasoft’tan hizmet alan alan adı sahiplerinin herhangi bir işlem yapmalarına gerek kalmadan siteleri yeni sunucuda çalışmaya devam eder.
“Kendi alan adıma ait kendi NS adreslerimi nasıl tanımlarım ve bunun faydası, zararı nedir?” diyorsanız; bu sorunuza da kısaca cevap verelim:
www.izasoft.com dan domain ve hosting aldığımızı varsayalım ve www.izasoft.com un NS adresleri ve IP’leri aşağıdaki gibi olsun:
www.izasoft.com - ns1.izasoft.com – 11.11.111.111; ns2.izasoft.com - 11.11.111.111
Siz kendi alan adınızı direk ns1.izasoft.com, ns2.izasoft.com adreslerine yönlendirebilirsiniz. Bu yukarıda bahsettiğim birinci işlem.
Eğer kendi NS’nizi oluşturup alan adınızı kendi NS’nize yönlendirmek istiyorsanız aşağıdaki işlemleri yapmalısınız.
Örnek olarak benim alan adım www.aspdersleri.com olsun;
1. Alan adıma NS tanımlıyorum. Bu işlemi satın aldığım alan adı yönetiminden yapıyorum.
2. NS tanımla dediğim zanam ns1.aspdersleri.com ve ns2.aspdersleri.com arak belirliyorum ve izasoftun NS IP’lerini yazıyorum. Sonuç şu şekilde oluyor:
www.aspdersleri.com - ns1.aspdersleri.com – 11.11.111.111 ve ns2.aspdersleri.com – 11.11.111.111
Bu işlem sonucunda benim de kendi alan adıma ait bir NS adresim var. Artık kendi alan adımı bu NS’lere (ns1.aspdersleri.com , ns2.aspdersleri.com) yönlendirerek sitemin aynı şekilde çalışmasını sağlayabilirim.
Hizmet aldığım firmanın NS adresi IP’leri ile kendi alan adım için oluşturduğum NS adres IP’leri aynı olduğu için sistemin çalışması açısından herhangi bir fark yoktur. Ancak hizmet sahibi yani hosting almış olduğnuz firma herhangi bir sebepten dolayı sunucu veya IP değiştirirse benim de aynı değişikliği yani IP değişikliklerini yapmam gerekecektir.
Domaini satın aldığınız firmanın domain yönetim panelinden sunucunuzun ip adresini aşağıdaki gibi tanımlayın.
Bir ISP veya Yer Sağlayıcı olarak çok fazla müşteri potansiyeliniz var ise 1 adet DNS server yerine 3 ~4 adet DNS server kullanılabilir. Her NameServer 1 adet DNS sunucusunu temsil eder bu DNS sunucularının herhangi bir tanesine problem çıkma olasılığını göz önünde oluştuğu taktirde Client diğer NameServerdaki DNS sunucusuna gider ve Header bilgisine göre DNS kayıdını talep göre DNS sunucusu kayıt karşılığna gelen IP adresini verir ve Client o IP adresine yönlendirilir DNS Sunucusu Portu 53 dür.
Ayrıca nameserver IPleri ile hostunuzun IPlerinin farklı olması ve farklı sunucularda bulunmaları daha sağlıklıdır. Bu yüzden nameserverlara DNS hizmeti veren yerin adresini girmeli, DNS hizmeti veren yerde de kendi sunucunuzun IPsini A ve MX şeklinde kaydetmeli.
İki nameserverda da doğrudan sunucu IPsi girerek kullanılabiliyor fakat bu durumda isim sunucusu ile kendi hostun aynı makina olduğu için hız ve performans kaybı oluşabiliyor.
Mümkünse farklı subnet’lerde olsun. Farklı subnet dediğim birisi ns1.domain.com IP’si 4.2.2.1 ise ns2.domain.com IP’si 8.8.8.8 olsun. Genelde pek mümkün olmuyor öyle olsa bile sunucuda birden fazla IP varsa ikisine farklı IP’ler tanımlayın. Aynı olmamasına dikkat edin.
Sorgulamalara ilk olarak ns1 cevap verir ve istenilen yere ulaşılamazsa ns2 devreye girer.
DNS serveri sunucunuz üzerinde kurduktan sonra aşağıdaki komutla küçük bir test yaparak sunucu ipnizin geri döndürüldüğünden emin olabilirsiniz.
Daha sonra eğer network ayarlarımız statik IP ile olarak konfigüre edilmemişse onları statik hale getirmemiz gerekiyor.
komutu ile network ayarlarımızı açarak kendi IP’lerimize uygun olacak şekilde dosyayı aşağıdaki şekilde düzenliyoruz.
Çift Ethernet kartı var
Sabit IP kullanmanız, modem tarafından DHCP üzerinden atanmamış bir IP adresi olacağından NAT protokülü çalışmayacaktır. Çünkü modem üzerinden alınmayan IP adresine modem Port yönlendirmesi yapmaz.
Network ayarlarımızı da yaptıktan sonra “hostname” için seçtiğimiz adresi sistem genelinde atayalım.
Sunucu adını belirleyin. sunucu.ornek.com bir örnektir. Bu kısmı sizin sunucu adınızla değiştirin.
/etc/hosts dosyasını açarak ilk iki satırı aşağıdaki şekilde değiştiriyoruz.
Eğer sunucunuz bir altdomaine ait değilse
85.23.46.23 sunucu.com
Bundan sonra yapacağımız aşağıdaki işlemle de “hostname” (sunucu ismi diyebiliriz herhalde) için myserver.example.com adresini atayacağız.
Bu işlemden sonra işletim sistemini restart etmeniz gerekiyor.
Makina tekrar açıldığında;
hostname -f;
Komutlarını sırayla çalıştırdığınızda her ikisinden de çıktı olarak myserver.example.com formatında çıktı verdiğini görüyorsanız buraya kadar ki işlemlerimiz başarılı bir şekilde tamamlanmış demektir.
Ayrıca hostname den ip ye şöyle bakabilirsiniz.
Virtualmin Kurulumu
Virtualmin'in ücretli ve ücretsiz 2 versiyonu var.
http://virtualmin.com/compare.html sayfasından Virtualmin Professional ,Virtualmin GPL, cPanel ve Plesk panellerinin karşılaştırmasına bakabilirsiniz.
Virtualadmin kurulumu için sunucumuzda kurulu olması gereken paketleri kuruyoruz
Virtualmini indirin ve sisteminize kurun
Yükleme yapmadan önce mutlaka sistemi güncelleyin, sudo kullanıcısı ile webmini kurun
Kurulum için:
sudo sh ./install.sh
Kurulum Ekran Görüntüleri
En yeni Apache, Postfix, MySQL, PHP, Dovecot, etc. hepsini install.sh yükler...
Kurulumdan sonra ssh bağlantınız engellenebilir, sorunu çözmek için
Bu iptables değeri her sistem yeniden başladığında silinecektir, bunu önlemek için webmin içerisinden ssh portunu ayarlamalısınız. Şuradaki notlar sayesinde SSH Portunuzu sabitleyebilirsiniz.
Virtualmin Giriş Şifresi
Virtualmin is an add-on to Webmin, and by default, Webmin uses the system root user and password for the web interface login. If you log in to your server using an SSH key, you may not have the system root password, or may not feel comfortable using it to log in remotely through a browser. Let's tell Webmin to use a different password for its web interface. This process won't change the system root password; it'll just tell Webmin to use the password you specify for the login.
To change Webmin's root password, use the following command:
Bu işlemden sonra işletim sistemini restart etmeniz gerekiyor.
Sunucu İle İlk Bağlantı
Adres satırına https://sunucuipadresiniz:10000 yazarak Login ekranına bağlanabilirsiniz. Dikkat: Adres satırı https ile başlamazsa bağlantı gerçekleşmeyecektir.
Kullanıcı adı ve şifreniz sunucuyu kurarken kullandığınız kullanıcı adı ve şifre
Virtualmin sistemini check ettiğimizde bizi farklı bir ekran (Post-Installation Wizard) karşılıyor. Bu ekran virtualmin kurulumunun eksik olduğunu anlatmakta...
Bu ekranı adım adım takip ederek sunucumuzu yapılandırmaya devam ediyoruz.
Ne kadar hafıza kullanması gerektiğini belirliyoruz.
40MB'dan az RAM için No (less RAM...) şeçeneğini seçmelisiniz.
Hızlı e-posta sizin için önemli ise ve fazla RAM varsa bu seçeneği etkinleştirmek mantıklı.
Virus taraması için ClamAv yüklensin mi diye soruyor, özellikle çok mail alanlar ve hafıza sorunu olmayanlar için tavsiye ederim.
Spam Filitresi yüklensin mi?
Eğer sisteminiz bir çok domain için ev sahipliği yapacaksa, spam olarak gelen büyük miktarda e-postanın filtrelenmesi önemli bir CPU yükü oluşturabilir. Bu RAM tüketir, fakat CPU yükünü azaltır ve daha hızlı posta işleme işlemi yapar.
Veri tabanı yüklensin mi? Mysql ve PostgreSQL seçeneklerini seçebilirsiniz.
Veri tabanı şifresini sakın boş geçmeyin, güvenlik açığı doğurur.
Mysql Veritabanın büyüklüğü hakkında bir ayar istiyor. Bu duruma göre sistem performası ve Mysql parametreleri ayarlanacak.
DNS Zone ayarları
Primary nameserver kısmına ns1.domainadi.com ve secondary nameservers kısmına ns2.domainadi.com yazılmalıydı. Henüz name serverlar tanımlanmadığı içinde Skip check for seçeneğini seçmeliyiz.
Şifrelerin nasıl saklanacağını belirliyoruz.
Virtualmin, sisteminize başka herhangi bir etki alanıyla eşleşmeyen web isteklerini sunacak varsayılan bir sanal sunucu oluşturabilir.
Ayrıca Virtualmin'in kendi kullanıcı arabirimi tarafından kullanılmak üzere bir Let's Encrypt SSL sertifikası talep etmek için de kullanılabilir.
Eğer Post-Installation srasında aşağıdaki gibi bir mesaj alırsanız bunun nedeni VPS'nizin RAM'inin ClamAV için yeterli olmadığıdır.
ERROR: Can't connect to clamd: No such file or directory
SCAN SUMMARY
Infected files: 0
Time: 0.000 sec (0 m 0 s)
Sonuçta sistemle ilgili bir rapor alıyoruz
Eğer Evinizde bir sunucu kuruyorsanız şöyle bir mesaj alabilirsiniz.
"Virtualmin is configured to setup DNS zones, but this system is not setup to use itself as a DNS server. Either add 127.0.0.1 to the list of DNS servers, or turn off the BIND feature on the module config page."
DNS Client Options Menüsü
Hostname and DNS Client Menüsü
Aşağıdaki komut yardımı ile DNS server tanımlamamızı yapıyoruz
Aşağıdaki gibi bir /etc/resolv.conf dosyanız oluşmuş olmalı:
Veya bu şekilde olmalı
Sadece 127.0.0.1 yeterli olacaktır.
Suncumuzun DNS ayarlarını yaparak hazır hale getirelim.
Eğer Dinamik IP adresi kullanıyorsanız yukardaki ayarların sistemin her açılışında değişmemesi için şu komutu vermelisiniz.
/etc/resolvconf/resolv.conf.d/base dosyası oluşturup içerisine 12.7.0.0.1 yazıyoruz böylece her sistem yeniden başladığında dnsler yerinde kalacaktir
Sol Üst köşedeki Webmin menüsüne tıklıyoruz. Servers Menüsünden "BIND DNS Server" seçeneğini seçiyoruz.
Master Zone Oluşturma
Öncelikle Master Zone tanımlamak zorundayız. Create master zone seçeneğine tıklıyoruz.
Email adresi kısmını boş geçmenize izin verilmeyecektir. mesaj@domainadi.com gibi bir adresinizi girin. Farklı bir NS kaydı olmaması için Master server için ns1.domainadi.com gibi bir isim kullanın veya Add NS record kısmındaki onay kutucuğunu işağretlemeyin. Daha sonra web sayfalarınız bu yüzden açılmayabilir...
Edit Master Zone Sayfamız aşağıdaki gibi olacaktır.
Return to ZoneList ile BIND DNS Server Sayfasına ulaşıyoruz.
Birde REVERSE ZONE tanımlıyoruz. Bunun için yine Create Master Zone'a tıklıyoruz.
Yukardaki kayıdı yaptığımızda Edit Master Zone sayfamız aşağıdaki gibi olacak:
BIND DNS Server Sayfası:
Sayfanın üst sağında duran Apply Configuration seçeneğine tıklıyoruz.
A kayıtlarını oluşturuyoruz
Önce Existing DNS Zones içerisinden domaimizin isminin yer aldığı Master zona tıklarak Edit Master Zone sayfasına geçiyoruz.
Adress menüsüne tıklıyoruz
İlk kayıt için Name değerini boş geçip sadece ip yazıyoruz.
Create dedikten sonra aşağıdaki gibi bir ekrana ulaşıyoruz.
www için bir kayıt oluşturuyoruz
mail için bir kayıt oluşturuyoruz
ftp için bir kayıt oluşturuyoruz
ns1 için bir kayıt oluşturuyoruz
ns2 için bir kayıt oluşturuyoruz
sunucu (sunucuya verdiğiniz isim) isminde bir kayıt oluşturuyoruz.
Aşağıdaki gibi gerekli kayıtları oluşturduktan sonra:
İkinci seçenek olan Return to record types'a tıklıyoruz.
NS Kayıtlarını Oluşturma
Name Server linkine tıklıyoruz.
Yeni ns1 ve ns2 kaydını oluştururken Zone Name ve Name Server adresinin sonuna nokta koymayı unutmayın.
Aşağıdaki örneklerde Zone Name tanımları yapılırken domain adresi sonuna nokta koymayı unutmuşuz... Ama yinede Webmin düzeltti hatamızı.
ns2 kayıdımızı oluşturuyoruz:
En sonunda şöyle bir listeniz olmalı
Return to record types'a tıklıyoruz. Master Zone içindeki ayarlarımıza devam ediyoruz.
Mail Server için MX kayıtlarını Oluşturuyoruz
Mail Server'a tıklıyoruz
Sonlarına nokta koyarak aşağıdaki gibi bir kayıt oluşturuyoruz. Priority değeri 10 olacak.
Return to Record Types'a tıklayarak Master Zone ayarlarımızın olduğu bölüme dönüyoruz.
Sender Permitted From Records Kaydı Oluşturma
Sunucumuzdan giden maillerin spam olarak algılanmaması için bu kaydı oluşturmalısınız.
Sender Permitted Form linkine tıklıyoruz. Aşağıdaki gibi dolduruyoruz.
Aşağıdaki gibi bir kayıt oluşacaktır
BIND DNS Server menüsünde yer alan Existing DNS Zones listesindeki domain adımızı tıkladığımızda Master Zone ayarlarımıza girmiş bulunuyoruz.
Buradaki menüde Edit Records File seçeneğine tıklayarak yukarda yaptğımız kaydı görebiliriz.
Şimdi sayfanın üst sağında duran Apply Configuration ve Apply Zone seçeneğine tıklıyoruz. Yaptığımız ayarların işlem görebilmesi için 72 saat lazım. Bazen bu kayıtlar 1 saat içinde de işlem görebilir hale geliyorlar. Benimki 10dk sürmemişti.
Eğer aşağıdaki gibi bir hata mesajı alıyorsanız şurayı tıklayabilirsiniz.
DNS Kayıtları İçin Varsayılan IP Adresi Tanımı
Eğer sunucunuzu evinizdeki bir ADSL üzerinden yada başka şekillerde kurduysanız, oluşması muhtemel sorunları önlemek için Virtualmin menüsünden System Settings -> Virtualmin Config -> Network Settings altındaki Default IP address for DNS records seçeneğini Automatically detect external address yapmalısınız. Artık virtualmin bu ayarda geldiği için bu işlemi yapmaya gerek kalmadı.
Virtualmin kurulumundan sonra SSH bağlantısı kuramayabilirsiniz. Bunun nedeni virtualmin içerisindeki firewall'a ssh portunuzu belirtmemiş olmanızdır. Şuradaki notlara bakabilirsiniz.
Şuradaki notlara bakarak siteleriniz için host kayıtları ekleyebilirsiniz.
Şuradaki notlara bakarak Virtualmin'i daha güvenli bir sunucu haline getirebilirsiniz.
Şuradaki notlara bakarak Virtualminde karşılaştığınız sorunlara cevap bulabilirsiniz.
Kaynaklar
- http://www.xing.com/net/cem_bilisiminternet/sistem-network-199362/hosting-icin-dns-server-yapilandirmasi-11239329
- http://www.r10.net/site-amp-server-administration/1025324-virtualmin-ucretsiz-sunucu-paneli-3.html
- http://blog.oguzhan.info/?p=651
- http://forum.iyinet.com/webmaster-genel-konular/29630-hangi-name-server-hangi-ipde-2.html
- http://www.delizeka.net/2008/12/11/debian-etch-icin-dns-sunucusu-bind9-kurulumu-ve-ayarlari.html
- http://www.kerimsarigul.com/yazilarim/alan-adi-sistemi-dns-ns-ip-icann-domain-nedir
- https://www.digitalocean.com/community/articles/how-to-install-and-utilize-virtualmin-on-a-vps
- http://aacable.wordpress.com/2012/01/09/using-webmin-to-create-forwardreverse-zone-in-ubuntu/
- http://www.serverpronto.com/kb/page.php?id=Setting+Up+DNS+Using+Webmin
- https://aacable.wordpress.com/2012/01/09/using-webmin-to-create-forwardreverse-zone-in-ubuntu/
- http://www.beer.org.uk/bsacdns/
- http://doxfer.webmin.com/Webmin/BINDDNSServer
- https://www.digitalocean.com/community/tutorials/how-to-install-virtualmin-with-webmin-lamp-bind-and-postfix-on-ubuntu-16-04