wp-config.php Hakkında Bilmeniz Gereken Her Şey

wp-config.php Hakkında Bilmeniz Gereken Her Şey

wp-config.php  dosyası WordPress sitenizin ve güvenliğinin önemli bir parçasıdır. Ancak bu dosyayı düzenlemek biraz uzmanlık gerektirir. Bu makaleyi okuduktan sonra WordPress sitenizi yapılandırarak ne gibi faydalar elde edeceğinizi düşüneceksiniz.

wp-config.php Dosyası Nedir?

İlk olarak wp-config.php dosyasının ne olduğunu bilmek önemlidir. Bu dosya web sitenizdeki veri yapılandırmasını saklar. Bu dosyada saklanan bilgiler veritabanı isimleriniz, kullanıcı adı, şifre ve veritabanı hostudur.

Aslında wp-config.php dosyası WordPress’de yerleşik olarak bulunmaz ancak kurulum esnasında oluşturulur. Size özeldir. Dosyanın konumu ise web sitenizin kök dizinidir Bu örnekte dosya /public_html‘de bulunmaktadır.

Kök dizininde wp-config.php konumu

wp-config.php dosyasını değiştirmek için bir FTP istemcisine (ör: FileZilla) ihtiyacınız olacak ancak eğer Hostinger kullanıyorsanız tıpkı bizim de kullandığımız gibi Hostinger Dosya Yöneticisini kullanabilirsiniz. Sırada ise dosyayı sabit diskinize indirmek var.

Önemli: wp-config.php‘i sadece gerekirse düzenleyin ve bir yedeğini almayı unutmayın. Bu dosyayı bozmak ciddi problemlere yol açabilir.

Bu örnek için biz wp-config-sample.php‘i kaynağımız olarak kullanacağız. WordPress dizininizde bulunan wp-config.php dosyasının taban versiyonudur ve bu iki dosya birbirinden çok da farklı değildir. Kodlar PHP sabitinde bulunmalıdır ve böyle gözükmelidir:

<?php
/**
* WordPress temel yapılandırma tabanı
*
* wp-config.php script oluşturucusu bu dosyayı kurulum sırasında
* kullanır. Web siteyi kullanmanız gerekmez, bu dosyayı 
* "wp-config.php"e kopyalayabilir ve değerleri doldurabilirsiniz.
*
* Bu dosya aşağıdaki yapılandırmaları içermektedir:
*
* * MySQL ayarları
* * Gizli anahtarlar
* * Veritabanı tablo ön eki
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/

// ** MySQL ayarları - Bu bilgiyi web hosting sağlayıcınızdan alabilirsiniz ** //

/** WordPress için olan veritabanı adı */
define('DB_NAME', 'buraya_veritabani_adinizi_girin');

/** MySQL veritabanı kullanıcı adı */
define('DB_USER', 'buraya_kullanici_adinizi_girin');

/** MySQL veritabanı şifresi */
define('DB_PASSWORD', 'buraya_sifrenizi_girin');

/** MySQL hostname (sunucu adı) */
define('DB_HOST', 'localhost');

/** Veritabanı tablolara yaratmakta kullanılan Veritabanı Charset'i. */
define('DB_CHARSET', 'utf8');

/** Veritabanı Collate türü. Eğer emin değilseniz değiştirmeyin. */
define('DB_COLLATE', '');

