Apa Itu wp-config.php? Pengertian dan Cara Setting Lengkap
File wp-config.php adalah bagian penting dari situs WordPress dan keamanannya. Diperlukan sedikit pengetahuan dan kemampuan teknis untuk mengatur file ini karena prosesnya cukup berisiko.
Melalui artikel ini, Anda akan mempelajari cara konfigurasi WordPress tanpa masalah dan manfaat apa saja yang bisa Anda dapatkan dengan mengonfigurasinya.
Apa Itu wp-config.php?
Wp-config.php adalah file yang menyimpan konfigurasi database di website Anda, seperti nama, username, password, dan host database.
Sebenarnya, file wp-config.php tidak langsung disertakan di WordPress, tetapi dibuat pada saat instalasi. File ini dibuat khusus untuk Anda. Letaknya ada di direktori root website Anda. Dalam contoh di bawah ini, lokasinya ada di /public_html.
Untuk mengubah file wp-config.php, Anda memerlukan FTP (misalnya FileZilla), atau jika menggunakan Hostinger, Anda bisa menggunakan Hostinger File Manager seperti yang kami lakukan. Setelah menemukan file, download ke hard drive Anda.
Penting! Hanya modifikasi file wp-config.php jika diperlukan dan jangan lupa melakukan backup untuk menghindari kemungkinan terburuk.
Sebagai contoh, kami akan menggunakan wp-config-sample.php sebagai source. File ini merupakan versi dasar wp-config.php yang berada di direktori WordPress Anda. Jadi, keduanya tidak begitu berbeda. Kode dideskripsikan dalam PHP constant dan tampilannya akan terlihat seperti ini:
<?php /** * Konfigurasi dasar untuk WordPress * * Skrip pembuatan wp-config.php menggunakan file ini pada saat * instalasi. Anda tidak perlu menggunakan website, cukup * salin file ini ke "wp-config.php" dan isikan nilainya. * * File ini memuat konfigurasi berikut: * * * Pengaturan MySQL * * Secret key * * Database table prefix * * ABSPATH * * @link https://codex.wordpress.org/Editing_wp-config.php * * @package WordPress */ // ** Pengaturan MySQL - Anda bisa mendapatkan info ini dari web host ** // /** Name database untuk WordPress */ define('DB_NAME', 'database_name_here'); /** Username database MySQL */ define('DB_USER', 'username_here'); /** Kata sandi database MySQL */ define('DB_PASSWORD', 'password_here'); /** Hostname MySQL */ define('DB_HOST', 'localhost'); /** Database Charset yang perlu digunakan saat membuat tabel database. */ define('DB_CHARSET', 'utf8'); /** Tipe Database Collate. Jangan ubah jika tidak yakin. */ define('DB_COLLATE', ''); /**#@+ * Authentication Unique Key dan Salt. * * Ubah menjadi frasa unik yang berbeda! * Anda bisa membuatnya menggunakan {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * Anda bisa mengubahnya kapan saja untuk membatalkan validasi semua cookie yang ada. Dengan begitu, semua pengguna harus login lagi. * * @since 2.6.0 */ define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here'); /**#@-*/ /** * WordPress Database Table prefix. * * Anda bisa melakukan beberapa instalasi di satu database jika memberikan * prefix yang unik bagi tiap-tiapnya. Hanya sertakan angka, huruf, dan garis bawah! */ $table_prefix = 'wp_'; /** * Untuk developer: mode debugging WordPress. * * Ubah ke true untuk menampilkan pemberitahuan selama pengembangan. * Sangat disarankan bagi developer plugin dan tema untuk menggunakan WP_DEBUG * di lingkungan pengembangannya. * * Untuk informasi tentang konstanta lain yang bisa digunakan untuk debugging, * kunjungi Codex. * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', false); /* Selesai! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** Mengatur variabel WordPress dan file yang disertakan. */ require_once(ABSPATH . 'wp-settings.php');
Pengaturan MySQL untuk wp-config.php
Konfigurasi database Anda ditulis di bagian pengaturan MySQL di wp-config.php dan memuat hostname MySQL, nama database, username, dan password. Ketika memindahkan situs ke penyedia web hosting lain, Anda mungkin perlu memperbarui salah satu informasi tersebut dan mengubah detail MySQL Anda. Berikut snippetnya:
// ** Pengaturan MySQL - Anda bisa mendapatkan info ini dari web host ** // /** Nama database untuk WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Username database MySQL */ define( 'DB_USER', 'username_here' ); /** Kata sandi database MySQL */ define( 'DB_PASSWORD', 'password_here' ); /** Hostname MySQL */ define( 'DB_HOST', 'localhost' );
Cara lain untuk melihat informasi ini adalah dengan mencarinya di control panel web hosting. Login ke akun web hosting Anda lalu cari bagian Database.
Di hPanel, Anda bisa mengaksesnya melalui menu Hosting di menu bar atas, cari bagian Database di sidebar kiri, lalu pilih Pengelolaan untuk melihat database MySQL Anda. Tampilannya akan seperti ini:
Kemudian, ada beberapa hal lain yang bisa Anda ubah dalam file wp-config.php untuk meningkatkan performa website. Anda bisa membuat Authentication Key dan Salt, mengubah table prefix, mengaktifkan mode debugging, dan memindahkan file untuk alasan keamanan. Kami akan menjelaskannya satu per satu.
Security Key
File wp-config.php adalah file yang penting karena Anda bisa membuat Security Key dan Salt di dalamnya. Keduanya akan melindungi website Anda dalam cara yang lebih canggih, yaitu dengan mengenkripsi informasi pengguna.
Untuk melakukannya, Anda membutuhkan kata sandi yang kuat, yang bisa Anda buat menggunakan WordPress password generator. Setelah mendapatkan kata sandi, paste satu per satu dalam tanda apostrof untuk menggantikan kalimat ‘put your unique phrase here’.
/**#@+ * Authentication Unique Key dan Salt. * * Ubah menjadi frasa unik yang berbeda! * Anda bisa membuatnya menggunakan {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * Anda bisa mengubahnya kapan saja untuk membatalkan validasi semua cookie yang ada. Dengan begitu, semua pengguna harus login lagi. * * @since 2.6.0 */ define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here'); /**#@-*/
Implementasi ini akan memberikan dampak yang cukup besar, yaitu semua pengguna akan di-logout dan cookie yang masih berlaku akan menjadi tidak valid. Dengan begitu, hacker yang mencoba untuk mencuri informasi pun tidak akan bisa masuk ke situs Anda.
Database Table Prefix
Sebenarnya, WordPress sudah menyiapkan table prefix di wp-config.php dan Anda bisa memperketat perlindungan website dengan memodifikasinya. Berikut kodenya:
$table_prefix = 'wp_';
Untuk keamanan yang lebih baik, sebaiknya ubah prefix ini pada saat instalasi. Jika mengganti prefix yang sudah ada, proses SQL injection akan menjadi lebih sulit.
Ganti wp prefix dengan susunan karakter yang acak, tapi ingat bahwa Anda hanya bisa menggunakan karakter garis bawah, huruf, dan angka. Berikut contohnya:
$table_prefix = 'wp_custom751Admin_';
Gunakan kombinasi yang rumit untuk mengganti wp prefix. Percuma saja Anda mengubah table prefix database jika mudah ditebak.
Mode Debugging
Mode debugging secara default tidak diaktifkan. Anda bisa mengaktifkannya jika ingin mempelajari pengembangan WordPress.
Mode ini dimaksudkan untuk memberi tahu developer setelah kode dijalankan agar mereka bisa mencari bug di website. Namun, jika mempertimbangkan fungsinya, mode ini ternyata juga cukup berguna bagi pengguna biasa.
Untuk mengaktifkan mode debugging, Anda hanya perlu mencari baris seperti pada contoh di bawah ini lalu mengganti mode debug ke true (awalnya bernilai false).
define('WP_DEBUG', false);
Mencari dan Mengedit Lokasi File wp-config.php
Mengganti lokasi wp-config.php bisa sangat berisiko sehingga Anda harus membuat backup terlebih dahulu. Meski begitu, Anda mungkin perlu memindahkan file wp-config.php ke lokasi lain agar terhindar dari serangan hacker. Tidak ada salahnya untuk sedia payung sebelum hujan, bukan?
Nah, untuk mengganti lokasi file wp-config.php, gunakan aplikasi FTP pilihan Anda (kami menggunakan Hostinger File Manager) lalu ikuti langkah-langkah berikut:
- Cari wp-config.php di direktori root website (seperti yang sudah ditunjukkan sebelumnya).
- Pindahkan wp-config.php dengan cara drag-and-drop ke direktori lain yang Anda inginkan. Semakin acak tujuan akhirnya, semakin baik. Pada contoh ini, kami menaruhnya di /public_html/wp-admin/user.
- Setelah itu, website Anda akan menjadi tidak bisa diakses. Hal ini terjadi karena website tidak mengenali lokasi file wp-config yang baru. Agar website mengenali lokasi file yang sebenarnya, Anda harus membuat file wp-config.php lain pada editor teks di PC Anda. Pada contoh kami, file wp-config.php (atau shortcut) yang baru hanya memuat:
<?php include(‘/domains/hostinger-dev-9.xyz/public_html/wp-admin/user’); ?>
Jangan lupa untuk mengganti direktori di atas dengan lokasi wp-config.php Anda yang baru.
- Unggah file baru ke direktori root Anda, yaitu lokasi awal file wp-config.php yang asli. Jika file backup masih ada, timpa dengan yang baru.
- Selesai! Konfigurasi WordPress kini sudah berada di tempat yang lebih aman.
Kesimpulan
Sekarang, Anda sudah tahu bahwa file wp-config.php memiliki peran yang sangat penting untuk situs WordPress Anda. File ini memuat informasi sensitif yang harus Anda amankan dari para pelaku kejahatan cyber.
Untungnya, ada beberapa hal yang bisa Anda lakukan untuk melindungi dan mengontrol website Anda secara lebih ketat. Namun ingat, berhati-hatilah saat mengedit file tersebut karena bisa saja website Anda tiba-tiba menjadi tidak bisa diakses. Semoga berhasil!