Windows sunucuya WordPress nasıl kurulur sorusunun pratik yanıtı, IIS üzerinde PHP ve MySQL/MariaDB katmanları doğru hazırlandığında sorunsuz ilerler. En güvenli sıra önce altyapıyı doğrulamak, sonra veritabanını oluşturmak, ardından WordPress dosyalarını site köküne yerleştirmek ve son olarak kalıcı bağlantı ile HTTPS ayarlarını test etmektir. Bu akış, özellikle tek Windows Server üzerinde yayın yapan küçük ve orta ölçekli sitelerde 500 hatası, veritabanı bağlantı sorunu ve permalinks bozulması gibi tipik sorunları azaltır. Kuruluma başlamadan önce Windows Server sürümünüz, IIS rolünüz, PHP paketiniz, alan adınız ve veritabanı erişim bilgileriniz hazır olmalı; aksi halde ilk sihirbaz ekranını görseniz bile eksik modül, yanlış izin veya rewrite ayarı nedeniyle durabilirsiniz. Aşağıdaki adımlar, yalnız siteyi açmayı değil, test edilebilir ve gerektiğinde geri alınabilir bir kurulum bırakmayı hedefler.
Windows sunucuya WordPress nasıl kurulur: doğru çalışma modeli
Windows Server tarafında WordPress için en temiz kurulum çizgisi, IIS web sunucusu, PHP çalışma zamanı, bir veritabanı sistemi ve URL yönlendirme katmanının birlikte çalışmasıdır. WordPress çekirdeği PHP ile çalışır; yönetim paneli, tema ve eklentiler de aynı katmanı kullanır. Bu yüzden kurulum yalnız dosyaları kopyalamak değildir; IIS’in PHP isteklerini FastCGI ile doğru yönlendirmesi, veritabanının güvenli kullanıcıyla açılması ve yazma izninin yalnız gerekli klasörlerde verilmesi gerekir. Sunucuda .NET uygulamaları da çalışıyorsa WordPress için ayrı bir uygulama havuzu kullanmak karışıklığı azaltır. Canlı ortamda yapılacak her değişiklikte küçük bir staging kopyasıyla test etmek, özellikle ilk kurulumda en düşük riskli yaklaşımdır.
| Katman | Görev | Yanlış ayarın etkisi |
|---|---|---|
| IIS | İstekleri karşılar ve siteyi yayınlar | Site açılmaz, 500 veya 404 hataları görülebilir |
| PHP FastCGI | WordPress kodunu çalıştırır | Kurulum ekranı ya hiç gelmez ya da 502 benzeri hata oluşur |
| MySQL/MariaDB | Yazıları, ayarları ve kullanıcı verisini saklar | Veritabanı bağlantı hatası ya da boş kurulum ekranı oluşur |
| URL Rewrite | Kalıcı bağlantıları işler | Yazı sayfaları 404 dönebilir |
| HTTPS | Trafiği şifreler | Tarayıcı karışık içerik uyarıları ve güven eksikliği görülebilir |
Kuruluma geçmeden önce sunucuda ne olmalı?
Önce sunucuda yönetici yetkisine sahip olduğunuzu doğrulayın. Ardından bir yedek noktası oluşturun; kurulum deneme amaçlı bile olsa dosya ve veritabanı yedeği geri dönüşü kolaylaştırır. Alan adınız varsa DNS kaydının doğru sunucu IP’sine çözüldüğünü kontrol edin. Eğer kurulum üretim ortamına yapılacaksa, canlı siteyi aynı klasöre doğrudan taşımak yerine ayrı bir site kökü açmak daha güvenlidir. IIS tarafında Web Server rolü, CGI bileşeni, statik içerik ve temel yönetim araçları hazır olmalıdır. URL Rewrite modülü de kalıcı bağlantılar için kritik olduğundan en başta planlanmalıdır. Bu aşamada amaç, WordPress dosyalarını koymadan önce sunucunun istekleri doğru şekilde karşılayabildiğini görmek ve sonradan sürpriz yaşamamaktır.
- Sunucu sürümünüzü ve IIS rolünün etkin olduğunu kontrol edin.
- WordPress için ayrı bir klasör açın; doğrudan sistem klasörlerini kullanmayın.
- Veritabanı için ayrı kullanıcı oluşturmayı planlayın; yönetici hesabını paylaşmayın.
- Kurulumu üretimde yapıyorsanız kısa bir bakım penceresi belirleyin.
- Staging kopyası varsa önce orada test edin.
IIS üzerinde site iskeletini kurma
- Server Manager üzerinden Web Server (IIS) rolünün etkin olduğundan emin olun. CGI özelliği açık değilse PHP istekleri FastCGI ile çalışmaz.
- IIS Manager içinde WordPress için ayrı bir site oluşturun ve fiziksel yolu örneğin C:\inetpub\wwwroot\siteadi klasörüne bağlayın.
- Uygulama havuzunu WordPress’e özel tutun. .NET CLR ayarını No Managed Code olarak bırakmak, WordPress’in PHP tarafında daha temiz çalışmasına yardım eder.
- PHP paketini Windows için derlenmiş sürüm olarak açın ve php-cgi.exe yolunu IIS handler mapping’e tanıtın.
- URL Rewrite modülü yüklüyse kalıcı bağlantılar için doğru zemin hazırlanmış olur.
Bu aşamanın sonunda site kökü açıldığında boş bir klasör yerine IIS tarafında size ait bir yanıt görmelisiniz. WordPress dosyaları daha gelmeden 404 görmek tek başına sorun değildir; önemli olan site eşlemesinin doğru kurulmuş olmasıdır. Eğer burada hata alıyorsanız, site bağlaması, uygulama havuzu ya da yanlış fiziksel yol ilk bakılacak yerlerdir.
PHP katmanını hazırlama ve kritik php.ini ayarları
PHP katmanında küçük ama kritik ayarlar vardır. Özellikle upload_max_filesize, post_max_size, memory_limit ve gerekli uzantılar doğru değilse medya yükleme, tema kurulumu ya da bazı eklentiler sorun çıkarabilir. Güvenli bir başlangıç için yükleme limiti ile gönderi limiti aynı seviyede olmamalı; post_max_size değeri upload_max_filesize değerinden biraz daha büyük kalmalıdır. memory_limit için ise ilk etapta orta seviye bir değer seçmek, eklenti hatalarını azaltır. Eksik uzantılar genelde mysqli, pdo_mysql, mbstring, curl, gd, openssl ve bazı kurulumlarda zip tarafında kendini gösterir. Bir uzantı eksikse, önce PHP paketinizde gerçekten var olup olmadığını doğrulayın; yoksa klasör izinlerini yükseltmek sorunu çözmez.
| Ayar | Ne değiştirir? | Güvenli başlangıç yaklaşımı |
|---|---|---|
| upload_max_filesize | Tek dosya yükleme sınırı | Tema ve medya boyutunu karşılayacak kadar açın |
| post_max_size | Form gönderimlerinin üst sınırı | Yükleme sınırından biraz daha büyük tutun |
| memory_limit | PHP işlemlerinin kullanabileceği bellek | Kurulum ve eklenti testini geçecek orta düzey bir değer seçin |
| max_execution_time | Uzun süren işlemlerde zaman aşımı | Yalnız gerekliyse artırın; gereksiz yükseltmeyin |
PHP katmanını doğrulamak için geçici bir phpinfo.php dosyası oluşturup tarayıcıda açın. Ekranda PHP sürümü, yüklü uzantılar ve gerekli modüller görünüyorsa FastCGI hattı çalışıyor demektir. Test biter bitmez bu dosyayı silin; çünkü sistem bilgilerini gereksiz yere açıkta bırakmak iyi bir alışkanlık değildir.
<?php phpinfo(); ?>
Veritabanını oluşturma ve wp-config.php dosyasını hazırlama
WordPress için ayrı bir veritabanı ve yalnız bu siteye ait bir kullanıcı oluşturun. Yönetici yetkisini günlük kullanımda paylaşmak yerine, siteye özel yetkiler vermek daha güvenlidir. Yerel kurulumlarda veritabanı sunucusu aynı makinedeyse DB_HOST çoğu zaman localhost olur, fakat uzak bir veritabanı kullanıyorsanız bu değer sunucu adı ya da IP olabilir. WordPress kurulumunda temel yapı taşları DB_NAME, DB_USER, DB_PASSWORD ve DB_HOST alanlarıdır. Aynı veritabanında birden fazla WordPress kurulumu düşünüyorsanız tablo ön eki de ayrıca önem kazanır; tek site için varsayılan yapı çoğu zaman yeterlidir.
- DB_NAME: WordPress tablolarının yazılacağı veritabanı adı.
- DB_USER: Yalnız bu siteye ait kullanıcı.
- DB_PASSWORD: Güçlü ve kayıtlı parola.
- DB_HOST: Yerel ya da uzak veritabanı adresi.
WordPress dosyalarını wp-config-sample.php üzerinden yapılandırıp wp-config.php olarak kaydedin. Gerekli alanları doldurduktan sonra dosyanın sunucu tarafından okunabildiğini, fakat herkesin düzenleyemediğini doğrulayın. Yapılandırma dosyasına gereksiz yazma izni vermek yerine, yalnız kurulum aşamasında ihtiyaç duyulan erişimi açın.
WordPress dosyalarını yerleştirip ilk sihirbazı çalıştırma
- WordPress paketini açın ve içeriği site köküne kopyalayın.
- Siteyi tarayıcıda açın; kurulum dili ve başlangıç ekranı görünmelidir.
- Veritabanı bilgilerini doğrulayın ve bağlantı hatası yoksa kurulum sihirbazına geçin.
- Site başlığı, yönetici kullanıcı adı, parola ve e-posta alanlarını doldurun.
- Kurulum tamamlandıktan sonra yeni yönetici hesabıyla giriş yapın.
İlk kurulumda admin gibi tahmin edilebilir bir kullanıcı adı seçmeyin. Yönetici parolasını ayrı bir parola yöneticisinde saklamak ve kurulumdan sonra e-posta adresini doğrulamak güvenlik açısından daha sağlamdır. Site başlığı ve kısa açıklama ilk aşamada geçici olabilir; ama yönetim paneline erişim, yazı oluşturma ve medya yükleme testleri burada asıl başarı ölçütüdür.
Kalıcı bağlantılar ve HTTPS yönlendirmesi
WordPress’i IIS üzerinde kurduktan sonra kalıcı bağlantıları etkinleştirmek, yayınlanacak yazıların tarayıcıda düzgün açılması için önemlidir. IIS tarafında URL Rewrite çalışmıyorsa yazı sayfaları 404 dönebilir. Bu nedenle kalıcı bağlantıları seçtikten sonra ayarları yeniden kaydedin ve örnek bir yazı açın. HTTPS tarafında ise sertifika kurulduktan sonra yönlendirmeyi test edin; aksi halde kullanıcılar hem güvenli hem güvensiz sürüme gidebilir. Karışık içerik uyarılarını önlemek için site adresinin ve medya bağlantılarının HTTPS ile üretildiğinden emin olun. Gerekirse yönlendirme kuralını doğrudan web.config dosyasında tutun.
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name='Force HTTPS' enabled='true' stopProcessing='true'>
<match url='(.*)' />
<conditions>
<add input='{HTTPS}' pattern='off' ignoreCase='true' />
</conditions>
<action type='Redirect' url='https://{HTTP_HOST}/{R:1}' redirectType='Permanent' />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Bu kuralı canlıya almadan önce tarayıcıda ana sayfa, örnek yazı, giriş ekranı ve medya yolu için ayrı ayrı test yapın. Eğer site bir ters proxy arkasındaysa, HTTPS bilgisinin dışarıdan nasıl geldiğini de kontrol etmeniz gerekir; aksi halde yeniden yönlendirme döngüsü oluşabilir.
Günlük kullanımda hangi işleri takip etmelisiniz?
- Yeni yazı eklerken yönetici hesabının güçlü parola ve güncel e-posta ile çalıştığını kontrol edin.
- Eklenti ve tema güncellemelerini önce staging kopyasında deneyin.
- Medya yüklerken
wp-content/uploadsklasörünün yazma iznini takip edin. - IIS günlüklerinde 404 ve 500 hatalarının artıp artmadığını ara sıra gözden geçirin.
- Yedekleme işini kurulumdan bağımsız bir rutin haline getirin.
Windows Server üzerinde WordPress yönetirken günlük işin büyük kısmı kurulumdan çok bakım disiplinidir. Küçük bir eklenti güncellemesi bile rewrite, dosya izinleri ya da PHP uzantılarıyla etkileşebilir. Bu yüzden değişiklikleri tek tek yapmak, sorun çıktığında hangi katmanda olduğunu anlamayı kolaylaştırır.
Kurulumun gerçekten çalıştığını nasıl anlarsınız?
Kurulum başarılı sayılabilmesi için yalnızca ana sayfanın açılması yetmez. Yönetim paneline giriş yapabildiğinizi, bir medya dosyası yükleyebildiğinizi, örnek bir yazının kalıcı bağlantıyla açıldığını ve HTTPS varsa tarayıcıda karışık içerik uyarısı görmediğinizi doğrulayın. php -v komutu PowerShell penceresinde sürüm döndürüyorsa CLI tarafı da erişilebilir demektir; döndürmüyorsa bu her zaman siteyi bozmaz, ama PATH veya kurulum yolu konusunda ek kontrol gerektiğini gösterir.
php -v
- Tarayıcıda WordPress kurulum ekranı açılmalı.
wp-admingirişi çalışmalı.- Bir medya dosyası yüklenmeli ve görüntülenmeli.
- Örnek yazı kalıcı bağlantı ile açılmalı.
- HTTPS etkinse adres çubuğunda güvenli bağlantı görünmeli.
Sık görülen hatalar ve pratik çözümler
- 500.19 hatası: Çoğu zaman bozuk
web.config, eksik Rewrite modülü veya IIS yapılandırma çakışması vardır. Dosyayı sadeleştirip modülün yüklü olduğunu doğrulayın. - 404 iç sayfa hatası: Kalıcı bağlantılar için rewrite kuralı çalışmıyor olabilir. WordPress ayarlarını yeniden kaydedin ve site kökünü kontrol edin.
- Veritabanı bağlantı hatası: Kullanıcı adı, parola, veritabanı adı ya da
DB_HOSTdeğeri yanlıştır. Yetki ve adres eşleşmesini yeniden kontrol edin. - Medya yüklenmiyor: NTFS izni ya da
upload_max_filesizesınırlaması engel olabilir. Öncewp-content/uploadsiznine bakın, sonra PHP sınırlarını gözden geçirin. - Boş beyaz sayfa: Çoğu zaman PHP fatal hatası veya bellek sınırıdır. Eklentileri kapatıp
memory_limitdeğerini kontrol edin.
Bu sorunların çoğunda en hızlı yol, son değişiklikten geri bir adım atmaktır. Tek seferde hem PHP sürümünü hem rewrite kuralını hem izinleri değiştirdiyseniz, hangi ayarın hatayı doğurduğunu anlamak zorlaşır. Değişiklikleri küçük tutmak, kurulum sonrası teşhisi ciddi ölçüde kolaylaştırır.
Yanlış giden kurulumda geri dönüş
Bu kurulum bir canlı değişiklik olduğu için geri alma planı baştan hazır olmalı. Eğer henüz canlı veri yoksa, siteyi IIS’ten kaldırıp klasörü temizlemek ve veritabanını silmek yeterli olabilir. Canlı veri oluştuysa önce veritabanı ve dosya yedeğini geri yükleyin, sonra yeni kurulum denemesine geçin. Uygulama havuzunu, site bağlamasını veya izinleri yanlış verdiyseniz düzeltme işlemini tek tek geri alın; topluca daha fazla değişiklik yapmak yerine son çalışan duruma dönmek daha güvenlidir.
- Gerekirse siteyi IIS üzerinden geçici olarak durdurun.
- WordPress klasörünü ve kurulum sırasında eklediğiniz test dosyalarını temizleyin.
- Veritabanı kullanıcı yetkilerini geri alın ya da veritabanını kaldırın.
- Yanlış rewrite kuralı, yanlış app pool veya fazla yazma iznini geri çekin.
- Kurulumdan önce aldığınız yedeği yeni deneme için referans olarak saklayın.
Canlı bir siteye dönüş yapıyorsanız, yalnızca dosya değil veritabanı tutarlılığı da önemlidir. WordPress’te içerik ve ayarlar birlikte çalıştığı için dosya yedeği olmadan veritabanını geri almak çoğu zaman yeterli olmaz.
Son kontrol listesi
- IIS sitesi doğru klasöre bağlı.
- PHP FastCGI yanıt veriyor.
- Veritabanı bağlantısı çalışıyor.
- WordPress kurulum sihirbazı tamamlandı.
- Kalıcı bağlantılar açılıyor.
- Medya yükleme sorunsuz.
- HTTPS yönlendirmesi test edildi.
- Geçici
phpinfo.phpdosyası silindi. - Yedek ve geri dönüş notu kaydedildi.
Bu liste tamamlandığında kurulum yalnızca açılmış sayılmaz; bakım yapılabilir, test edilebilir ve gerektiğinde geri alınabilir bir Windows Server WordPress ortamı oluşmuş olur.
Sık Sorulan Sorular
Windows Server'da WordPress kurmak için Apache gerekir mi?
Hayır, Apache gerekmez. IIS, PHP FastCGI ve bir veritabanı katmanı ile WordPress rahatça çalışır. Önemli olan PHP isteklerinin doğru handler ile yönlendirilmesi ve kalıcı bağlantılar için rewrite kuralının hazır olmasıdır.
Kurulumda veritabanı bağlantı hatası alırsam ilk neyi kontrol etmeliyim?
Önce DB_NAME, DB_USER, DB_PASSWORD ve DB_HOST değerlerini kontrol edin. Ardından veritabanı kullanıcısının ilgili veritabanı üzerinde yetkisi olup olmadığına bakın. Host adı çoğu yerel kurulumda localhost olabilir, ama ortamınıza göre değişebilir.
WordPress yazıları açılıyor ama sayfalar 404 veriyorsa sorun nedir?
Genelde kalıcı bağlantı için rewrite kuralı eksiktir ya da web.config doğru yerde değildir. IIS'te URL Rewrite modülünü ve site kökündeki kuralları kontrol edin, sonra WordPress kalıcı bağlantıları yeniden kaydedin. Ana sayfa çalışıp iç sayfalar açılmıyorsa ilk bakılacak yer burasıdır.
Hangi klasörlere yazma izni vermeliyim?
Tüm site köküne yazma izni vermeyin. Önce wp-content/uploads için yazma izni verin; gerekiyorsa önbellek ya da özel eklenti klasörlerini ayrıca değerlendirin. En az yetki yaklaşımı, kurulumun güvenli kalmasına yardım eder.
Kurulumdan sonra hangi testler başarı sayılır?
Kurulum başarılı sayılırsa wp-admin girişi çalışır, bir medya dosyası yüklenir, örnek yazı kalıcı bağlantıyla açılır ve HTTPS etkinse tarayıcı kilit uyarısı görünmez. phpinfo.php dosyasını doğruladıktan sonra silmek de iyi bir güvenlik kontrolüdür.