/**#@+
* Kimlik Doğrulama Anahtarları ve Saltları.
*
* Her anahtar ve salt farklı olmalıdır!
* Bunları {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} kullanarak üretebilirsiniz
* Bunları mevcut çerezleri geçersizleştirmek için istediğiniz zaman değiştirebilirsiniz. Bunu yapmak bütün kullanıcıların yeniden giriş yapmasını isteyecektir.
*
* @since 2.6.0
*/
define('AUTH_KEY',         'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('SECURE_AUTH_KEY',  'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('LOGGED_IN_KEY',    'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('NONCE_KEY',        'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('AUTH_SALT',        'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('SECURE_AUTH_SALT', 'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('LOGGED_IN_SALT',   'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('NONCE_SALT',       'buraya eşsiz sözcük öbeğinizi yerleştirin');

/**#@-*/

/**
* WordPress Veritabanı Tablo ön eki.
*
* Her birine farklı bir ön ek vererek bir veritabanında birden çok
* kuruluma sahip olabilirsiniz. Yalnızca rakamlar, harfler ve alt çizgi kullanın!
*/
$table_prefix  = 'wp_';

/**
* Geliştiriciler için: WordPress hata ayıklama modu.
*
* Geliştirme sırasında bildirilerin tam olarak görüntülemesi için true olarak değiştirin.
* Eklenti ve tema geliştiricilerinin geliştirme ortamlarında  WP_DEBUG
* kullanmaları şiddetle önerilir.
*
* Hata ayıklama için kullanılabilecek diğer sabitler için
* Codex'i ziyaret edin.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', false);

/* Hepsi bu kadar, artık düzenlemeyi bırakabilirsiniz! Mutlu bloglamalar. */
/** WordPress dizinine giden mutlak yol adı. */
if ( !defined('ABSPATH') )
   define('ABSPATH', dirname(__FILE__) . '/');

/** WordPress değişkenlerini ve dosyalarını ayarlar. */
require_once(ABSPATH . 'wp-settings.php');

wp-config.php için MySQL ayarları

Veritabanı konfigürasyonunuz wp-config.php dosyasındaki MySQL ayarları altında bulunmaktadır. Bunlar MySQL hostname (sunucu adı), veritabanı adı, kullanıcı adı ve şifrenizdir. Bunlardan bazılarını web sitenizi başka bir web hosting sağlayıcısına geçtiğiniz zaman MySQL bilgilerinizi güncellemek için değiştirmeniz gerekebilir. İşte bir kesit:

// ** MySQL ayarları - Bu bilgiyi web hosting sağlayıcınızdan alabilirsiniz ** //

/** WordPress için olan veritabanı adı */
define( 'DB_NAME', 'buraya_veritabani_adinizi_girin' );

/** MySQL veritabanı kullanıcı adı */
define( 'DB_USER', 'buraya_kullani_adinizi_girin' );

/** MySQL veritabanı şifresi */
define( 'DB_PASSWORD', 'buraya_sifrenizi_girin' );

/** MySQL hostname (sunucu adı) */
define( 'DB_HOST', 'localhost' );

Bu bilgiyi hosting’inizin kontrol panelinde de bulabilirsiniz. Web hosting hesabınıza giriş yapın ve Veritabanları sekmesine tıklayın ve MySQL Veritabanları’nı seçin. Hostinger‘ın kontrol panelinde bu şekilde gözükmektedir:

Hostinger'ın kontrol panelinideki MySQL Veritabanları

Bunun dışında, wp-config.php dosyanızda web sitenizi iyileştirmek için değiştirebileceğiniz birçok şey mevcuttur. Kimlik doğrulama anahtarları ve saltları üretebilir, tablo ön ekinizi değiştirebilir, hata ayıklama modunu etkinleştirebilir ve güvenliğiniz için dosyanın yerini değiştirebilirsiniz. Teker teker hepsini açıklayacağız.

Güvenlik Anahtarları

wp-config.php dosyası önemlidir çünkü bu dosyanın içinde kimlik doğrulama anahtarları ve saltları yaratabilirsiniz. Bunlar web sitenizi kullanıcının bilgilerini şifreleyerek web sitenizi daha gelişmiş yöntemlerle koruyacaktır.

Bunu yaptıktan sonra bir dizi güçlü şifreye ihtiyaç duyacaksınız. Bunları WordPress şifre üretici ile oluşturabilirsiniz. Şifrelerinizi oluşturduktan sonra teker teker kesme işaretleri içindeki ‘buraya eşsiz sözcük öbeğinizi yerleştirin’ cümlesinin yerine yapıştırın.

/**#@+
* Kimlik Doğrulama Anahtarları ve Saltları.
*
* Her anahtar ve salt farklı olmalıdır!
* Bunları {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} kullanarak üretebilirsiniz
* Bunları mevcut çerezleri geçersizleştirmek için istediğiniz zaman değiştirebilirsiniz. Bunu yapmak bütün kullanıcıların yeniden giriş yapmasını isteyecektir.
*
* @since 2.6.0
*/
define('AUTH_KEY',         'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('SECURE_AUTH_KEY',  'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('LOGGED_IN_KEY',    'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('NONCE_KEY',        'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('AUTH_SALT',        'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('SECURE_AUTH_SALT', 'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('LOGGED_IN_SALT',   'buraya eşsiz sözcük öbeğinizi yerleştirin');
define('NONCE_SALT',       'buraya eşsiz sözcük öbeğinizi yerleştirin');

/**#@-*/

Bunu yapmak tüm kullanıcılarınızı çıkış yaptırmış olacak ve mevcut durumdaki çerezleri geçersiz kılacaktır. Böylece giriş bilgilerini kırmaya çalışan hackerlar uzak tutulmuş olacaktır.

Veritabanı Tablo Ön Eki

Aslında WordPress wp-config.php dosyası içinde önceden belirlenmiş bir tablo ön eki oluşturur. Daha güvenli yapmak için bu dosyayı düzenleyebilirsiniz. Kodun varsayılan hali böyle olacaktır:

$table_prefix  = 'wp_';

Daha fazla güvenlik için kurulum aşamasında bu ön eki değiştirmenizi öneriyoruz. Mevcut ön eki değiştirmek SQL enjeksiyonlarının gerçekleşme ihtimalini azaltacaktır.

Wp ön ekini istediğiniz şekilde değiştirebilirsiniz ancak sadece alt çizgi, harfler ve rakamları kullanabileceğinizi unutmayın. Örneğin:

$table_prefix  = 'wp_custom751Admin_';

Karmaşık bir ön ek seçmek en iyisi olacaktır. Aksi halde veritabanı tablo ön ekini değiştirmenin bir manası kalmayacaktır.

Hata Ayıklama Modu

Varsayılan olarak hata ayıklama modu devre dışı bırakılmıştır. Eğer WordPress geliştirmeye ilgi duyuyorsanız etkinleştirebilirsiniz.

Hata ayıklama modu kodlar çalıştırıldıktan sonra geliştiricileri bilgilendirmek içindir. Bu, sitedeki hataları bulmalarına yardımcı olacaktır. Ancak hata ayıklama modu normal kullanıcılar için de faydalı olabilir.

Hata ayıklama modunu etkinleştirmek oldukça basittir. Tek yapmanız gereken aşağıdaki kodu bulmak ve “false” olarak ayarlanmış hata ayıklama modunu “true” olarak değiştirmektir.

define('WP_DEBUG', false);

wp-config.php Dosyasının Konumunu Bulmak ve Düzenlemek

Bu dosyanın konumunu değiştirmek riskli olabileceğinden yedeğini almanız gerekir. Her ne kadar riskli de olsa wp-config.php dosyanızın konumunu değiştirmeyi hackerların bulamaması için değiştirebilirsiniz. Fazla güvenlik göz çıkarmaz.

Bu dosyanın konumunu bulmak için istediğiniz bir FTP işlemcisini kullanabilirsiniz. Biz Hostinger Dosya Yöneticisi’ni kullanacağız. Bu işlem için aşağıdaki aşamaları takip edin:

  1. Daha önce gösterdiğimiz gibi kök dizininizde wp-config.php dosyasını bulun.
  2. wp-config.php dosyasını istediğiniz dizine sürükleyip bırakarak taşıyın. Taşıyacağınız konum ne kadar sıradışı olursa o kadar güvenli olursunuz. Bu örnekte biz bu dosyayı /public_html/wp-admin/user konumuna yerleştireceğiz.wp-config.php dosyasının yeni konumu
  3. Bu işlemden sonra web siteniz erişilemez olacaktır çünkü web siteniz taşıdığınız wp-config dosyasının yeni yerini bilmez. Web sitenizin gerçek wp-config.php dosyasının konumunu bilmesi için bilgisayarınızda bir yazı editörü kullanarak yeni bir tane yaratmanız gerek. Bizim örneğimizde, yeni (ya da kısaltma) dosya sadece aşağıdakini içeriyor:
    <?php
    
    require_once(ABSPATH . '/wp-admin/user/wp-config.php');
    
    ?>

    Yukarıdaki gösterilen dizini wp-config.php dosyanızın yeni konumuyla değiştirmeyi unutmayın.

  4. Taşımadan önce gerçek olanın bulunduğu kök dizininize yükleyin. Eğer yedek dosyanız hala oradaysa üzerine yazın.
  5. İşte bu kadar. WordPress yapılandırma dosyanız artık daha güvenli bir konumda.

Sonuç

Bu makalede wp-config.php dosyasının WordPress için ne kadar önemli olduğunu öğrendiniz. Bu dosya kötü niyetli kişilerden uzak tutmanız gereken hassas bilgiler içermektedir. Neyse ki web sitenizi daha güvenli hale getirmek ve daha fazla kontrol elde etmek için yapabileceğiniz birçok şey bulunmakta. Ancak unutmayın ki burada öğrettiğimiz işlemleri uygularken dikkatli olmanız gerekir aksi takdirde WordPress web sitenize erişemeyebilirsiniz.

Düşüncelerinizi ve yorumlarınızı aşağıdaki yorumlar kısmında bizimle paylaşın!

Author
Yazar

Gökhan O.

Gökhan Hostinger’da YouTube Takım Lideri olarak çalışmakta. WordPress hakkındaki tecrübe ve bilgisini bu blogda paylaşıyor. Hostinger’ın adını YouTube içeriği üzerinden duyurmayı kendine görev edinmiştir. Hobileri arasında oyun oynamak ve futbol maçları izlemek vardır.