Ana içeriğe geç

Ubuntu 16.04 Üzerinde Uzak MySQL Kurulumu

Bu rehberde, WordPress kullanan projeler için uzak MySQL veritabanı kurulumunu öğreneceksiniz.
Amaç, web sunucusu yükünü azaltmak ve veritabanı bağlantısını SSL/TLS ile güvenli hale getirmektir.


Bu Rehberde Ne Öğreneceksiniz?

  • Web ve veritabanı sunucusunu ayırma mantığını
  • MySQL’i uzaktan erişime açmayı
  • SSL/TLS ile veritabanı bağlantısını şifrelemeyi
  • WordPress’i uzak MySQL ile çalıştırmayı

Bu yapı, büyüyen projelerde performans ve ölçeklenebilirlik sağlar.


Gereksinimler

  • 2 adet Ubuntu 16.04 Bulut Sunucu
    • Biri Web Sunucusu (Nginx + PHP kurulu)
    • Biri Veritabanı Sunucusu
  • Her iki sunucuda:
    • sudo yetkili kullanıcı
    • UFW güvenlik duvarı aktif

1. Adım: Veritabanı Sunucusuna MySQL Kurulumu

  1. MySQL’i sadece veritabanı sunucusuna kuruyoruz.
sudo apt-get update
sudo apt-get install mysql-server
  • Bu komut MySQL sunucusunu kurar ve root şifresi oluşturmanızı ister.

  • MySQL servisinin çalıştığını kontrol edin:

systemctl status mysql

2. Adım: MySQL Temel Güvenlik Ayarları

  1. Varsayılan açıkları kapatmak için güvenlik betiğini çalıştırın.

mysql_secure_installation
  • Tüm sorulara Evet (y) demeniz önerilir.

3. Adım: Uzak Erişim ve SSL Yapılandırması

  1. MySQL yapılandırma dosyasını açın:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

  1. mysqld altında şu ayarları yapın:

bind-address = db_sunucu_ip
require_secure_transport = on
  • Bu ayarlar, MySQL’in uzaktan ve şifreli bağlantı kabul etmesini sağlar.

  1. SSL anahtarlarını oluşturun:

sudo mysql_ssl_rsa_setup --uid=mysql

  1. MySQL’i yeniden başlatın:

sudo systemctl restart mysql

4. Adım: Güvenlik Duvarı Ayarı

  1. MySQL portunu açın:

sudo ufw allow mysql

  1. MySQL’in dinlediğini doğrulayın:

sudo netstat -plunt | grep mysqld

5. Adım: WordPress Veritabanı ve Kullanıcı Oluşturma

  1. MySQL’e giriş yapın:

mysql -u root -p

  1. Veritabanını oluşturun:

CREATE DATABASE rabisu_wp;

  1. Yerel kullanıcı oluşturun:

CREATE USER 'rabisu_user'@'localhost' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON rabisu_wp.* TO 'rabisu_user'@'localhost';

  1. Web sunucusu için uzak kullanıcı oluşturun:

CREATE USER 'rabisu_user'@'web_sunucu_ip' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON rabisu_wp.* TO 'rabisu_user'@'web_sunucu_ip';

  1. Yetkileri kaydedin:

FLUSH PRIVILEGES;
exit;

6. Adım: Uzak Bağlantıyı Test Etme

  1. Web sunucusunda MySQL istemcisini kurun:

sudo apt-get install mysql-client

  1. Bağlantıyı test edin:

mysql -u rabisu_user -h db_sunucu_ip -p

  1. SSL kullanıldığını doğrulayın:

status;
  • SSL: satırını görüyorsanız her şey yolunda.

7. Adım: WordPress’i Uzak MySQL ile Yapılandırma

  1. WordPress’i indirin:

curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

  1. Yapılandırma dosyasını oluşturun:

cp wordpress/wp-config-sample.php wordpress/wp-config.php

  1. Güvenlik anahtarlarını alın:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

  1. wp-config.php içine ekleyin ve veritabanı bilgilerini düzenleyin:

define('DB_NAME', 'rabisu_wp');
define('DB_USER', 'rabisu_user');
define('DB_PASSWORD', 'guclu_sifre');
define('DB_HOST', 'db_sunucu_ip');
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);

  1. Dosyaları web dizinine taşıyın:

sudo cp -a wordpress/* /var/www/html
sudo chown -R www-data:www-data /var/www/html

8. Adım: Web Arayüzü Üzerinden Kurulumu Tamamlama

  1. Tarayıcıdan alan adınıza gidin.
  2. WordPress kurulum sihirbazını tamamlayın.

Sıkça Sorulan Sorular (SSS)

1. Uzak MySQL neden performans kazandırır? Web ve veritabanı yükü ayrı sunuculara bölünür.

2. SSL olmadan kullanabilir miyim? Önerilmez. Ağ trafiği açık hale gelir.

3. Özel IP mi genel IP mi kullanmalıyım? Aynı veri merkezindeyse özel IP tercih edin.

4. Bu yapı yeni Ubuntu sürümlerinde çalışır mı? Evet, mantık tüm LTS sürümlerinde aynıdır.

Sonuç

Bu yapı ile WordPress siteniz daha hızlı, daha güvenli ve ölçeklenebilir hale gelir. Yüksek trafikli projeler için sağlam bir temel oluşturur.

👉 Rabisu Bulut platformunda hemen iki Bulut Sunucusu oluşturun ve bu mimariyi canlıya alın.