DEV Community

Cover image for Pardus Server 21 üzerinde WordPress Sunucusu oluşturmak
Suleyman Poyraz
Suleyman Poyraz

Posted on

Pardus Server 21 üzerinde WordPress Sunucusu oluşturmak

Wordpress, çok amaçlı bir site oluşturma servisidir. Wordpress ile bloglardan tutun video paylaşım sitelerine kadar pek çok farklı site oluşturabilirsiniz. Ayrıca dünyada internet sitelerinin %60'ı Wordpress kullanmaktadır gibi de bir iddiası var Wordpress'in.

Bu yazımda Pardus 21 Server üzerinde Wordpress sunucusu oluşturmayı anlatacağım. WordPress'i Pardus kullanan bulut sunucunuza kurmak için WordPress organizasyonunun, Debian için önerdiği temel “5 dakikalık kurulum” kılavuzunu takip edeceğiz. Ancak, WordPress'i kendi özel bulut sunucumuza kurulacağımız için, birkaç ek sunucu tarafı yazılım uygulaması yüklemeniz gerekecektir. Ancak, temelde, şu adımları takip edeceğiz:

  • Veritabanı Sunucusunun kurulması
  • PHP dili ve sunucu frameworkünun kurulması
  • Wordpress'in kurulması
  • Veritabanı yapılandırması

Apache Kurulumu

Temelde Apache ile kuruluma başlamakta yarar vardır. Çünkü Wordpress genelde Apache sunucu kullanılarak yayınlanır. Bunun için:

sudo apt install apache2
Enter fullscreen mode Exit fullscreen mode

diyoruz. Ve apache sunucu kurulmuş oluyor.

Mariadb Kurulumu

MariaDB'yi WordPress tarafından veritabanı depolama yazılımı olarak kullanılmaktadır. Kurulum için başta paketlerini kuracağız:

sudo apt install mariadb-server
Enter fullscreen mode Exit fullscreen mode

Şimdi de mariadb sunucusunun şifre yöneticisini açarak ayarlamalarda bulunalım:

sudo mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode

Bu aşamada program bizden database için yapacağımız kurulumda şifre oluşturmamızı isteyecektir.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No
Enter fullscreen mode Exit fullscreen mode

Eğer yeni bir şifre oluşturacaksanız buna evet manasında Y'ye tıklayın.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 
Enter fullscreen mode Exit fullscreen mode

Bu aşamada orta uzunlukta bir şifre oluşturalım, bu yüzden 1'e tıklayalım

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 
Enter fullscreen mode Exit fullscreen mode

buna da n diyelim. Böylece kurulum tamamlanmış oldu.

Şimdi MySQL kullanıcılarını listeleyelim

sudo mysql
Enter fullscreen mode Exit fullscreen mode

Bu bizim için bir SQL kabuk ortamı oluşturacaktır. Şimdi şunları yazalım.

MariaDB [(none)]> SELECT user,authentication_string,plugin,host FROM mysql.user;
Enter fullscreen mode Exit fullscreen mode

Çıktısı şu şekilde görünecektir

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *FA769377A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Enter fullscreen mode Exit fullscreen mode

Burada göründüğü üzere auth_socket şifresi verelim. Burada 'password' bizim belirleyeceğimiz şifre olacak. Öntanımlı olarak ben password olarak belirledim.

MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Enter fullscreen mode Exit fullscreen mode

Bu değişikliğin okunması için tablomuzu güncelleyelim

MariaDB [(none)]> FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode

Ve yeniden Tablomuzu kontrol edelim

MariaDB [(none)]> SELECT user,authentication_string,plugin,host FROM mysql.user;

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *FA769377A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Enter fullscreen mode Exit fullscreen mode

Ctrl-D'ye basarak mariadb sql konsolundan çıkabilirsiniz

Kurulumunuzu güvenceye almak için yukarıdaki komutları izleyin.
Not: Veritabanlarınızın güvenliğini sağlamak ve herhangi bir harici erişime izin vermemek büyük önem taşımaktadır.

MariaDB sunucusunun çalıştığından emin olmak ve kontrol etmek için şu komutu kullanabilirsiniz:

sudo systemctl status mariadb
Enter fullscreen mode Exit fullscreen mode

PHP Kurulumu

Şimdi PHP betik dilini kurmanın zamanı geldi. Bu dil, WordPress'in yazıldığı dildir. Bu sebeple hala komut satırındayken, devam edelim, PHP'yi ve gerekli modülleri kuralım:

sudo apt install php libapache2-mod-php php-mysql
Enter fullscreen mode Exit fullscreen mode

Kurulumun tamamlanması ile beraber PHP'ye ve WordPress için gerekli modüllere sahip olmalısınız. PHP kurulum sürümünüzü kontrol etmek için isteğe bağlı olarak şu komutu çalıştırabilirsiniz:

php -v
Enter fullscreen mode Exit fullscreen mode

PHP kurulduktan sonra Apache2'nin durdurulup yeniden başlatılması gerekebilir. Bunun için:

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start
Enter fullscreen mode Exit fullscreen mode

