PowerShell İle IIS ve DNS Kurulum İle Yapılanması
Daha önceki makalemizde Windows sunucumuza OpenSSH kurulumu yapıp uzaktan Powershell ile erişim sağlamıştık. Makalede PowerShell üzerinden masaüstüne bağlanmadan istediğimiz işlemleri yapabileceğimizi yazmıştım. Bu makalede de masaüstüne bağlanmadan powershell üzerinden Web Server (IIS) kurulumunu ve DNS yapısını nasıl yapabileceğimizi anlatacağım.
Kurulum
SSH ile sunucumuza erişim sağlayalım. SSH panelden PowerShell diyerek PowerShell açalım.
Kurulum baya basit.
IIS ile ilgili paketleri listelemek için
Get-WindowsFeature Web*
IIS ile ilgili hangi paketleri kurmak istiyorsanız listeden bakıp kurmak istediğiniz paketleri yazmanız gerekiyor. Örnek:
Add-WindowsFeature Web-Server, ASP, Ftp Service
Kurmak istediğiniz paketleri tek tek yazıp virgül ile ayırınız. IIS ile ilgili tüm paketleri kurmak için komut satırına şunu yazmanız yeterli.
Add-WindowsFeature Web-Server -IncludeAllSubFeature
Kurulum başladı ve bitti. Servislere bakalım tümünü kurmuş mu?
Get-WindowsFeature Web*
Paketlerin hepsi kurulmuş.
Şimdi iis wwwroot dizinine gidelim
cd c:\inetpub\wwwroot
Dizine eriştik. Kurulumla gelen standart dosyalar gelmiş. Şimdi bir index.html dosyası oluşturalım.
Dosya oluşturmak için aşağıdaki komutları kullanabilirsiniz.
$exampleFile = @”
<p>Bu sayfa powershell uzerinden olusturuldu</p>
“@
$exampleFile | Out-File .\index.html
Dosyamızı da oluşturduk. Şimdi bir web browser ile sunucumuza erişmeye çalışalım.
Gördüğünüz gibi web sunucumuz aktif şekilde çalışıyor. Uzak Masaüstü bağlantısı sağlayıp kontrol edelim birde.
Server Manager açtığımızda IIS sekmesini görmemiz gerekiyor. IIS sekmesine girip aşağı doğru indiğimizde Roles and Features bölümünde kurulu olan özellikleri göreceksiniz.
PowerShell Üzerinden IIS Yeni Web Sitesi Ekleme
PowerShell üzerinden IIS kurulumunu gerçekleştirdik. Şimdi de bir web sitesi ekleyelim. Tekrar ssh üzerinden PowerShell erişelim. IIS açmak için sırasıyla komutları giriniz.
Set-ExecutionPolicy unrestricted –force
Import-Module WebAdministration
Set-Location IIS:\Get-Website
Get-Website diyerek hangi siteler olduğuna da bakmış olduk. Bir diğer listeleme yolu da:
ls
cd
sites
ls
Sadece default olarak bir ilk kurulumla gelen site var. Şimdi ZulfuMehmet adında hostname olarak www.zulfumehmet.tk diye bir site ekleyelim.
New-Item iis:\Sites\ZulfuMehmet -bindings @{protocol=”http”;bindingInformation=”:80:www.zulfumehmet.tk”} -physicalPath c:\inetpub\wwwroot
Masaüstünden IIS yönetim konsolu üzerinden baktığımızda sitenin eklendiğini göreceksiniz. Şimdide zulfumehmet.tk diye bir domain ekleyelim oluşturduğumuz siteye.
New-WebBinding -Name “ZulfuMehmet” -IPAddress “*” -Port 80 -HostHeader “zulfumehmet.tk”
Sitelere listeleyelim.
Get-Website
Buraya kadar PowerShell aracılığı ile IIS kurulumu yaptık ve ZulfuMehmet diye web sitesi ekledik. IIS ile işlemlerimiz bitti. Domain adresimizi sunucumuza eşleştirmek için şimdide DNS kurulumuna geçelim.
PowerShell ile DNS Kurulumu ve Yapılanması
DNS nedir, Domain Name Server kısaltmasıdır. Host isimlerini ip yönlendirmemize yarayan bir sistemdir. DNS olmadan ip adresi ile sitelerimize ulaşabiliriz. DNS de isimleri çözümleyip isimle sitemize erişmemizi sağlayan sistemdir.
PowerShell komut setini SSH üzerinden açıp DNS rolünü ekleyelim.
Install-WindowsFeature DNS -IncludeManagementTools
DNS server’ ı sunucumuza kurduk şimdide zulfumehmet.tk domainin ekleyelim.
Add-DnsServerPrimaryZone -Name “zulfumehmet.tk” -ZoneFile “zulfumehmet.tk.dns”
Bakalım domainimiz kaydolmuş mu?
Get-DnsServerZone
Masaüstü bağlantısı sağladığımızda da listede domain adresimizin eklendiğini görüyoruz. Domain adresimizi tanımladık. Şimdi, A, Cname, MX, NS kayıtlarını ekleyelim.
A Kaydı
DNS sunucumuzda bulunan network aygıtlarının isimlerini ve IPv4 adresleri ile tutar. Eğer IPv6 kullanıyorsanız AAAA Kaydı oluşturmanız gerekiyor. Çünkü AAAA IPv6 kayıtları ile tutar.
Add-DnsServerResourceRecordA -Name “@” -ZoneName “zulfumehmet.tk” -AllowUpdateAny -IPv4Address “sunucu-ip-adres” -TimeToLive 01:00:00
Birtanede A isiminde kaydı oluşturalım. Cname, mx yönlendirmeleri için. Oluşturmazsanız Hat ve mx yönlendirmelerinde site adını yazmanız yeterli örnek zulfumehmet.tk
Add-DnsServerResourceRecordA -Name “a” -ZoneName “zulfumehmet.tk” -AllowUpdateAny -IPv4Address “sunucu-ip-adres” -TimeToLive 01:00:00
Cname Kaydı
A ve AAAA kayıtlarımızı farklı isim altında çözümlenmesini sağlar.
Add-DnsServerResourceRecordCName -Name “www” -HostNameAlias “a.zulfumehmet.tk” -ZoneName “zulfumehmet.tk”
MX Kaydı
Mail sunucumuzun ip kaydını tutar.
Add-DnsServerResourceRecordMX -Preference 10 -Name “.” -TimeToLive 01:00:00 -MailExchange “a.zulfumehmet.tk” -ZoneName “zulfumehmet.tk”
NS Kaydı
Bir DNSZone nin DNS kayıtlarının tutulduğu sunucunun ip adresi tutar.
Add-DnsServerResourceRecord -ZoneName “zulfumehmet.tk” -NS -Name “@” -NameServer ns1.zulfumehmet.tk -PassThruAdd-DnsServerResourceRecord -ZoneName “zulfumehmet.tk” -NS -Name “@” -NameServer ns2.zulfumehmet.tk -PassThru
Yaptığımız Kayıtları Listeleyelim
Get-DnsServerResourceRecord -ZoneName zulfumehmet.tk
Yaptığımız tüm kayıtlar listelendi. Şimdi DNS serveri resetleyelim. Yaptığımız değişiklikler kaydolsun.
Restart-Service DNS
Domain panelinizden NameServer iplerini sunucunuza yönlendirdiyseniz bir web browser ile domain ile sunucunuza erişmeye çalışalım. Domain yönlendirmesi uzun sürebilir. (24 saat kadar)
Kurulumumuz ve yapılanmamız bitti. Bir dahaki makalede de PowerShell üzerinden FTP protokolünün çalıştırıp nasıl erişim sağlayabileceğimize değineceğim.
Kolay gelsin.