Etiket arşivi: windows

windows-server-2008-R2

Hosting firmaları neden Windows 2008 ve üstüne terfi edemedi?

Bu hosting firmalarını anlamak mümkün değil. Hala 2002 yılında çıkmış olan Windows 2003 server kullanıyorlar. Bir işletim sistemi nasıl bu kadar uzun süre kullanılabilir anlamıyorum. Windows 2008 bile eskidi artık. Ama inatla 2003 sunucu kullanmaya devam ediyorlar. Hatta Windows 2003 ve Xp’nin kaynak kodları eğitim kurumları için açıldı bile. Yani dilerseniz Windows 2003 Kernel kullanarak kendi işletim sisteminizi özelleştirebilirsiniz.
En seçkin sayılabilecek firmalar bile yazılımsal olarak çok gerideler. Uzun çabalar sonucu 2008 sunucu kullanan bir piyasa firması buldum fakat bunda da güncelleştirmelerden eser yok. Aklım almıyor… Php versiyonu eski. Güncel WordPress bile kuramazsın. Phpmyadmin, Plesk Panel… Daha neler neler…

Yurtdışı firmalar Bulut sunucu hizmetlerinde acayip aşama kaydettiler fakat Türkiye’de bir elin parmakları kadar firma bulmak zor. Ben yurtdışına çıkalı 5 ay kadar oldu ve sanırım yurtdışında kalmaya ve Windows 2008 R2 sunucu ile IIS 7x  kullanmaya devam edeceğim…
web.config’in kolaylıklarından faydalanacağım.

Ülkemde sağlıklı sunucu hizmetlerinin yaygınlaşması dileğiyle…

windows_8_screen

Windows 8′in Hızlı Başlayabilmesi “Hazırda Beklet” Sayesinde

Bu akşam Microsoft TechNet’ten gelen mailde Windows 8′in hızlı başlatma modundan bahsediliyordu. Daha önce sizinle paylaştığım ve internette dolaşan videoda Windows 8 çok hızlı başlıyordu. Bu durumu garipsemiştim. Çünkü teknik olarak zor bir durumdu. Fakat Microsoft yıllardır tüm pc’lerde var olan bir özelliği öne çıkararak yeni birşeymiş gibi sunuyor. Adına da “Windows 8 Fast Startup Mode” diyor. Dikkat ediniz “mod” diyor. Yani aslında windows 8 hızlı başlamıyor. Mod aktif ise bilgisayar kaldığı yerden devam ediyor. E bunu ben yıllardan beri “Hazırda Beklet” (Hibernate) sayesinde yapıyorum zaten. Nesi ilginç ki? Ha derseniz ki Hazırda beklet özelliği o kadar hızlı başlayamıyor. Haklısınız. Hazırda bekletmeye alınmış bir bilgisayar o kadar hızlı açılamıyor. Ama benim takıldığım nokta, Microsoft’un Hazırda beklet özelliğini sanki yepyeni ve müthiş birşeymiş gibi tanıtması, reklam yapması. Resmen sahtekarlık olduğunu düşünüyorum bunun.

Neyse, konu hakkında yeterli teknik detay bilgiye sahip olmadığımdan fazla yorum yanlış olur.
Siz konu hakkında aşağıdaki linkten bilgi alabilirsiniz.

Delivering fast boot times in Windows 8

windows_8_screen

Windows 8′in Açılış Hızı Sizce de Biraz Abartı Değil mi?

Windows 8′in açılış hızı hakkında Microsoft Türkiye tarafından yayınlanan alttaki videoda Windows 8′in çok çok kısa bir sürede (Bir kaç saniye) açıldığı görülüyor. Teknik olarak düşününce sizce de biraz abartı değil mi?

IIS7welcome

IIS Url Rewrite – Outbound Rule Kullanımı

Microsoft Internet Information ServicesMerhaba. Yazıda IIS üzerinde nasıl outbound rule tanımlanır, daha önemlisi etkin şekilde nasıl yararlanılabilir anlatmaya çalışacağım.

