VPS sunucuya WordPress kurmak

By | 1 Mart 2017

VPS sunucu aldınız ama Wordpress’i nasıl kuracağınızı bilmiyor musunuz? Optimum ayarlarla hızlı bir WordPress yazı dizisinin fazla karışık olduğunu mu düşünüyorsunuz? O halde sizi buraya alalım, çünkü bu yazıda okuyacaklarınızla 20 dakika içerisinde ilk blogunuzu kurmuş olacaksınız. Bu blog, binlerce ziyaretçiyi aşırı yük altında aynı anda kaldırabilir; ancak işin zor kısmı kurulumdan ziyade bu ziyaretçileri sitenize çekmektir. 🙂

İçindekiler

Sunucu alımı

Eğer bir VPS sunucunuz varsa bile bu adımı atlamayın, zira anlatacağım yöntem sadece yeni kurulmuş bir VPS üzerinde işe yarayacaktır. Eğer hali hazırda bir VPS sunucunuz varsa bile, bu işlemi denemek için DigitalOcean üzerinden bir kaç saatlik bir sunucu oluşturabilir, deneme sonunda ise sunucuyu silebilirsiniz. Sunucuyu sildiğiniz zaman ödeme yapmanız gerekmez. 2 saatlik sunucunun size maliyeti sadece ve sadece 25 kuruştur. DigitalOcean size denemeniz için kayıt olduğunuzda 10 dolarlık kredi veriyor. Bu krediyle 2 ay boyunca sunucuyu açık tutabilirsiniz.

DigitalOcean’a nasıl kayıt olunur?

  1.  Buraya tıklayarak DigitalOcean sayfasını açalım ve sağ üstteki Sign Up butonuna tıklayalım. Aşağıdaki görseldeki beyaz kutuda, DigitalOcean’ın sizin hesabınıza 10 dolar kredi vereceği İngilizce olarak yazıyor.
  2. Gelen sayfadaki formda üstteki kutuya e-posta adresimizi, alttakine ise sitede kullanmak istediğimiz şifremizi girelim. Ardından ise yeşil renkteki Sign Up butonuna tıklayalım.
  3. Ardından açılan sayfada ise sağ üstte 10 dolar kredimizin hesabımıza tanımlandığını, alttaki büyük kutuda ise e-posta adresimizi onaylamamız gerektiğini yazıyor.

  4. E-posta adresimize gelen linke tıklayıp hesabımızı onaylıyoruz. Daha sonra ise karşımıza kredi kartı ekleyebileceğimiz bir ekran gelecek. Eklediğiniz karttan krediniz bitene kadar çekim yapılmayacak, bu yüzden içiniz rahat olsun.
  5. Kartı kaydettikten sonra artık bir sunucu yaratabiliriz. Sağ üstteki yeşil renkli Create Droplet butonuna tıklayalım ve aşağıdaki ayarları seçelim:Choose an image – Debian 8.7 x64
    Choose a size – 5 dolarlık olan ilk paket
    Add block storage – Burada bir şey yapmamıza gerek yok
    Choose a datacenter region – Bu ayar, kuracağımız sunucunun hangi bölgede olacağını belirliyor. Türkiye’den hızlı bir erişim istiyorsanız Amsterdam veya Frankfurt tercih edebilirsiniz.
    Select additional options – Bu kısımda son kısımdaki Monitoring seçeneğini işaretleyebilirsiniz. DigitalOcean, size sunucunuzla ilgili istatistikleri zaten sunuyor, ancak bu seçeneği seçerseniz bu istatistikler daha detaylı oluyor.
  6. En alttaki yeşil Create butonuna tıklayarak sunucumuzu yaratıyoruz. Bu işlem oldukça kısa sürecektir.

DigitalOcean ile ilk sunucumuz

Artık sunucumuzu kurduk ve sıra sunucuya bağlanmaya geldi. Bağlantı için IP adresi ve şifre bilgileri e-postanıza gelmiş olmalı.

Windows kullanıyorsanız Putty ile, Linux veya Mac OS kullanıyorsanız ise Terminal ile sunucumuza bağlanabiliriz. Putty nasıl kullanılır diyorsanız buraya bakabilirsiniz. Tabii ki siz IP adresi yerine size gelen e-postadaki IP adresini yazacaksınız. Terminal kullanıyorsanız,

ssh root@ip-adresi

yazarak ve şifreyi girerek sunucumuza bağlanabiliriz. İlk girişte sistem bizden şifremizi değiştirmemizi isteyecek. Sırasıyla; eski şifreyi (e-posta ile gelen şifre), yeni şifreyi, yeni şifrenin tekrarını girerek şifreyi değiştirebilirsiniz.

Oldu bu iş, artık sunucudayız!

Easyengine kurulumu

Artık sunucumuzu kurduğumuza göre, WordPress ve gerekli diğer yardımcı programları kuracak olan programı kurmaya başlayabiliriz. Bu programın ismi Easyengine, kendisi küçük ama yaptığı işler çok büyük. Öncelikle Easyengine nedir, ne değildir bir tanıyalım.

Easyengine nedir?

Easyengine, Debian sistemlere kurulan ve bize sağladığı komutlarla çok hızlı bir şekilde, aynı anda binlerce hiti kaldırabilecek bir WordPress kurmanın yanında normal PHP 5.6 veya isteğe göre PHP 7 siteler oluşturmamızı sağlayan bir yazılımdır. Easyengine, çoğunlukla cPanel lisansına para vermek istemeyenler tarafından kullanılır. Easyengine ile gelen ve önbellekleme amacıyla kullanılan Redis sayesinde, W3 Total Cache veya WP Super Cache tarzı eklentilere gerek kalmaz, zira Redis bunu bizim için en etkili şekilde halleder. Bu şekilde kurulan bir cache sistemi yukarıda saydığım eklentilerden çok daha hızlıdır.