Veritabanı Yapılandırması

Apache, MariaDB ve PHP kurulumunun ardından wordpress için bir database oluşturmamız gerekecek. Öncelikle mariadb içerisine girelim

mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

Bizden şifre isteyecek ki bu şifreyi yukarıda tanımlamıştık. Onu girelim. Şimdi ise mariadb veritabanı açmak için SQL konsolunda şunu yapalım:

MariaDB [(none)]> CREATE DATABASE wordpress_database;
Enter fullscreen mode Exit fullscreen mode

Benim özelimde wordpress tarafından kullanılan veritabanı ismi "wordpress_database" olacak. Şimdi bu veritabanını yönetecek kullanıcıyı oluşturalım. Benim özelimde bu kullanıcının adı "slmn", şifresi ise "password" olacak:

MariaDB [(none)]> CREATE USER 'slmn'@'localhost' IDENTIFIED BY 'password';
Enter fullscreen mode Exit fullscreen mode

Şimdi bu kullanıcıya veritabanına erişim izni verelim:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON `wordpress_database`.* TO 'slmn'@'localhost';
Enter fullscreen mode Exit fullscreen mode

Ve tüm yetkileri sunucuda uygulayalım

MariaDB [(none)]> FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode

Sunucuları Yeniden Başlatmak

Şimdi mariadb ve apache sunucularını yeniden başlatalım:

sudo systemctl restart apache2
sudo systemctl restart mariadb
Enter fullscreen mode Exit fullscreen mode

WordPress Kurulumu

Yükleme işleminin bu son aşamasında, WordPress kaynak dosyalarının yeni bir kopyasını indirecek, bunları veritabanınıza bağlayacak ve yepyeni bir WordPress sitesi oluşturmaya başlayacağız.

Her web sitesinin bir "belge kökü" olduğunu, temel olarak, genel web sitesi dosyalarının bulunduğu Apache web sunucusuna işaret eden bir dosya yolunun olduğunu unutmayın. Bu adımda apache ile birlikte gelen varsayılan dizini kullanacağız: /var/www/html/.

cd /var/www/html
Enter fullscreen mode Exit fullscreen mode

Şimdi super kullanıcı yetkisi alalım

sudo su
Enter fullscreen mode Exit fullscreen mode

Ve wordpress kaynak kodunu çekelim:

curl http://wordpress.org/latest.tar.gz -o latest.tar.gz
Enter fullscreen mode Exit fullscreen mode

Ve içeriği çıkartalım:

tar xfz latest.tar.gz 
Enter fullscreen mode Exit fullscreen mode

Bu işlem sonucunda, arşiv dosyasının içindeki tüm WordPress kaynak dosyaları "wordpress/" dizini altında çıkarılır. Ancak Apache'ye ekstra bir ayar yapmadığımız için Wordpress dosyalarını /var/www/html/ dizinde istiyoruz. Bu yüzden şu komutu kullanıyoruz:

mv wordpress/* .
Enter fullscreen mode Exit fullscreen mode

Ve boş wordpress dizinini silelim:

rmdir wordpress/
Enter fullscreen mode Exit fullscreen mode

Ayrıca öntanımlı Apache index dosyasını da silelim:

rm index.html
Enter fullscreen mode Exit fullscreen mode

Wordpress yapılandırması

Şimdi, wp-config.php veritabanı bağlantı bilgilerini içeren çekirdek dosyasını düzenlememiz gerekecek.
WordPress, veritabanına bağlanmak ve değişiklik yapmak için uygun kimlik bilgilerine ihtiyaç duyar.Bu aşamada yukarıda kullandığımız kullanıcı adı ve şifreleri kullanacağız ancak öncelikle bu dosyanın örnek dosyasını alalım ve wp-config.php adıyla kopyalayalım:

cp wp-config-sample.php wp-config.php
Enter fullscreen mode Exit fullscreen mode

Ardından wp-config'i açıp düzenleyelim:

nano wp-config.php
Enter fullscreen mode Exit fullscreen mode

Dosyada aşağıdaki kısımları bulalım:

define( 'DB_NAME', 'database_name_here' );
/** MySQL database username */
define( 'DB_USER', 'username_here' );
/** MySQL database password */
define( 'DB_PASSWORD','password_here' );
Enter fullscreen mode Exit fullscreen mode

Ve kendi kullanıcı bilgilerimizle değiştirelim

define( 'DB_NAME', 'wordpress_database' );
/** MySQL database username */
define( 'DB_USER', 'slmn' );
/** MySQL database password */
define( 'DB_PASSWORD','password' );
Enter fullscreen mode Exit fullscreen mode

Wordpress Site kurulumu

Kurulum komut dosyasını başlatmak için bir web tarayıcısı kullanacağız. WordPress kurulumunu yapmak için şu adresi ziyaret etmelisiniz: http://SUNUCU_IP_ADRESI/wp-admin/install.php

install-step5_v47

Artık kurulumu tamamladık... İyi çalışmalar...

Top comments (0)