search
Categories
Archive
Blogroll

Badges

Microsoft PowerShell MVP
MCSE
Sponsors

VirtualMetric
Cozumpark Bilisim Portali
Posted in Hosting & IIS7, Windows Powershell, Windows Server | No Comment | 1,909 views | 27/02/2010 15:57

You can create default web site directories with a function on Powershell:

Function Create-Directories
{
Param ($LogDir)
 
New-Item "$LogDir" -Type Directory
New-Item "$LogDir\db" -Type Directory
New-Item "$LogDir\http" -Type Directory
New-Item "$LogDir\http\bin" -Type Directory
New-Item "$LogDir\http\stats" -Type Directory
New-Item "$LogDir\http\upload" -Type Directory
}

You can execute our function using with this command:

Create-Directories -LogDir "C:\inetpub"

Have fun!


Posted in Hosting & IIS7, Windows Powershell, Windows Server | No Comment | 3,204 views | 27/02/2010 15:51

You can assign a domain user called FABRIKAM\user_yusufozturk.info to a directory with Powershell:

$LogDir = "C:\inetpub\yusufozturk"
$Account = New-Object System.Security.Principal.Ntaccount("FABRIKAM\user_yusufozturk.info")
$ACL = Get-Acl -Path "$LogDir"
$ACL.SetAccessRuleProtection($True, $True) 
Set-Acl -Path "$LogDir" -AclObject $ACL
$Permission = "$Account","Modify","ContainerInherit,ObjectInherit","None","Allow"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $Permission
$ACL.SetAccessRule($AccessRule)
$ACL | Set-Acl "$LogDir"

You can change Inherit Settings with changing “ObjectInherit”.


Posted in Hosting & IIS7, Windows Powershell, Windows Server | No Comment | 4,250 views | 27/02/2010 15:48

You can assign a domain user called FABRIKAM\user_yusufozturk.info to a directory with Powershell:

$LogDir = "C:\inetpub\yusufozturk"
$Account = New-Object System.Security.Principal.Ntaccount("FABRIKAM\user_yusufozturk.info")
$ACL = Get-Acl -Path "$LogDir"
$ACL.SetAccessRuleProtection($True, $True) 
Set-Acl -Path "$LogDir" -AclObject $ACL
$Permission = "$Account","ReadAndExecute","ContainerInherit,ObjectInherit","None","Allow"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $Permission
$ACL.SetAccessRule($AccessRule)
$ACL | Set-Acl "$LogDir"

You can change Inherit Settings with changing “ObjectInherit”.


Posted in Hosting & IIS7, Windows Server | No Comment | 2,192 views | 24/02/2010 02:57

IIS7.5 üzerinde nasıl PHP destekli Web Farm kurabileceğimizi anlatmaya çalışacağım. Öncelikle neden Web Farm’a ihtiyaç duyduğumuzu anlatıp, sonrasında kurulum adımlarına geçeceğim.

1- Fault-Tolerance
2- Performance

Web sunucularından beklenen en önemli şartları yukardaki gibi sıralayabiliriz. Bir web sitesinin %100 uptime oranına sahip olması ve performanslı çalışması istenilir. Fakat çoğu web sunucusu, yedekli yapılarda çalışmadığı için sunucu üzerinde yaşanabilecek yazılımsal ya da donanımsal sorunlardan dolayı, uptime oranı ve performansta düşmeler gözlenebilir. En basitinden bir Windows Update bile, gece yarısı tüm sunucunun 5-15 dk arası kapalı kalmasına neden olabilir. İşte Web Farm ile performans düşüşlerini ortadan kaldırabilir, yazılımsal ve donanımsal bazlı kesintileri engelleyebiliriz.

Öncelikle kuracağımız IIS Farm için 5 adet sunucuya ihtiyaç duyacağız.

1 adet Windows Server 2008 R2: Domain Controller için kullanacağız. Kullanıcılar bu sunucu üzerinde tutulacak.
2 adet Windows Server 2008 R2: File Cluster için kullanacağız. Web dosyalarını bu sunucu üzerinde tutacağız.
2 adet Windows Server 2008 R2: IIS7.5 için kullanacağız. Web servisi bu sunucular üzerinden hizmet verecek.