Arayüzdeki bazı kelimeler benim İngilizce işletim sistemi  kullanmam sebebi ile farklılıklar gösterecektir ancak zaten yerli yerinde olan her şey resimlerle birlikte karışıklığa mahal bırakmaz sanıyorum.

Outbound Rule Nedir?

Arama motoru optimizasyonu denildiğinde, her ne kadar en önemli tek parametre olmasa da akla ilk gelen Url Rewrite oluyor.

index.asp?sayfa=iletisim gibi bir URL’in iletisim.html ‘e karşı zayıf olduğu aşikar. Eminim bir çoğunuz eski sitelerinizi arama motoru dostu (SEF) hale getirmek için yoğun efor sarf ettiniz. Yazıyı okuduğunuza göre belki de şu an bununla meşgulsünüz veya planlıyorsunuz. Outbound Rule, URL Rewrite işleminin aksine URL’in değil çıktının yeniden yazılmasıdır. Malum, bir uygulamaya URL Rewrite uyguladığımızda sayfalardaki linkler kendi kendine SEF hale gelmiyor, bunun için bir dizi işlem daha yapıyoruz. Bunları kullanılan platform yapılandırması veya fonksiyonlarla yapıyor olabilirsiniz. İşte Outbound Rule burada devreye giriyor. URL Rewrite eder gibi sayfaları Rewrite edeceğiz, html elemanlarını hızlıca değiştireceğiz.

Hazırlık

Outbound Rule’den yararlanmak için öncelikle URL Rewrite desenlerinizi hazırlamış aktif olarak SEF linkler ile (Inbound Rule) çalışan bir siteye sahip olduğunuzu farz edeceğim. Inbound Rule’a Ceviz Forum‘da kısaca değinmiştim, göz atmanızı öneririm. Ancak az sonra hazırlayacağımız örneklerde inbound rule belirlemiş olma mecburiyetimiz yok. Sadece gerçek bir süreçte öncelikle Inbound Rule işlemlerinin yapılması gerekli belirtmek istedim. Örnekler en temel işlemlerden ibaret olacaklar.

Sadece bir kaç kural ile html çıktısını suya sabuna dokunmadan değiştireceğiz. Outbound Rule dinamik (dil / teknoloji bağımsız) – statik fark etmeksizin çalıştığından örneğe konu sayfa; asp, php scripti veya statik bir html belgesi olabilir.

Sunucu IIS 7.x olduğundan konu Url Rewrite modülü etrafında dönecek.

Öncelikle eğer kurulu değilse sunucunuz / bilgisayarınız için işlemci mimarinize uygun kurulumu yapmalısınız (doğrudan x86 / x64 linklerini kullanabilirsiniz) : http://www.iis.net/download/urlrewrite

Kurulum ile ilgili anlatılacak pek bir şey yok. Sıradan bir kurulum, bir kaç tıkla bitecek. Kurulumdan sonra IIS Manager’ı açtığınızda menüde varsayılan web sitesine (bende _root) tıkladığınızda aşağıdaki “Url Rewrite” ikonunu görüyor olmalısınız.
Resim 1

İlk Kurallarımızı Yazıp Test Edelim

Bir index.html dosyası oluşturup içine aşağıdaki kodları yazacağız.

<h1><a href=”index.asp?sayfa=merhaba” onmouseover=”this.title=this.href”>Test</a></h1>
<form action=”sendmessage.asp”>
<input type=”submit” value=”Gönder” onmouseover=”this.title=this.form.action” />
</form>

Sadece bir link ve formdan ibaret. Oluşturacağımız kuraldan sonra sunucu ziyaretçilere yukarıdaki kaynak kodun aksine;

index.asp?sayfa=xxxxx => xxxxx.html

<form action=”sendmessage.asp“> => <form action=”iletisim.html“>

şeklinde çıktılar gönderecek.

URL Rewrite ikonuna çift tıklayıp aşağıdaki gibi kurallarımızı gireceğiz.

Resim 2

