Bugün sizlere PowerShell ile IIS’in nasıl kurulacağını ve nasıl Web Sitesi oluşturabilirsiniz onu anlatacağız. Çok uzatmadan başlayalım!
IIS Bugünki konumuz. Bu yazımızda PowerShell script’i ile IIS’in kurulumu ve site oluşturma adımlarını anlatıyor olacağız. PowerShell üzerinden Get-WindowsFeature komutunu çalıştırdığımızda Rol, Feature listesini ve durumları hakkında bilgileri getirir, ayrıca kurulum yaparken kuracağımız Rol ve Feature isimlerini de görmüş oluruz.
Get-WindowsFeature komutunu çalıştırıp Rol ve Feature bilgilerini aldıktan sonra kuruluma başlayabiliriz.
Write-Output “IIS’in Kurulumuna basladi”
Install-WindowsFeature –Name Web–Server –IncludeManagementTools Komutunu çalıştırıp kurulumunu başlatıyoruz, ancak IIS’le birlikte Feature’ları da aktif edecekseniz aşağıdaki gibi çalıştırabilirsiniz.
IIS’i Yükleme
Start-Sleep -Seconds 3
Write-Output “IIS’in Kurulumuna basladi”
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
#IIS’in Bileşenlerini Yükler
1. Add-WindowsFeature Web-Http-Redirect
2. Add-WindowsFeature Web-Request-Monitor
3. Add-WindowsFeature Web-Asp-Net
4. Add-WindowsFeature Web-ASP-Net45
5. Add-WindowsFeature Web-ASP
6. Add-WindowsFeature Web-Scripting-Tools
Write-Output “IIS’in Kurulumu tamamlandi”
IIS’in üzerinde çalıştıracağımız yazılım için gerekli bileşenlerin kurulumunu yapıyoruz, yalnız sizin kurmak istediğiniz farklı bir bileşen var ise ilgili bileşenleri Add-WindowsFeature Bileşen Adı komutu ile kurulumlarınızı yapabilirsiniz.
Write-Output parametresini istediğiniz komuttan sonra kullanabilirsiniz. Bununla birlikte PowerShell tarafında boş ekrana bakmamak için hangi aşamada olduğunuzu belirten açıklamalar yazdırabilirsiniz. Yalnız belirtmek isteriz ki, Türkçe karakter kullanmadık çünkü CMD ekranında Türkçe karakterler görüntülenmeyecektir.
Start-Sleep -Seconds 3 Burada yukarıdaki işlem bittikten 3 saniye sonra aşağıdaki komutları çalıştıracaktır bunu eklemenize gerek yok ancak hangi aşamada olduğunuzu adım adım görmenizi sağlayacaktır.
Restart-Service -Name W3SVC
Write-Output “IIS Restart edildi”
IIS’i ve gerekli olan bileşenleri kurduktan sonra restart ediyoruz.
Default Web Site silme
Start-Sleep -Seconds 3
Remove-Website -Name “Default Web Site”
Remove-WebAppPool -Name “DefaultAppPool”
Write-Output “Default Web Site Silindi”
Kurulumdan sonra otomatik gelen Default Web Site ve Applicaton Pool silme işlemini yaparak temiz bir görüntü kazanıyoruz.
IIS’in Default dosyalarını silme
Start-Sleep -Seconds 3
Remove-Item -Path “c:\inetpub\wwwroot\” -Recurse -Force
Bununla birlikte IIS’le birlikte gelen Default dosyasları siler.
Klasör oluşturma
Start-Sleep -Seconds 3
1. New-Item -ItemType Directory -Path “C:\inetpub\wwwroot\msbil.net”
2. New-Item -ItemType Directory -Path “C:\inetpub\wwwroot\idebil.com”
3. New-Item -ItemType Directory -Path “C:\inetpub\wwwroot\monobil.dev”
Write-Output “Klasorler olusturuldu”
Buna göre bu işlemde wwwroot altına belirttiğimiz isimde 3 klasör açacak ve bir sonraki aşama olan aynı anda birden fazla site oluşturma işleminde bu dizinleri kullanıyor olacağız.
Start-Sleep -Seconds 3
New-Item IIS:\AppPools\”msbil.net” -Force
Set-ItemProperty IIS:\AppPools\”msbil.net” managedRuntimeVersion v4.0
New-Item IIS:\Sites\”msbil.net ” -physicalPath “c:\inetpub\wwwroot\msbil.net” -bindings @{protocol=”http”;bindingInformation=”:80:msbil.net”}
Set-ItemProperty IIS:\Sites\”msbil.net” -name applicationPool -value “msbil.net”
Write-Output “msbil.net site olusturuldu”
Start-Sleep -Seconds 3
New-Item IIS:\AppPools\”idebil.com” -Force
Set-ItemProperty IIS:\AppPools\”idebil.com” managedRuntimeVersion v4.0
New-Item IIS:\Sites\”idebil.com” -physicalPath “c:\inetpub\wwwroot\idebil.com ” -bindings @{protocol=”http”;bindingInformation=”:80:idebil.com”}
Set-ItemProperty IIS:\Sites\”idebil.com” -name applicationPool -value “idebil.com”
Write-Output “idebil.com site olusturuldu”
Start-Sleep -Seconds 3
New-Item IIS:\AppPools\”monobil.dev” -Force
Set-ItemProperty IIS:\AppPools\”monobil.dev” managedRuntimeVersion v4.0
New-Item IIS:\Sites\”monobil.dev” -physicalPath “c:\inetpub\wwwroot\monobil.dev” -bindings @{protocol=”http”;bindingInformation=”:80:monobil.dev”}
Set-ItemProperty IIS:\Sites\”monobil.dev” -name applicationPool -value “monobil.dev”
Write-Output “monobil.dev site olusturuldu”
Yalnız sitelerimize kullanacağımız yazılım Hosting Bundle gerektiriyor. Bununla birlikte hosting Bundle indirme ve kurulum işlemini yapıyoruz.
Start-Sleep -Seconds 3
Write-Output “Hosting Bundle 6.0.28 indirme islemi basladi.”
Invoke-WebRequest -Uri https://download.visualstudio.microsoft.com/download/pr/c9277ae6-1bd2-47d6-aa9f-0409791e4a22/ce685479743a5567f43913362237e320/dotnet-hosting-6.0.28-win.exe -OutFile dotnet-hostingbundle-6.0.28-win.exe
Write-Output “Hosting Bundle 6.0.28 kurulum basladi beklemede kal.”
Start-Process -FilePath .\dotnet-hostingbundle-6.0.28-win.exe -ArgumentList ‘/quiet /norestart’ -Wait
Remove-Item .\dotnet-hostingbundle-6.0.28-win.exe
Write-Output “Hosting bundle kuruldu ve setup dosyasi silindi.”
Buna göre bu komutlar ile PowerShell dosyası olarak kaydedip Script dosyası haline getirebilirsiniz.
Yaptığımız işlemleri özetleyecek olursak;
- IIS’in Kurulumu
- Web sitemiz için gerekli olan bileşenlerin kurulumu
- IIS üzerinde Site ve Application Pool oluşturulması
- Hosting Bundle indirme ve kurulumu