File Cluster ile Domain Controller kurulumlarının IIS Farm ile ilgisi olmadığından dolayı bu kurulumların anlatımını es geçiyorum. Öncelikle Domain Controller’ın kurulumunu yapmalı ve tüm sunucuları bu DC’ye join etmelisiniz. Sonrasında 2 adet File sunucumuz üzerinde Windows Cluster servisini kullanarak dosya paylaşım klasörü yaratmanız gerekiyor. Windows Cluster servisi üzerinden File Cluster’ı ayarlamanız halinde, paylaşım klasörünü sizin için hazır hale getirecektir. Bu paylaşım klasörünü Web sunucularımız üzerinden kullanabilmek için aşağıdaki NTFS ayarlarını yapmamız gerekiyor. NTFS izinlerini ayarlarken aşağıdakilere dikkat etmeniz gerekiyor:

System” kullanıcı hesabının her klasör üzerinde “Full Control” yetkisi olmalı.
Domain Admins” grubuna her klasör üzerinde “Full Control” yetkisi verebilirsiniz.
FTP için yaratacağınız kullanıcı adlarının, sadece site klasörleri üzerinde “Modify” yetkisi olmalı.
Application Pool için ayrı kullanıcı yaratacaksanız, bu kullanıcıların “Read” yetkisi olması yeterli.
Sitenin kullanıcı hesabının “Read” yetkisi olmalıdır. Upload yapılacak klasörlere, Modify yetkisi verilebilir.
Logs\FailedReqLogs klasörü üzerinde Application Pool kullanıcısının ayrıca “Full Control” yetkisi olmalıdır.

Not: Yanlışlıkla Publish ettim yazımı. Tamamlamaya çalışıyorum :)


Posted in Hayattan | 3 Comments | 3,189 views | 23/02/2010 16:12

I used Passmark for Benchmark tests. All servers are running on Windows Server 2008 R2.

System Summary of Dell R210:

Windows Server 2008 R2 (64-bit)
Intel Xeon X3440 @ 2.53GHz
4086 MB RAM
232GB HDD

Manufacturer: GenuineIntel
Type: Intel Xeon X3440 @ 2.53GHz
Manufacturer: 1
Cores per CPU: 4
Hyperthreading: Enabled
Measured Speed: 2927.2 MHz
Multiplier: 22X
L1 Instruction Cache: 4 x 32 KB
L1 Data Cache: 4 x 32 KB
L2 Cache Size: 4 x 256 KB
L3 Cache: 8 MB

System Summary of Dell R410:

Windows Server 2008 R2 (64-bit)
Intel Xeon E5520 @ 2.27GHz
4086 MB RAM
465GB HDD

Manufacturer: GenuineIntel
Type: Intel Xeon E5520 @ 2.27GHz
Manufacturer: 1
Cores per CPU: 4
Hyperthreading: Enabled
Measured Speed: 1596.7 MHz
Multiplier: 12X
L1 Instruction Cache: 4 x 32 KB
L1 Data Cache: 4 x 32 KB
L2 Cache Size: 4 x 256 KB
L3 Cache: 8 MB

You can order Dell R410 dedicated servers with 10 mbit unlimited bandwidth for only $300/month.


Posted in Hosting & IIS7, Windows Server | 2 Comments | 1,862 views | 16/02/2010 13:14

Bugün itibariyle Radore Hosting‘in Cloud Computing Web Servisi aktif durumda. Bir ara Windows Azure’a geçmeyi planlarken, Azure’un yönetiminin zor olması ve PHP’nin Azure üzerinde çalıştırılmasının acı çektirici olduğunu farkederek, Türkiye içine çok daha hızlı yanıt verebilecek olan ve PHP on Windows’un default olarak geldiği RCP’ye (Radore Cloud Platform) geçmeye karar verdim. Tüm sistemin yedekli olduğu RCP’yi biraz açacak olursak;