Sağ tık > Add Rule(s) veya Actions > Add Rule(s)

Resim 3

Outbounds rules > Blank rule > OK

Resim 4

Precondition tanımlayarak sunucunun sadece text/html çıktılarda bu kuralı işletmesini sağlayacağız.

Resim 5

Add

Resim 5a

Kural yalnızca HTML çıktılar için.

OK (Resim 5 ‘deki pencereyi OK ile kapatın.)

Resim 6

Manipüle edilecek html etiketini seçiyoruz.

Resim 7

Desenimizi ve diğer kısımları giriyoruz.

Apply / Uygula

Daha sonra form etiketi için de bir kural girmemiz gerekiyor. Resim 2‘den itibaren bir kaç farkla aynı işlemi yapıp (artık IsHTML precondution’ı ön tanımlı olarak gelecektir, A yerine Form etiketinin seçilmesi) kural için farklı bir ad (Form_Action) belirledikten sonra kuralın son görüntüsü aşağıdaki gibi olacaktır.

Resim 8

Resim 9

Kurallara geri dönüldüğünde iki ayrı kural aşağıdaki gibi InBound Rules bölümünde hazır olacaklar.

Artık tarayıcımızda http://localhost/index.html sayfasını çağırarak ufak bir test yapabiliriz. Bu sayfanın kaynak kodlarına baktığınızda sizi karşılayan manzara şöyle olacak:

<h1><a href=”merhaba.html” onmouseover=”this.title=this.href”>Test</a></h1>
<form action=”iletisim.html”>
<input type=”submit” value=”Gönder” onmouseover=”this.title=this.form.action” />
</form>


Hata mı Alıyorsunuz?

Eğer

dinamik içerik sıkıştırma etkinken Outbound Rule kullanılamaz

mealinde bir hata iletisi alıyorsanız bu, dinamik içerik sıkıştırmasının aktif olduğu ve pasifleştirmeniz gerektiği anlamına geliyor. Outbound Rules dinamik içerik sıkıştırması ile birlikte kullanılabiliyor ancak varsayılan IIS yapılandırması bunun için oldukça çok uğraş (biraz da uzmanlık) gerektirdiğinden buna değinmiyorum zira bu herhangi bir makale ile yapılması tehlikeli bir işlemler dizisi. Sunucudaki tüm sitelerin çalışmaz hale gelmesi ihtimali yüksek.

Dinamik İçerik Sıkıştırmayı Pasifleştirin

Resim 10

Compression ikonuna çift tıklayın

Resim 11

Dinamik içerik sıkıştırmayı devre dışı bırakın.

Apply / Uygula

Varsayılan Mevcut Etiket ve Nitelikler Hakkında

IIS URL Rewrite Module’de outbound rule tanımlarken varsayılan olarak gelen etiket ve nitelikleri şöyle:

  • <a>, <area>, <base>, <link>
    • href
  • <form>
    • action
  • <frame>, <iframe>
    • src
    • longdesc
  • <head>
    • profile
  • <img>
    • src
    • longdesc
    • usemap
  • <input>
    • src
    • usemap
  • <script>
    • src

Ancak bu liste sadece bunlarla sınırlı olduğumuz anlamına gelmiyor. Mevcut etiketlerin farklı nitelikleri için veya tamamen özel etiketler için Custom Tag yapılandırabilir (Resim 6 : Custom Tags) veya etiket kısmını geçip doğrudan belge gövdesi içinde Regex deseni ile eşleşme arayabilirsiniz.

Outbound Rule’den Başka Nasıl Faydalanılır?

