KENDİ BİLGİSAYARINDA WORDPRESS SİTESİ BARINDIRMA: ADIM ADIM TÜRKÇE REHBER
Yerel WordPress Barındırmanın Temel Kavramları ve Amaçları
Kendi bilgisayarında WordPress sitesi barındırmak, yazılım geliştirme, tasarım çalışmaları veya yeni eklenti/tema testleri sırasında sık başvurulan ve birçok avantaj sunan bir yöntemdir.
Yerel sunucu üzerinde barındırılan bir WordPress site, canlı ortam riskinden uzak, hızlı ve özgür bir test/geliştirme ortamı sağlar. Bu rehberde, hosting hizmetinde çalışan bir WordPress sitesinin kişisel bilgisayara taşınarak yerel sunucuda nasıl çalıştırılabileceği, gerekli yazılımsal ve donanımsal gereksinimler, temel ve gelişmiş ayarlar, güvenlik önlemleri, performans optimizasyonu, yedekleme stratejileri ve port yönlendirme gibi ağ konuları adım adım ele alınacaktır. Ayrıca süreç sonunda avantajlar ve dezavantajlar detaylı karşılaştırmalı olarak sunulacaktır. Tüm öneriler, hem yeni başlayanlar hem de ileri seviye kullanıcılar düşünülerek hazırlanmıştır.
Yerel Sunucu Yazılımları ve Alternatifleri
En Popüler Yerel Sunucu Çözümleri
Kendi bilgisayarınızda WordPress barındırmak için, PHP ve MySQL/MariaDB desteği sunan bir web sunucu ortamı gereklidir. Bunu kolayca sağlayan bütünleşik yerel sunucu paketleri ve sanallaştırma/container çözümleri mevcuttur. Günümüzde en sık tercih edilen yazılımlar şunlardır:
- XAMPP: Apache, MySQL, PHP ve Perl’i bir arada sunan, çok platformlu (Windows, MacOS, Linux) açık kaynaklı bir dağıtımdır.
- MAMP: Özellikle MacOS kullanıcıları için popülerdir ancak Windows sürümü de mevcuttur.
- WAMP: Yalnızca Windows işletim sistemleriyle uyumlu bir alternatiftir.
- LocalWP (Local by Flywheel veya LocalWP olarak da bilinir): WordPress’e özel olarak tasarlanmış, kurulumu ve kullanımı son derece kolay, modern bir masaüstü uygulamadır.
- LAMP: Linux kullanıcılarının vazgeçilmezidir.
- Docker: Geliştiriciler için tercih edilen, izole ve yeniden üretilebilir ortamlar sağlayan container tabanlı yöntemdir.
- Vagrant: Sanal makine tabanlı, ileri seviye geliştirme ortamları için idealdir.
Her birinin kendine özgü avantajları ve kullanım senaryoları mevcuttur. Örneğin XAMPP, kolay kurulumu ve topluluk desteğiyle başlangıç için idealdir, Docker ve Vagrant ise büyük ekiplerle çalışan ya da prodüksiyona yakın geliştirme ortamı isteyen profesyoneller için güçlü seçeneklerdir.
Sistem Gereksinimleri ve Donanım Ayarları
Yazılım Gereksinimleri
WordPress’in en güncel ve sorunsuz şekilde çalışabilmesi için aşağıdaki yazılım gereksinimlerinin sağlanmış olması önerilir:
- PHP: En az 7.4 (tercihen 8.x ve üzeri).
- MySQL/MariaDB: MySQL 8.0+ veya MariaDB 10.5+ önerilir.
- Apache/Nginx: Apache (mod_rewrite etkin şekilde) ya da Nginx tavsiye edilir.
- HTTPS/SSL: Yerel geliştirme ortamı için SSL ayarlanması önerilir, özellikle canlı ortama geçişte benzerlik-farkların test edilmesi için.
Donanım Gereksinimleri
- Disk Alanı: Minimum 1 GB, önerilen ise 10 GB veya üzeri SSD depolama.
- RAM: En az 512 MB, tercihen 2 GB ve üzeri.
- İşlemci: 1.0 GHz (en az tek çekirdek), çok çekirdekli işlemciler daha iyi performans sunar.
Bu gereksinimler temel bir WordPress sitesi için yeterlidir. Ancak, tema/eklenti geliştirme veya çoklu site testleri gibi yoğun testler için daha üst konfigürasyonlar tercih edilmelidir.
Adım Adım: Yerel Sunucuda WordPress Kurulumu
1. Yerel Sunucu Yazılımının Kurulumu
a. XAMPP Kurulumu
- XAMPP’ın resmi internet sitesinden işletim sisteminize uygun sürümü indirin ve kurun.
- Kurulum tamamlandığında XAMPP Kontrol Panelini açın.
- “Apache” ve “MySQL” servislerini başlatın.
b. MAMP, WAMP ve LocalWP Kurulumu
- MAMP için: MAMP’ın resmi internet sitesinden, LocalWP için LocalWP web sitesinden indirip sihirbazı takip edin.
- Windows ve Mac üzerinde kurulum adımları oldukça benzerdir ve tipik olarak “Next, Install, Finish” adımlarından oluşur.
c. Docker veya Vagrant ile WordPress Kurulumu
- Docker için bir docker-compose.yml dosyası hazırlayabilir veya Bitnami WordPress image’ını kullanabilirsiniz.
- Vagrant ile önceden yapılandırılmış Vagrant Box (ör. VCCW) seçerek ortamı hızlıca başlatabilirsiniz.
- Detaylar ve örnek konfigürasyonlar ilgili bağlantılarda bulunabilir.
2. WordPress Dosyalarının İndirilmesi ve Dizin Yapısı
- En güncel WordPress sürümünü tr.wordpress.org adresinden indirin.
- Dosyaları açın ve lokal sunucu yazılımınızın belirlediği “web root” dizinine (XAMPP için htdocs, WAMP için www gibi) taşıyın.
- Klasör adı sitenize ait kısa bir isim olmalıdır (ör: C:\xampp\htdocs\benimsitem).
3. Veritabanı Oluşturma
- Tarayıcıdan localhost/phpmyadmin adresine gidin.
- Sol menüden “Yeni” sekmesine tıklayın, sitenize uygun bir veritabanı ismi belirleyip oluşturun (ör: mywebsite_db).
4. WordPress Kurulum Sihirbazı
- Tarayıcıda http://localhost/benimsitem/ adresine gidin.
- Dil seçimini yapın ve “Devam Et” butonuyla devam edin.
- Kurulum sihirbazında:
- Veritabanı adı: Daha önce phpMyAdmin’de oluşturduğunuz isim.
- Kullanıcı adı: “root” (XAMPP, MAMP ve WAMP için çoğunlukla)
- Parola: Genelde boş bırakılır.
- Veritabanı sunucusu: “localhost”
- Tablo ön eki: Güvenlik için “wp_” haricinde, örneğin “abc_” gibi bir değer kullanabilirsiniz.
- Site başlığı, yönetici kullanıcı adınız, şifreniz ve e-posta adresinizi girin.
Kurulum tamamlandığında, admin paneline http://localhost/benimsitem/wp-admin/ üzerinden giriş yapabilirsiniz.
PHP ve Veritabanı (MySQL/MariaDB) Sürümü ve Ayarları
WordPress’in sağlıklı çalışabilmesi ve geleceğe dönük sorun yaşamamak için güncel PHP ve veritabanı sunucusu kullanılması çok önemlidir. Eski sürümler ile uyumsuz eklenti/tema ve güvenlik zafiyeti riski yüksektir.
- PHP versiyonu: 7.4 veya tercihen 8.0 ve üzeri.
- MySQL: 8.0 ve üzeri veya MariaDB: 10.5 ve üzeri önerilir.
- XAMPP, MAMP vb. paketler üzerinde PHP ve MySQL/MariaDB sürümü seçimini yükleme sırasında veya daha sonra değiştirebilirsiniz.
- PHP bellek sınırını artırmak için wp-config.php veya .htaccess dosyasında şu şekilde ayarlama yapılabilir:
- define(‘WP_MEMORY_LIMIT’, ‘256M’);
- Çalışma esnasında uyumsuz PHP eklentileri veya eski sürüm dosyalar da kontrol edilmeli, düzenli olarak güncellenmelidir.
wp-config.php Dosyası: Özelleştirme ve Güvenlik
wp-config.php, WordPress’in kalbi olarak kabul edilir ve hem temel bağlantı bilgilerini hem de gelişmiş ayar ve güvenlik konfigürasyonlarını içerir.
wp-config.php Dosyasının Temel Ayarları
- Veritabanı bağlantı bilgileri:
- define(‘DB_NAME’, ‘mywebsite_db’);
- define(‘DB_USER’, ‘root’);
- define(‘DB_PASSWORD’, ”);
- define(‘DB_HOST’, ‘localhost’);
- Kimlik doğrulama anahtarları ve tuzlar:
- define(‘AUTH_KEY’, ‘rastgele_bir_dize’);
- define(‘SECURE_AUTH_KEY’, ‘…’);
- define(‘LOGGED_IN_KEY’, ‘…’);
- define(‘NONCE_KEY’, ‘…’);
- define(‘AUTH_SALT’, ‘…’);
- define(‘SECURE_AUTH_SALT’, ‘…’);
- define(‘LOGGED_IN_SALT’, ‘…’);
- define(‘NONCE_SALT’, ‘…’);
Bu anahtarlar için https://api.wordpress.org/secret-key/1.1/salt/ adresinden güncel anahtarlar üretilebilir.
- Tablo ön eki:
- $table_prefix = ‘abc_’;
- Hata ayıklama:
- define(‘WP_DEBUG’, true);
Gelişmiş Ayarlar
Dosya dizinlerini, url yapılandırmalarını, post revision sayısı, otomatik kaydetme aralığı, çöp kutusu süresi gibi özelleştirmeler eklenebilir. Ayrıntılar için [WordPress wp-config.php yapılandırması][24†source] ve [wp-config en iyi uygulamaları][22†source] yararlı olacaktır.
Güvenlik için wp-config.php
- Dosyanın izinleri 440 veya 400 olarak ayarlanmalıdır.
- Ek olarak, Apache için .htaccess içine şunu ekleyerek dış erişimi engelleyebilirsiniz:
- <files wp-config.php>
- order allow,deny
- deny from all
- </files>
- wp-config.php dosyasını gerekiyorsa kök dizinin bir üstüne taşımak ek güvenlik katmanı sağlar.
Dosya İzinleri ve Permalink (Kalıcı Bağlantı) Ayarları
Dosya İzinleri
Yanlış dosya izinleri, güvenlik zaafı ve siteye yetkisiz giriş riski oluşturur. Önerilen izinler şöyledir:
| Kategori | İzin | Açıklama |
| Dosyalar | 644 | Sahibi okuma-yazma, grup/herkes okuma |
| Klasörler | 755 | Sahibi tam yetki, grup/herkes okuma/çalıştırma |
| wp-config.php | 440/400 | Maksimum koruma, sadece sahibi okuyabilir |
| .htaccess | 644/444 | Okuma/yazma (gerekirse chmod sonrası 444 yapılabilir) |
| wp-content/uploads | 755 | Klasör yazılabilir, yüklemeler için |
FTP, cPanel File Manager veya SSH ile izinler kolayca kontrol edilip ayarlanabilir.
Permalink Ayarları
- WordPress yönetici panelinden Ayarlar > Kalıcı Bağlantılar kısmından “Yazı ismi” veya dilediğiniz yapı seçilebilir.
- Apache sunucuda “mod_rewrite” etkin olmalı, .htaccess dosyası yazılabilir olmalı ve düzgün şekilde oluşturulmalıdır.
- Permalink değişikliği sonrasında .htaccess dosyasına otomatik kurallar eklenir; ek düzenleme gerekmiyorsa dokunulmamalıdır.
SSL/TLS Sertifikası Kurulumu (Yerel Geliştirme İçin)
Neden Yerel Sunucuda SSL?
- HTTPS, modern tarayıcıların güvenlik gereksinimi ve çeşitli API’lerin (Service Worker, Geolocation, Push Notification) zorunlu koşuludur.
- Gerçek ortama taşımadan önce HTTPS kaynaklarını yerelde test etme imkanı sunar.
Self-Signed (Kendinden İmzalı) Sertifika Oluşturma
Kendi geliştirici sertifikanızı OpenSSL ile kolayca oluşturabilirsiniz:
openssl req -x509 -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.crt -days 365 -subj “/CN=localhost”
- Apache için:
- SSLEngine on
- SSLCertificateFile /path/to/localhost.crt
- SSLCertificateKeyFile /path/to/localhost.key
- Nginx için:
- listen 443 ssl;
- ssl_certificate /path/to/localhost.crt;
- ssl_certificate_key /path/to/localhost.key;
Sertifikayı oluşturduktan sonra, tarayıcınızda https://localhost ile test edin. İlkin güvenlik uyarısı alınır; sertifikayı “güvenli” olarak sisteme eklediğinizde uyarı kalkar.
- Alternatif olarak mkcert ile çok kolayca lokal CA oluşturup farklı domainlere/localhost’a kolay yoldan güvenli sertifika üretebilirsiniz.
- Let’s Encrypt doğrudan localhost için sertifika üretmez; alan adı ve DNS kaydı gerektirir.
Güvenlik Önlemleri: Yerel Ortamda ve Geçişte
Yerel geliştirme ortamı saldırıya daha az açıktır, fakat açık portlar, zayıf şifreler veya yanlış izinler ciddi risk doğurur. Özellikle bilgisayar farklı cihazlara veya internete açık bırakılırsa tehdit büyür.
Temel Güvenlik Adımları
- Güncellemeleri düzenli yapın: WordPress, tema ve eklentileri güncel tutun.
- Güçlü şifreler kullanın ve admin kullanıcı adını karmaşık seçin.
- İki Faktörlü Kimlik Doğrulama (2FA): Gelişmiş güvenlik için eklentilerle etkinleştirilebilir.
- Güvenlik eklentileri kurun: Wordfence, Sucuri, iThemes Security, gibi güvenlik eklentileri dosya tarama, zararlı yazılım analizi, brute-force engelleme, firewall ekler.
- wp-config.php, .htaccess koruma: Dosya izinlerini sıkı tutun; .htaccess ile ek koruma sağlayın.
- Yedekleme: Otomatik yedekleme eklentileriyle mutlaka yedek alın.
WordPress’te Kapsamlı Yedekleme ve Geri Yükleme
Geliştirme sürecinde veri kayıplarına karşı yedekleme yapmak hayati önem taşır. Yedekleri manuel veya aşağıdaki popüler eklentilerle alabilirsiniz:
| Eklenti | Özellikler | Ücretsiz Sürüm | Uzak Depolama |
| UpdraftPlus | Planlı/artımlı yedek, tek tık geri yükleme, Dropbox/Google/Amazon entegrasyonu | + | + |
| Duplicator | Klonlama, site taşıma, yedekleme | + | + |
| BackWPup | Şifrelenmiş arşiv, farklı sunuculara yedekleme | + (sınırlı) | + |
| Jetpack Backup | Otomasyon, malware tarama, harici sunucuda depolama | + (sınırlı) | + |
Herhangi bir yenilik/test öncesinde, taşınma veya önemli değişikliklerde önce güncel yedek mutlaka alın. Geri yükleme işlemi de eklenti arayüzlerinden kolayca yapılabilir.
Performans Optimizasyonu: Yerel ve Canlı Ortam Farkları
Yerelde Performans Artırma Teknikleri
- PHP ve MySQL/MariaDB Sürüm Güncelliği: En güncel sürümler performans ve güvenlik açısından önemlidir.
- Cache (Önbellekleme) Eklentileri: WP Super Cache, W3 Total Cache, LiteSpeed Cache gibi eklentiler geliştirici ortamında da kullanılabilir. Fakat Canlı ile birebir deneyimi görmek için canlı ortama benzer şekilde yapılandırma yapılmalı.
- Gereksiz eklenti ve tema temizliği: Kullanmadığınız eklenti/temayı silin.
- Görsel optimizasyonu: Medya dosyalarını TinyPNG vb. eklentilerle sıkıştırın.
- Veritabanı optimizasyonu: WP-Optimize gibi eklentiler ile imdat veritabanı tablolarını temizleyin.
CDN Kullanımı ve Yerel Testler
CDN, canlıda hız ve yük paylaşımı için kritik bir rol oynar fakat yerelde test etmek zor olabilir. CDN etkisi yerine dosya sıkıştırma, local cache gibi fonksiyonları test ederek canlıya geçiş öncesi konfigürasyonlar yapılabilir.
PHP Bellek ve Kaynak Limitlerini Yönetmek
Performans testi ve ağır sorgular için wp-config.php dosyasında:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);
gibi ayarlamalar gerekebilir.
Ağ Ayarları ve Port Yönlendirme
Yerel WordPress sitenize ağınızdaki (ör. evdeki WiFi/LAN) diğer cihazlardan erişmek veya dışarıdan erişim vermek için aşağıdaki ayarları düzenlemeniz gerekir:
1. Firewall/Windows Güvenlik Duvarı Ayarları
- Port 80 (HTTP) ve 443 (HTTPS) açık olmalıdır.
- Windows’ta, Denetim Masası > Sistem ve Güvenlik > Windows Defender Güvenlik Duvarı > Gelişmiş Ayarlar > Yeni Kural > Bağlantı Noktası yolunu izleyip “80” ve “443” portlarını açmanız gerekir.
2. Modem/Router Port Yönlendirme
- Modem arayüzüne girin, “Port Forwarding” veya “NAT” bölümünden yerel bilgisayarın IP’siyle birlikte 80 ve 443 portunu yönlendirin.
3. Localhost’a Farklı Cihazlardan Erişim
- Bilgisayarınızın lokal IP adresini bulun (ör. 192.168.1.10).
- Ağdaki başka bir cihazdan tarayıcıya şu şekilde girin: http://192.168.1.10/benimsitem/.
4. Açık Portun Güvenlik Riskleri
Port açma işlemi, saldırganların ağınıza veya bilgisayarınıza erişmesini kolaylaştırır. Hiçbir zaman gereksiz port bırakmayın veya gereksiz yere internete açmayın.
Sanallaştırma (Virtualization) ve Container Teknolojileri
- Docker kullanımı, tek komutla izole ve hızlı WordPress ortamı sağlar. Geliştirici ekiplerinde ortam tutarlılığını korur, local–canlı farklarını minimize eder. Örneğin, Traefik ile otomatik SSL ve load balancing de rahatça eklenebilir.
- Vagrant ise hem VirtualBox (veya alternatif) üzerinde tam bir sanal makina hem de istenen PHP/NGINX/MySQL gibi çeşitli kombinasyonlara sahip olunmasını sağlar. LAMP/MAMP ortamından farklı olarak, canlıya %100 benzer ortamda geliştirme/test kabiliyeti sunar.
Her iki çözüm de ileri seviye geliştiriciler için vazgeçilmezdir; WordPress çekirdeği veya gelişmiş eklenti/tema geliştiriyorsanız ciddi avantaj sağlar.
Yerel WordPress’i Canlı Ortama Taşıma: Adım Adım Süreç
Bir projeyi tamamladıktan sonra yerel sunucudan canlı hosting ortamına taşımak için birkaç adım izlenir:
- Yedekleme ve Paketleme
- Duplicator veya All-in-One WP Migration gibi eklentilerle paket alınabilir.
- Manuel olarak veritabanı phpMyAdmin’den dışa aktarılır, site dosyaları arşivlenir.
- Canlı Hosting’de Veritabanı Oluşturma
- Hosting yönetim panelinde yeni bir MySQL/MariaDB veritabanı oluşturun.
- Dosya ve Veritabanı Transferi
- FTP veya dosya yöneticisiyle tüm site dosyalarını yükleyin (köklüde /public_html/ veya /www/ dizinine).
- phpMyAdmin ile veritabanı import edilir.
- wp-config.php Güncellemesi
- Yeni veritabanı adı, kullanıcı adı/şifresi güncellenir.
- Domain ve URL Ayarları/Permalink Güncellemesi
- siteurl ve home’nin yeni domain ile değişmesi gerekir.
- Search & Replace veya manual SQL ile linkler güncellenir.
- Kalıcı bağlantıları panelden tekrar “kaydet” yaparak .htaccess güncelliği sağlanır.
Detaylı taşınma rehberi için [bu kaynak][43†source] veya Duplicator/All-in-One WP Migration dokümantasyonları incelenebilir.
Avantajlar ve Dezavantajlar: Yerel Barındırmanın Derinlemesine Analizi
Avantajlar
- Maliyet avantajı: Alan adı ve hosting için ek ücret gerekmez.
- Tam kontrol ve özelleştirme: Her türlü deneme ve modifikasyon risksiz, kendi donanım ve yazılımınızla sınırlıdır.
- Hatalı değişiklik riski yok: Canlı sitede olduğu gibi yanlış kod veya yapılandırma sonucu ziyaretçi kaybı, veri kaybı yaşanmaz.
- Hızlı kurulum/geliştirme: Yerel ağda veya bilgisayarda barındırılan site, iletişim gecikmesi yaşamaz, otomasyon testleri kolayca yapılır.
- Öğrenme ve test için ideal: Tema/eklenti geliştirenler, yeni başlayanlar ve ekip halinde çalışanlar için “güvenli alan” işlevi görür.
Dezavantajlar
- Ulaşılabilirlik: Sadece bilgisayarınız açıkken ve aynı ağda olan cihazlar erişebilir, internete açık değildir.
- Gerçek kullanıcı yükünün ve CDN, DNS gibi servislerin simülasyonu zordur.
- SSL/TLS gerçek ortam kadar güvenilir değildir (browser uyarısı vb.)
- Canlıya geçiş/uyumluluk sorunları: PHP/NGINX/Apache sürüm farklılıkları, izinler ve bağlantılar taşınırken sorun yaratabilir.
- Teknik bilgi gerektirir: Dosya izinleri, ağ ayarları, firewall gibi konularda bilgi gerektirir. Bakım ve problem çözümü tamamen kullanıcıya aittir.
- Güvenlik riski: Port açma, erişim paylaşımı gibi durumlarda saldırı riski artar.
Detaylı Karşılaştırma Tablosu
| Özellik | Yerel Barındırma | Paylaşımlı/Profesyonel Hosting |
| Maliyet | Ücretsiz (mevcut donanımda) | Ücretli (Yıllık/Aylık) |
| Erişilebilirlik | Sadece yerel/dahili erişim | 7/24 ve her yerden erişim |
| Performans | Donanımınıza bağlı | Sunucu ölçeği ve CDN’e bağlı |
| Yedekleme | Manuel veya eklentiyle | Otomatik (çoğu hostingde) |
| Destek | Kullanıcıya bağlı | Profesyonel teknik destek |
| Güvenlik | Kullanıcıya bağımlı | Çok katmanlı, denetimli |
| Ölçeklenebilirlik | Kaynaklar kişisel donanımla sınırlı | Kaynak yükseltme rahat |
| Taşıma kolaylığı | Manuel işlem veya eklentiyle orta kolay | Hosting paneliyle kolay |
Sonuç ve Kapanış
Kendi bilgisayarında WordPress sitesi barındırmak, ister yeni başlayan biri olun ister profesyonel geliştirici, web geliştirme ve test süreçlerinde büyük özgürlük ve öğrenme alanı sunar. Ancak canlı ortamdan veya yönetilen hostingden farklı olarak bazı sorumluluklar, riskler ve teknik işler beraberinde gelir. Her aşamada düzenli yedek almanız, güncel sürümleri kullanmanız ve güvenliği asla geri plana atmamanız, yerel site çalıştırmanın avantajlarından tam olarak yararlanmanızı sağlar. Yerel geliştirme ortamı, özellikle site tasarımı, eklenti/tema testleri, hata-giderme ve kişisel öğrenme süreçlerinde paha biçilmezdir. Ancak projeniz gerçek kullanıcılarla buluşacaksa, güvenli ve optimize edilmiş bir canlı hosting ortamına taşımak kaçınılmazdır.
Sürecin herhangi bir aşamasında hata, uyumsuzluk veya güvenlik sorunu yaşarsanız, yukarıda sunulan rehber, Türkçe ve uluslararası topluluklar yardımıyla kolayca çözüm bulmanıza yardımcı olacaktır.
About The Author
Bu haberi okuduğunuz için teşekkürler, abone olmayı unutmayın!
