Google Cloud'da CentOS 7 İşletim Sistemine Wordpress Nasıl Kurulur? (Video İçerik)
BU YAZINIMDA GOOGLE CLOUD'DA CENTOS 7 İŞLETİM SİSTEMİNE WORDPRESS HAZIR BLOG SİSTEMİNİ NASIL KURABİLECEĞİNİZDEN BAHSEDECEĞİM.
Merhaba, bu yazınımda sizlere Google Cloud'da CentOS 7 işletim sistemine Wordpress hazır blog sistemini nasıl kurabileceğinizden bahsedeceğim. Bu kurulum aşamalarında Unzip, Vim Editor, Wget, PHP, PHP-GD, MySQL, Apache servislerinin kurulumlarını da yapıyorum.
Wordpress, herkesin kolaylıkla kişisel blog oluşturabilmesini ve kullanabilmesine olanak sağlayan hazır bir platformdur. PHP yazılım dilini ve MySQL veri tabanı teknolojisini kullanarak hizmet vermektedir. Yönetim ve kullanımı oldukça basit olduğu için Wordpress dünyada en çok kullanılan hazır blog sistemlerinde başı çekiyor diyebilirim.
PHP nesne yönelimli(object oriented) web programlama dilidir. Bu yazılım dilimizin normal şartlarda anavatanı Linux işletim sistemidir :) Ancak Windows işletim sistemlerinde de çalıştırmak elbette mümkündür. Bu yöntemlerle ilgili daha sonrasında PHP'ye özel bir yazınım ve videom olacaktır. Ancak şimdilik bilmeniz gereken, Wordpress blog sisteminin php ile yazılmış olmasıdır.
MySQL bir veri tabanı teknolojisidir. Yine bu teknolojimizin de anavatanı Linux işletim sistemidir ancak Windows işletim sisteminde de çalıştırılması yardımcı programlar ile mümkün. En son versiyon olarak MySQL 8.0 mevcut olsa da, son dönemlerde Google'da MySQL ile ilgili bir şey araştırdığınızda MariaDB adında bir veri tabanı teknolojisinin karşınıza çıkması yüksek olasılığa sahiptir. MariaDB ve MySQL'i karşılaştırdığım ufak bir yazınım olacak. PHP yazılım dili herhangi bir ek connector kütüphanesine ihtiyaç duymadan MySQL veri tabanı servisine bağlantı kurabilir. Bu sebepten Wordpress blog sistemi de MySQL veri tabanı sistemini kullanmaktadır.
Şöyle tanımlamak gererkise, Linux işletim sistemine sahip her web hosting sunucusunun bel kemiği Apache'dir. MySQL servisini kurdunuz, PHP'yi son versiyona güncellediniz, Wordpress dosyalarını indirdiniz her servisi başarıyla kurdunuz. Ama bir şeyi unuttunuz: Apache Web Server. Eğer bu servisi kurmazsanız ve gerekli ayarlamaları yapmazsanız, siteniz yayıına çıkmayacaktır. Yani kısacası, bir alan adınız var ve sitenizi yayına açmak istiyorsanız, Apache Web Server' ı kurmanız gerekiyor.
# Videoda bu komutları teker teker yazarak kurulumlarını yapıyorum. Ancak tek bir satırda hepsini de kurabilirsiniz.
> yum install unzip vim wget php-gd php
# Bu kod ile birlikte zipten dosyalarımızı çıkarmak için unzip kütüphanesini, config dosyalarımızı düzenlemek için vim editörü, internetten dosyalarımızı çekebilmek için wget kütüphanesini ve sistemimizde çalıştıracağımız php için php-gd ile php kütüphanelerini indiriyoruz.
WORDPRESS DOSYALARINI İNDİRME
# 'cd' komutu sanal makinenizin ana dizinine gitmenizi sağlar.
> mkdir wordpress
# 'mkdir' açık haliyle make directory(dizin oluştur) şuan bulunduğunuz dizinde bir klasör oluşturmanızı sağlar. Biz 'wordpress' adında bir klasör oluşturduk.
# Bu komut ile ana dizinde oluşturmuş olduğumuz wordpress klasörünün içerisine girmiş olduk.
> wget https://tr.wordpress.org/latest-tr_TR.zip
# Bu komut ile yukarıda bulunan adresteki dosyayı şuan bulunduğumuz dizine indirmiş olduk. Bu linki kopyalamak yerine https://tr.wordpress.org/ adresine giderek indireceğin Wordpress sürümünün bağlantısını kopyalamanız daha sağlıklı bir sonuç verecektir.
MYSQL DOSYALARINI İNDİRME VE KURMA
> wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
# Bu komut ile hala içerisinde olduğumuz wordpress klasörüne MySQL kurulum dosyamızı indiriyoruz.
> mv mysql80-community-release-el8-1.noarch.rpm mysql.rpm
# 'mv' komutu teknik olarak bir dosyayı kopyalayıp taşıma mantığı ile çalışır. Yani mv komutunu yazdıktan sonra ilk olarak dosyanın şuan ki adını veriyoruz ve bu dosyayı hafızaya almasını, daha sonra verdiğimiz isimle yeni bir dosya oluşturarak hafızadaki veriyi o dosyaya kopyalayarak önceki dosyayı silmesi için komut veriyoruz.
> md5sum mysql.rpm
# Bu komut dosyanızın şifrelenmiş 128 bitlik kodunu ortaya çıkartır ve aslında bu kod dosyanızın bütünlüğünü kontrol etmenizi sağlar. Hash kodunu dosyanın orijinal versiyonunun bulunduğu sitede bulabilirsiniz. Bu komutu kullanmak zorunlu değildir.
MD5 KODUNU İNDİRDİĞİNİZ YERDE BU ŞEKİLDE GÖRÜNTÜLEYEBİLİRSİNİZ
> rpm -ivh mysql.rpm
# 'rpm' komutu aslında 'yum' gibi bir paket yönetim komutudur. RPM komutu ile rpm uzantılı kurulum dosyalarını çalıştırabilrisiniz. '-i' (--info) paket bilgilerini, '-v' (--verbose) ayrıntılı çıktıyı ve '-h' (--hash) hash kodlarını verir.
# mysql-server kurulumunu başlattık.
# Kurulum tamamlandıktan sonra,
# 'systemctl' komutu sistemdeki servislere komut vermenizi sağlar. Örneğin burada start mysqld diyerek sisteme mysqld servisini çalıştırmasını söyledik. 'systemctl restart mysqld' yazsaydık mysqld servisini yeniden başlatacaktı.
> grep 'temporary password' /var/log/mysqld.log
# 'grep' komutu teknik olarak bir arama komutudur. Yukarıda yazdığımız kodu açıklamak gerekirse, temporary password şeklinde belirttiğimiz metni, mysqld.log dosyasının içerisinde arıyor ve bulunduğu satırı bize getiriyor.
# MySQL'e erişmek için aldığımız geçici şifre ile bu alana giriş yapıyor ve sisteme yeni bir şifre belirliyoruz. İlgili adımları videodan takip edebilirsiniz.
# 'mysql' komutu ile mysql arayüzüne geçiş yapacağımızı, '-u' komutu kullanıcı adı vereceğinizi, '-p' komutu ise şifre ile giriş yapacağınızı belirtiyor.
mysql> CREATE USER 'kullaniciadi' @ 'localhost' IDENTIFIED BY 'Şifreniz123.';
# CREATE USER kullanıcı oluşturmayı, IDENTIFIED BY ise şifre tanımlamanızı sağlar.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kullaniciadi' @ 'localhost' WITH GRANT OPTION;
# GRANT ALL PRIVILEGES = Tüm yetkileri tanımla, ON *.* = tüm veri tabanlarında ve alt tablolarında, TO 'kullaniciadi' @ 'localhost' belirlenen kullanıcıya aktarılmasını sağlar. Eğer belirli bir tabloya izin vermek istiyorsanız ON *.* yerine örneğin; ON wordpress.* şeklinde komut yazabilirsiniz.
# Bu komut yetki tanımlamış olduğumuz tablo veritabanlarını yeniden yükler.
mysql> ALTER USER 'kullaniciadi' @ 'localhost' WITH IDENTIFIED mysql_native_user BY 'Şifreniz123.';
# Yazılan komut kullanıcı için verdiğiniz şifrenin, hash koda çevirilmesini sağlıyor.
# MySQL'de işimiz bittiği için exit yazarak çıkıyoruz.
> mysql -u dogukansm -p
# MySQL'e yeni açtığımız kullanıcı ile giriş yapıyoruz.
# CREATE DATABASE yeni bir veritabanı oluşturmamızı sağlar.
# MySQL'den çıkıyoruz.
# HTTPD kütüphanesi ile Apache kurulumu yapıyoruz.
# firewall-cmd komutu ile güvenlik duvarının komut istemcisine '--permanent' ile kalıcı bir kural eklemek istediğimizi belirtip, '--add-port' komutu ile bir port ekleyeceğimizi söylüyoruz. '80' burada portumuz, 'tcp' ise protokolümüz oluyor.
# Güvenlik duvarımıza 80 portunun yanı sıra yine TCP protokolünde 443 portunu ekliyoruz.
> systemctl stop httpd
# Sisteme httpd servisini durdurmasını iletiyoruz.
# Sisteme httpd servisini başlatmasını iletiyoruz. İsterseniz stop-start yapmak yerine restart komutunu kullanabilirsiniz.
PHP VERSİYON GÜNCELLEME
# epel-release kütüphanesini kurduk
# Verdiğimiz adreste bulunan paketi kuruyoruz.
# yum paket yönetimi için geliştirilmiş paket yöneticisi kurulumunu yapıyoruz.
# yum ayar yöneticisinden PHP 7.2 versiyonunu aktif hale getirdik. Şimdi bu kodu iki versiyon için daha uygulayacağız.
# php kütüphanesini tekrardan kurulum aşamasına alıyoruz ki güncellemelerimizi yapsın.
> yum install php-mysqlnd
# PHP versiyonumuz 7.2'ye yükseltildiğinden dolayı MySQL desteğini geri getirmek için mysqlnd(MySQL Native Driver) yüklüyoruz.
# HTTPD servisini yeniden başlatıyoruz.
WORDPRESS KURULUMUNU TAMAMLIYORUZ
Hatırlarsanız Wordpress'in dosyalarını indirmiştik ve kurmak için beklemeye almıştık. Şimdi bu kurulum aşamamızı tamamlayalım.
# ana dizine dönüyoruz
# wordpress klasörünü açıyoruz
> unzip -q latest-tr_TR.zip -d /var/www/html/
# 'unzip' komutu zip halinde bulunan bir dosyayı zip dışına çıkarır. Uyarıları almak için '-q' komutunu kullanıyoruz, dosyamızı çıkartacağımız dizini belirlemek için '-d' komutunu kullanıyoruz.
> cd /var/www/html/wordpress
# Zip dosyamızı çıkardığımız dizine gidiyoruz.
> chown -R apache:apache /var/www/html/wordpress
# 'chown' komutu change owner yani; dosyanın sahiplik izinlerini değiştirir. '-R' komutu ise belirttiğiniz dizin ve altındaki tüm dizinler için aynı işlemi yapar.
> chmod -R 755 /var/www/html/wordpress
# 'chmod' komutu dosyanın yazma ve okuma izinlerini düzenler. '755' ise verilen iznin sayısal kodudur. Bu izin kodu tüm kullanıcı türlerine okuma, yazma ve çalıştırma izni verir.
> mkdir -p /var/www/html/wordpress/wp-content/uploads
# '-p' komutu eğer dizin oluştururken aynı dizin var ise hata vermemesini sağlayacaktır. Belirttiğimiz dizine 'uploads' isimli klasör oluşturduk.
> chown -R :apache /var/www/html/wordpress/wp-content/uploads
# Oluşturduğumuz 'uploads' klasörünün sahiplik izinlerini değiştiriyoruz.
Evet arkadaşlar, kodlarımız bu kadar. Geri kalan aşamalar için videomu izlemeye devam edebilirsiniz. İyi çalışmalar.