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 NEDİR?
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 NEDİR?
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 NEDİ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.
APACHE NEDİ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.
KOMUTLAR
# Bu komut ile yapacağımız işlemler yönetici kullanıcısıyla yapılmasını ve herhangi bir hata almamanızı sağlayacak.
> sudo su root
# Bu komut ile CentOS 7 işletim sistemimizin ihtiyacı olan son güncellemeleri kuracağız.
> yum update
# 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
# '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.
> cd wordpress
# 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.
> yum install mysql-server
# mysql-server kurulumunu başlattık.
# Kurulum tamamlandıktan sonra,
> systemctl start mysqld
# '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_secure_installation
# 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 -u root -p
# '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.
mysql> FLUSH PRIVILEGES;
# 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> exit
# 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.
mysql> CREATE DATABASE wordpress;
# CREATE DATABASE yeni bir veritabanı oluşturmamızı sağlar.
mysql> exit
# MySQL'den çıkıyoruz.
APACHE KURALIM
> yum install httpd
# HTTPD kütüphanesi ile Apache kurulumu yapıyoruz.
> firewall-cmd --permanent --add-port=80/tcp
# 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.
> firewall-cmd --permanent --add-port=443/tcp
# 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.
> systemctl start httpd
# Sisteme httpd servisini başlatmasını iletiyoruz. İsterseniz stop-start yapmak yerine restart komutunu kullanabilirsiniz.
PHP VERSİYON GÜNCELLEME
> yum install epel-release
# epel-release kütüphanesini kurduk
> yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# Verdiğimiz adreste bulunan paketi kuruyoruz.
> yum install yum-utils
# yum paket yönetimi için geliştirilmiş paket yöneticisi kurulumunu yapıyoruz.
> yum-config-manager --enable remi-php72
# yum ayar yöneticisinden PHP 7.2 versiyonunu aktif hale getirdik. Şimdi bu kodu iki versiyon için daha uygulayacağız.
> yum-config-manager --enable remi-php70
> yum-config-manager --enable remi-php71
> yum install php
# 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.
> systemctl stop httpd
> systemctl start httpd
# 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.
> cd
# ana dizine dönüyoruz
> cd wordpress
# 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.