-Yedekli İnternet Erişimi (Yurt içi ve Yurt dışı)
-Yedekli Trafo (İki farklı trafodan elektrik alan sunucular, Türkiye’de bir ilk sayılabilir)
-Yedekli Jeneratör
-Yedekli UPS
-Yedekli Soğutma Sistemi
-Yedekli Cisco Switch
-Yedekli Fiziksel Storage
-Hyper-V Cluster üzerinde Yedekli Web Sunucuları
-Hyper-V Cluster üzerinde Yedekli FTP Sunucuları
-En önemlisi: Web Sunucuları NLB (Yük dengeleyici) olarak çalışıyorlar.

Hyper-V Cluster üzerinde Yedekli Web Sunucuları ve Yedekli FTP Sunucuları özelliğini biraz açmak istiyorum. Web sunucuları, Hyper-V Cluster’lar üzerinde çalışıyor. Böylece zaten yedekli olan Web Sunucuları, donanımsal anlamda da yedeklenmiş oluyor. Ana sunucudaki donanımsal bir arızanın, böyle bir sistemde Web Sunucularını etkilemesi olasılığı yok. Bununla birlikte Web Sunucuları da kendi aralarında yedekli olduğu için, sunuculardaki yazılımsal hatalardan dolayı sistem kesintisi oluşmamış oluyor. Bu da %99.9 uptime oranını garanti ediyor.

Ayrıca klasik Aktif/Pasif Windows Cluster sistemi yerine Web Sunucuları IIS7.5 sayesinde Aktif/Aktif olarak çalışıyor ve NLB sayesinde sitelere gelen trafik yükü, sunucular üzerine dağıtılıyor. Bu yük dengelemesi sayesinde, o anda hangi farm node’u size cevap veriyorsa versin, maksimum performans ve yanıt hızı ile hizmet vermiş oluyor. Bununla birlikte yazılımsal ve donanımsal olarak çalışan FTP sistemi sayesinde, geceden upload etmeye başladığınız dosyalarınız, gece FTP servisinde oluşacak bir sorundan dolayı kesintiye uğramamış oluyor. Bir FTP sunucusunun çökmesi halinde, saniyeler içersinde diğer FTP sunucusu devreye girecek ve kullandığınız FTP client session’ı yenileyerek, dosyalarınızı yollamaya devam edecektir.

Hizmetin, normal hosting paketleri fiyatına satılacak olması ise ayrıca güzel bir durum.


Posted in Windows Powershell | No Comment | 1,493 views | 14/02/2010 04:57

Uzun zamandır işlerimin yoğunluğundan dolayı siteye vakit ayıramadım. Her gün neredeyse sabah 9, gece 3-4 çalışmaya başladık. Bu çalışmalarım sırasında öğrendiğim, geliştirdiğim bir çok yeni teknoloji ve yapı vardı. Aslında baya bir malzeme çıktı bana yazacak fakat yazacak vakit bulamıyorum.

Radore için geliştirmeye başladığım XiW projesinde, tüm Windows sunucuların tek noktadan yönetilmesi planlanıyoruz. Böylece hiç bir sunucu üzerinde ekstra bir yük olmadan bu sunucular üzerinde düzenlemeler ve güncellemeler yapabileceğiz. Yakında üzerinde uzun uzun duracağım bir özelliği kullandım: Remote Powershell

Remote Powershell ile uzaktaki Windows sunucuları, sanki local makinayı yönetiyormuş gibi yönetebiliyorsunuz. Aynı Active Directory yapısında bulunan sunucuları, herhangi bir authentication sorunu yaşamadan yönetebilmeniz harika bir gelişme oldu sistem dünyası için. Önümüzdeki günlerde Remote Powershell scriptlerinin bir bölümünü yayınlamayı planlıyorum.

Yarın sabah 9’da (4 saat sonra yani) mesai başı yapacağım için bu gecelik bu kadar. Kolay gelsin..