WordPress en popüler blog platformlarından biridir. İnternet’teki tüm web sitelerinin %30 kadarı WordPress ile çalışmaktadır. Amazon, DigitalOcean, Linode gibi cloud servis sağlayıcıları kullanarak veya cPanel, Plesk destekli herhangi bir php, mysql sunucu kiralayarak siz de kolayca kurulum yapabilirsiniz. Bu yazımızda tüm vps, vds, cloud sağlayıcılarında çalışabilecek bir kurulum yapacağız.
İşletim sistemi olarak Ubuntu 14 (isterseniz 16 ve 18 de kullabilirsiniz), Web sunusu olarak nginx, php sürümü olarak 7.2 ve standart linux dağıtımları depolarında standart olarak bulunan Oracle Mysql 5.6 kullanacağız. Bununla beraber Apache kurulumu da çok da farklı değil fakat nginx yoğun yükte daha sorunsuz ve performanslı olduğu için onu tercih ettik. Aynı şekilde PHP7.2’nin PHP5’e göre çok ciddi performans avantajı var. Bu nedenle 7 sürümünü kullandık. Servis sağlayıcısı olarak ise Vultr kullandım fakat bunun yerine Amazon Free Tier de kullanarak ücretsiz test yapabilirsiniz.
Vultr sunucuyu oluşturunca sunucunun ip adresi ve şifresi mail ile geliyor. Bu aşamada isteğe bağlı olarak elimizdeki bir domain adresine DNS kayıtlarını kullanarak bir subdomain oluşturarak Vultr’daki sunucumuza yönlendirebiliriz. DNS olarak cloudflare kullandığım için A kaydı oluşturarak sunucunun ip adresini vererek bu işlemi gerçekleştirdim
Artık putty üzerinden wptest.fikir.pw
adresini kullanarak root kullanıcı adı ve maildeki şifre ile sunucuya bağlanabiliyoruz.
Ubuntu PHP 7.2 Kurulumu
Bağlandıktan sonra ilk olarak güncel php 7.2 ppa adreslerini ekleyip apt-get update
paket kurulum adreslerimizi güncel hale getiriyoruz ve apt-get install php
ile php yi kuruyoruz:
apt-get install -y software-properties-common add-apt-repository ppa:ondrej/php apt-get update -y
apt-get install php php-fpm php-mysql php-gd -y
php -v
komutunu php version öğrenme işlemi için kullanabiliriz. Şu an en son stabil sürüm olan php7.2 sistemimize kurulmuş oldu. Bununla beraber php mysql bağlantısı için gerekli olan eklentiyi ve resim işleme için lazım olan gd’yi de yüklemiş olduk.
Ubuntu Nginx Kurulumu
nginx ve mysql kurulumu da benzer. Öncelikle resmi depo adreslerini ekliyoruz. Bu daha güncel stabil sürümleri kurmamızı sağlıyor. İstersek update öncesi ve sonrası versionları apt-cache madison nginx
ile karşılaştırabiliriz.
sudo add-apt-repository ppa:nginx/stable
apt-get update -y
apt-get install nginx
nginx -v komutu ile son sürümün yüklendiğini teyit edebiliyoruz. Son sürüm kullanmak önemli çünkü Ubuntu 14 ile gelen eski sürümlerde http2 desteği yok.
Ubuntu Mysql Kurulumu
Mysql kurulumu için herhangi bir ppa adresi eklemize gerek yok. Oracle sağ olsun artık mysql’i pek güncellemiyor. Bunun yerine mysql’i geliştiren asıl takım mariadb’yi kurdu fakat biz kurulumu basit tutmak için dağıtım ile standart gelen mysql’i kuracağız. Bunun için:
apt-get install mysql-server -y
komutunu kullanıyoruz. Kurulum esnasında bizden şifre istiyor. Bunu belirleyip enter ile geçiyoruz
Ardından mysql -pŞİFRE
komutu ile giriş yapıyoruz (arada boşluk yok) ve wptest ya da istediğimiz isimde bir veritabanı oluşturuyoruz.
mysql -pp2mezz
create database wptest;
WordPress son sürüm indirip kurma
Gerekli tüm yazılımları indirdik. Şimdi site için gerekli ayarları yapıp bu parçaları birbirine bağlamaya geldi. Öncelikle wptest.fikir.pw ya da test için kullandığımız domain adresimiz için nginx ayar dosyamızı oluşturalım. nano /etc/nginx/sites-enabled/wptest.fikir.pw
ile açtığımız dosyanın içeriğini aşağıdaki gibi yapıyoruz. Böylece nginx site ekleme işlemini gerçekleştirmiş oluyoruz:
server {
listen 80;
root /var/www/wptest.fikir.pw;
index index.php index.html;
server_name wptest.fikir.pw;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Bu ayar dosyasında sitemizin yayın yapacağı dizini /var/www/wptest.fikir.pw
olarak belirledik. mkdir /var/www/wptest.fikir.pw
ile bu klasörü oluşturup, nginx -t
komutu ile ayarların düzgün olduğunu kontrol ettikten sonra service nginx restart
komutu ile nginx’i yeniden başlatarak bu ayarları aktif hale geliyoruz. Şu an hiçbir dosya olmadığı için bu adrese sorgu attığımızda 403 Forbidden hatası alıyoruz:
Şimdi sıra wordpress son sürüm indirip bu klasöre atmaya ve kurulumu tamamlamaya geldi. ilk 3 komut ile son sürümü indirip klasöre kopyalıyoruz, chown ile ise nginx’e bu klasörde işlem yapabilmesi için yetki veriyoruz. Bunu yapmazsak özellikle eklenti ve tema kurulum aşamalarında sorunlar yaşayabiliriz.
wget http://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
rsync -avzh ~/wordpress/ /var/www/wptest.fikir.pw/
cd /var/www/wptest.fikir.pw/
chown www-data:www-data . -R
Artık DNS kayıtlarımızda düzgünse web tarayıcı ile test adresimize gidip kurulum ekranını görebiliriz.
Türkçe seçip devam ettikten sonra mysql kullanıcı adı şifremizi veriyoruz.
Site başlığını, wordpress kullanıcı adı ve şifremizi de belirledikten sonra kurulumumuz tamamlanıyor.
WordPress kurulumu bu kadar. Gerekli eklentiler ve performans ip uçları için sonraki yazılarımızı takip edin 😀 .