Elde böyle bir imkan varken yapılabilecekler her ne kadar kendi hayal gücümüzle orantılı olsa da üç beş madde ile sıralamaya çalışayım.

  • Batch processing. Özellikle statik dosyalarda bazen Advanced Find & Replace veya Notepad++ gibi uygulamalar ile toplu bul / değiştir işlemleri yapıyoruz.
    Bu tür işler Outbound Rule ile kolayca yapılabilir. Hatta dosyalarınıza meşhur iframe zararlılarından bulaştırmayı başardıysanız bunları silebilirsiniz de ;)
  • HTTP yanıt başlıklarının manipülasyonu. Örneğin IIS 7.5 web sunucusu yanıtlarda Server başlığı olarak Server: Microsoft-IIS/7.5 gönderiyor. Bunu Server: Apache yapmak sadece kafa karıştırmaktan ibaret olsa da hoş bir atraksiyon olabilir.
  • Regex yardımı ile eski standartlarda bir belgede Validation için işlemler yapabilirsiniz.
  • Her ne kadar buraya kadar bahsettiklerimden çok farklı olmasa da geçen yıl Outbound Rule’un tam olarak ne işe yaradığını anlamamı sağlayan Using Outbound Rules to add Web Analytics tracking code adlı makaledeki gibi Google Analytics izleyicisini tüm sayfalara /body etiketinden önce konumlandırarak ekleyebilirsiniz.

Outbound Rule aracılığı ile yapılabileceklerin sadece birazına değindik. Özellikle eski / geleneksel web uygulamalarının standart olarak modernize edilmesinde ve bakım süreçlerinde pratik özellikleri ile çok işinize yarayacağını umuyorum.

Kolay gelsin!
Serhan BAŞTUĞ (skacurt)

windows_server_2008_R2

Düşük Konfigürasyonlu Windows VDS

Siz siz olun, Düşük konfigürasyonlu Windows VDS’ten uzak durun. Bilenler bilir. Linux sanal sunucularda 256 mb ram’le bile günde yüzlerce ziyaretçiyi kaldırabilir. Halen piyasada 256 mb ramli VPS’ler mevcut olmasına rağmen çoğunlukla ekonomik seçimde 512 mb ram’li opsiyon daha çok satılıyor. Dediğim gibi birçok kişi için oldukça yeterli bir sistem…

Lakin iş Windows Sanal Sunucularda değişiyor. Ülkemizde oldukça yüksek fiyatlarla oldukça düşük konfigürasyonlu Windows VDS sahibi olabiliyorsunuz. 2003 VDS için 512 mb ram yeterli olabilir belki fakat 2003 sunucu yavaş yavaş piyasadan çekiliyor ve 2008, hatta 2008 R2 sunucular çoğalıyor. Fakat Hosting firmaları yazılımı yükseltirken donanımı yükseltmeyi unutuyor. Halen inatla 512 ram’li sunucuyu fahiş fiyata satmaya devam ediyorlar. Tecrübesiz müşteriyi mağdur ediyorlar.

Arkadaşlar, 512 Mb Ram’li Windows 2008 R2 VDS hakkında söylenen “Yeni başlayanlar için yeterlidir” sözüne asla aldanmayın. Daha ilk günden pişman olursunuz. Eğer kendinizi bir VDS yönetebilecek seviyede görüyorsanız konfigürasyonu yüksek tutun. Bütçeniz yeterli değilse ve deneyiminiz de yoksa maceraya atılmayın. Bugün Türkiye’den alacağınız bir 512 Mb Ram’li VDS fiyatına Avrupa’da barınan sunucu firmalarından 4 katı daha fazla Ram’li VDS sahibi olabiliyorsunuz. Siteniz yavaş olur masalına da fazla aldırmayın. Avrupa’daki bir sunucu Türkiye’den bağlantılarda sıkıntı değildir. Amerika’da barınan bir sunucuyu ise tabii ki önermem.

Kesin olarak söyleyebileceğim bir şey var ki o da şudur; Windows VDS alacaksanız 2 Gb Ram’li bir VDS tercih etmelisiniz.

Benim tavsiyem bir süre daha Reseller paketler ile idare etmeniz ve bu arada kendi PC’nize IIS kurarak ve bol bol kurcalayarak deneyiminizi artırabilirsiniz. Ya da PC’nize VirtualBox ile sanal işletim sistemi kurun ve bunu Web sunucusu olarak deneyin.

Naçizane Tavsiyem…