Easyengine ile LEMP stack denilen Nginx, MariaDB, PHP kurulur ve yanında ekstra olarak yukarıda bahsettiğimiz gibi Redis gelir.

Easyengine nasıl kurulur?

Easyengine kurmak çok kolaydır. Terminal ekranımıza yazacağımız bir satır kodla –neredeyse– tüm sunucuyu bizim yerimize ayarlayacaktır. Easyengine kurmak için

wget -qO ee rt.cx/ee && sudo bash ee

kodu terminale yapıştırılır ve çalıştırılır. Bu işlem gerçekleştirilirken size isminiz ve e-postanız sorulacaktır. Herhangi bir şey yazıp geçebilirsiniz ancak kendi isminizi girmenizi tavsiye ederim. Aşağıda izleyebileceğiniz gibi, tüm işlem sadece 1 dakika 40 saniye sürmekte!

Easyengine ile WordPress nasıl kurulur?

Bu adıma geçmeden yapmanız gereken ufak bir işlem var.

Başlamadan önce

Bu işlemi, domain adresinizi DigitalOcean’a yönlendirdiğinizi varsayarak anlatıyorum. DigitalOcean DNS adresleri aşağıdaki gibidir:

  • ns1.digitalocean.com
  • ns2.digitalocean.com
  • ns3.digitalocean.com

Domain adresinizi ayarladıktan sonra, buradaki panelden domain adresinizi hesabınıza eklemeniz gerekmekte. Unutmayın ki, DNS yönlendirmeleri hemen olabileceği gibi, bir günü de bulabilir.

Başlıyoruz

Domain adresiniz yönlendiğinde sunucuya bağlanarak aşağıdaki komutlar ile bir WordPress oluşturabiliriz:

ee site create domainadresiniz.com.tr --wpredis --letsencrypt --php7

Bu kod sırasıyla şunları yapacaktır:

  1. Girdiğiniz domain adresine PHP7 tabanlı bir WordPress kurup, Redis cache sistemini ayarlayacaktır.
  2. Sitenize Let’s Encrypt ile ücretsiz bir SSL sertifikası temin ederek kurulumunu otomatik olarak yapacaktır.

Komutu girdikten sonra karşımıza bazı uyarılar gelecektir. Sırasıyla;

  1. y – Enter
  2. y – Enter

yaptığımzda kurulum başlayacaktır. Bu işlem 1-2 dakika arasında sürebilir. İşlem bitene kadar terminale dokunmayınız. İşlem bitince terminalde WordPress sitenizin yönetici hesabının kullanıcı adı ve şifresini göreceksiniz. Örnek olarak:

Artık yönetim panelimize girip Redis ile önbellek ayarlarını yapabiliriz. WordPress yönetim paneline girdiğinizde, sisteme eklenen 2 tane Redis ve Nginx Helper adında ekstra plugin göreceksiniz.

Sırasıyla bunları ayarlayalım:

Ayarlar -> Nginx Helper: Purging conditions altındakilerin hepsini seçelim.

Ayarlar -> Redis: Enable Object Cache tuşuna basalım.

Artık her yeni yazı / sayfa yarattığımızda veya mevcut bir yazıyı / sayfayı düzenlediğimizde önbellek otomatik olarak silinecektir. Ayrıca; herhangi bir yorumu onaylayıp yayınladığınızda da mevcut önbellek temizlenecektir. 

Easyengine ile daha neler yapılabilir?

Easyengine ile sitenize otomatik olarak, ücretsiz bir şekilde SSL sertifikası alabilirsiniz. Bu işlem için Let’s Encrypt kullanılmakta. Detaylı kullanım kılavuzunu Easyengine web sayfası üzerinden bulabilirsiniz, eğer yeterli talep olursa onun için ayrıca bir yazı hazırlamayı düşünebilirim.

Easyengine ayrıca phpMyAdmin ve diğer bir takım yönetim panellerini de otomatik olarak kurmaktadır.

Sunucu güvenliği

Sunucu güvenliği, kendi sunucunuzu yönetiyorsanız oldukça önemli ve kesinlikle atlanmaması gereken bir takım detaylar içerir. Bu konu, bu yazının konusunun oldukça dışında olduğundan sadece yüzeysel olarak bahsedeceğim.

Genel olarak bir sunucu ilk defa kurulduğunda yapılması gereken bazı ayarlar şu şekildedir:

  • SSH portunu değiştirmek
  • Yeni bir kullanıcı yaratıp, yarattığımız kullanıcıya root erişimi vermek; akabinde ise root erişimini engellemek
  • Firewall kurup sadece kullanacağımız portlara izin vermek
  • SSH anahtarı yaratıp, mevcut kullanıcılara sadece bu anahtarla giriş izni vermek

WordPress hız testleri

Loadimpact sitesi ile yaptığım test sonucu. Bu test normal bir ziyaretçiyi taklit eder gibi, blogdaki değişik yazılara girmek suretiyle gerçekleştirildi. Saniyede 480 istekte dahi sayfanın yüklenme süresi sadece 1,5 saniye.

Eğer atladığım yerler olabilirse yorum kısmından sorabilirsiniz. Siz WordPress blogunuzu hızlandırmak için neleri yapıyorsunuz? Lütfen aşağıda bizimle paylaşın.