آموزش ویرایش فایل Wp-config.php
ویرایش فایل wp-config.php بسیار حساس است چون یک فایل حیاتی وردپرس است و محل ذخیره سازی اطلاعات پایگاه داده مانند پیشوند جدول پایگاه داده، مسیرهایی به دایرکتوری خاص، جزئیات اتصال به پایگاه داده می شود. این فایل با پیکربندی سایت شما در زمان نصب وردپرس ایجاد می شود حساسیت این فایل به خاطر این است که بر خلاف بقیه فایل ها تنها یک بار ساخته می شود. با آسیب و یا حذف این فایل و در صورت عدم وجود اطلاعات پایگاه داده، سایت شما نمی تواند با دیتابیس ارتباط برقرار کند و با خطای Error Establishing a Database Connection مواجه خواهید شد. حالا که با اهمیت فایل wp-config.php آشنا شدید ویرایش فایل wp-config.php باید با دقت بالایی انجام شود در این مقاله با نکات مهم آشنا می شوید.
آیا آموزش هایی در مورد ویرایش wp-config خوانده اید و هنوز متوجه نشده اید که این فایل را چگونه ویرایش کنید؟ این فایل از حیاتی ترین فایل های وردپرس است. ما در این مقاله به صورت کامل این مورد را بررسی خواهیم کرد.
فایل wp-config چیست؟
همانطور که می دانید وردپرس یک پلتفرم آماده است و نیاز به ابزاری (configuration) برای پیکربندی سایت شما دارد. درست مثل هاست که نیاز به پیکربندی دارد. البته در هاست، این کار را شرکت هاستینگ برایتان انجام می دهد. بر خلاف سایر فایل ها، فایل wp-config.php امکان ساخته شدن مجدد ندارد؛ بلکه به طور خاص برای سایت شما در طول فرایند نصب وردپرس تولید می شود.
وردپرس اطلاعات پایگاه داده شما را در فایل wp-config ذخیره سازی می کند. بدون این اطلاعات، وب سایت شما به دلیل عدم ارتباط با پایگاه داده کار نخواهد کرد و خطای Error Establishing a Database Connection را خواهید دید. علاوه بر اطلاعات پایگاه داده، تنظیمات مختلفی در سطوح بالای امنیتی نیز در wp-config ذخیره می شود که در ادامه آنها را بررسی خواهیم کرد.
از آنجایی که این فایل حاوی اطلاعات بسیار حساسی است، پیشنهاد می شود به هیچ عنوان با آن کاری نداشته باشید؛ مگر آنکه گزینه دیگری نداشته باشید! و حالا که شما این مقاله را دارید می خوانید احتمالا این نیاز برای شما ایجاد شده است و این بدان معنی است که می خواهید دست به ویرایش فایل wp-config بزنید.
در زیر مراحل انجام این کار به صورت مرحله به مرحله آمده تا بتوانید بدون ایراد، فایل را ویرایش کنید.
ویرایش فایل wp-config.php
اول از همه شما نیاز دارید تا از فایل وردپرس خود نسخه پشتیبان یا بک آپ تهیه کنید. پیشنهاد می کنم برای تهیه بک آپ های سفارشی و زمان بندی شده از یک پلاگین مطمئن مثل افزونه duplicator استفاده کنید؛ Duplicator یک افزونه قدرتمند وردپرس است که به شما این امکان را میدهد به سادگی از سایت خود یک نسخه پشتیبان تهیه کنید.
فایل wp-config یکی از فایل های حیاتی در وردپرس است و هر تغییر اشتباه در آن، هرچقدر هم که کوچک باشد، احتمال از دسترس خارج شدن سایت شما را امکان پذیر می کند. پس بک آپ را جدی بگیرید.
در مرحله بعد، به یک نرم افزار FTP نیاز دارید، تا بتوانید با آن از طریق پورت FTP به سایت خود متصل شوید. اگر از ویندوز سیستم عامل محبوب شماست، می توانید از نرم افزار هایی نظیر WinSCP، SmartFTP و یا FileZila استفاده کنید و اگر کاربر mac هستید، Transmit یا CyberDuck گزینه های بسیار مناسبی هستند.
این نرم افزار ها به شما این اجازه را می دهند تا بتوانید اطلاعات را از هاست به کامپیوتر خود انتقال دهید. شما برای اتصال به هاست نیاز به نام کاربری و رمز عبور برای فایل FTP دارید و اگر این اطلاعات در دسترس شما نیست می توانید آن را از هاست خود درخواست دهید.
فایل wp-config در ریشه سایت وجود دارد و می توانید آنرا در صفحه ای که wp-content وجود دارد بیابید.
بعد از اتصال با FTP، بر روی این فایل راست کلیک کنید و گزینه دانلود را انتخاب کنید. بعد از دانلود آن می توانید به راحتی آنرا در محیط هایی نظیر notepad ویرایش کنید. توجه داشته باشید که شما با راست کلیک بر روی این فایل و انتخاب گزینه edit می توانید آنرا بر روی هاست خود نیز تغییر دهید ولی قبل از هر کاری یک کپی از آن را بر روی کامپیوتر خود ذخیره کنید.
آشنایی با کد های wp-config
قبل از اینکه شروع به ویرایش فایل wp-config کنید، بهتر است با کدهای پیشفرض این فایل آشنا شوید. همچنین یک نمونه کامل از فایل wp config را در سایت Github مشاهده کنید.
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define(
'DB_NAME'
,
'database_name_here'
);
/** MySQL database username */
define(
'DB_USER'
,
'username_here'
);
/** MySQL database password */
define(
'DB_PASSWORD'
,
'password_here'
);
/** MySQL hostname */
define(
'DB_HOST'
,
'localhost'
);
/** Database Charset to use in creating database tables. */
define(
'DB_CHARSET'
,
'utf8'
);
/** The Database Collate type. Don't change this if in doubt. */
define(
'DB_COLLATE'
,
''
);
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @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.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix
=
'wp_'
;
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define(
'WP_DEBUG'
, false);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if
( !defined(
'ABSPATH'
) )
define(
'ABSPATH'
, dirname(
__FILE__
) .
'/'
);
/** Sets up WordPress vars and included files. */
require_once
(ABSPATH .
'wp-settings.php'
);
تمامی قسمت های wp-config دارای توضیحاتی است که شما می توانید آنها را مورد مطالعه قرار دهید.
ویرایش فایل wp-config : تنظیمات my sql
اطلاعات انصال به پایگاه داده شما در فایل wp-config موجود است که در ادامه نمونه آن را خواهید دید. شما برای ارتیاط با پایگاه داده به نام پایگاه داده، نام کاربری و رمز عبور نیاز خواهید داشت.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define(
'DB_NAME'
,
'database_name_here'
);
/** MySQL database username */
define(
'DB_USER'
,
'username_here'
);
/** MySQL database password */
define(
'DB_PASSWORD'
,
'password_here'
);
/** MySQL hostname */
define(
'DB_HOST'
,
'localhost'
);
/** Database Charset to use in creating database tables. */
define(
'DB_CHARSET'
,
'utf8'
);
/** The Database Collate type. Don't change this if in doubt. */
define(
'DB_COLLATE'
,
''
);
شما می توانید اطلاعات پایگاه داده را از طریق حساب cpanel خود نیز بدست بیاورید. برای این کار به قسمت my database رفته و اطلاعات مورد نیاز خود را مطالعه کنید.
اگر موفق نشدید، اطلاعات مورد نیازتان را پیدا کنید، حتما با شرکت هاستینگ تان تماس بگیرید.
کلید اصلی و salt
کلید اصلی و salts کلید های امنیتی هستند که به صورت یکتا بوده و در هیچ جدولی نمونه آن وجود ندارد. این کلید ها کمک می کنند تا امینت سایت شما از نظر نشست ها و کوکی ها تضمین شود. بخشی از این کد ها را می توانید در زیر ملاحظه کنید.
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @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'
);
/**#@-*/
اگر احساس می کنید به دلیل لاگین هایی که در سایت وجود دارد، امنیت سایت شما کم شده است؛ می توانید کلید های امنیتی خود را در اینجا تعریف کنید.
تغییر پورت و سوکت mysql در وردپرس
اگر پایگاه داده شما بر روی پورت خاصی تعریف شده باشد، باید پورت اتصال به پایگاه داده را تغییر دهید. توجه داشته باشید که شما باید این خط کد را به عنوان کد جدید به سایت اضافه کنید و به صورت پیش فرض در wp-config وجود ندارد.
define(
'DB_HOST'
,
'localhost:5067'
);
از آنجایی که تمای دیتابیس های وردپرس به صورت پیش فرض با پورت 5067 کار می کنند، لازم است حتما این پورت را برای جلوگیری از هک شدن تغییر دهید.
اگر پایگاه داده شما از sockets یا pipes استفاده می کند، کد شنا به صورت زیر خواهد بود.
define(
'DB_HOST'
,
'localhost:/var/run/mysqld/mysqld.sock'
);
تغییر آدرس ها توسط wp-config در وردپرس
اگر شما می خواهید سایت خود را از دامنه ای به دامنه دیگری انتقال دهید، باید آدر URL خود را آدرس مبدا از قسمت تنظیمات – عمومی به آدرس مقصد انتقال دهید.
همچنین شما می توانید این کار را از طریق کد زیر با ویرایش wp-config نیز انجام دهید.
define(
'WP_HOME'
,
'http://example.com'
);
define(
'WP_SITEURL'
,
'http://example.com'
);
فراموش نکنید example.com را یه آدرس سایت خود تغییر دهید. اگر سایت شما با www ایندکس شده است، باید نام دامنه خود را با پیشوند www اضافه کنید چراکه در SEO نام دامنه با پیشوند و بدون پیشوند کاملا متفاوت بوده و عملا دو آدرس متفاوت است!
تغییر فضای آپلود فایل با ویرایش فایل wp-config.php
به صورت پیش فرض وردپرس تمای media ها(شامل تصاویر، ویدئو و …) خود را در آدرس wp-contnet/uploads قرار می دهید و اگر نیاز دارید تا این مکان را تغییر دهید می توانید از طریق کد زیر آدرس ذخیره سازی داده ها را تغییر دهید.
define(
'UPLOADS'
,
'wp-content/media'
);
غیرفعال سازی آپدیت خودکار وردپرس
به روز رسانی خودکار وردپرس برای تمامی وب سایت ها ار نظر امنیتی بسیار مهم است. به همین دلیل از نسخه 3.7 به بعد تمامی وردپرس ها به صورت اتوماتیک آپدیت می شوند. ولی از آنجایی که برخی تم ها یا افزونه ها وابسته به نسخه های قبلی وردپرس می باشند(اکثر قالب های بدون آپدیت و پشتیبانی) و با آپدیت شده آن امکان خارج از دسترس شدن آنها و یا حتی سایت شما وجود دارد، می توانید از طریق کد زیر آپدیت اتوماتیک وردپرس را غیرفعال کنید.
define(
'WP_AUTO_UPDATE_CORE'
, false );
به کمک این کد ها می توانید به درستی ویرایش فایل wp-config را بدون مشاهده خطاهای رایج وردپرس انجام دهید. امیدوارم این مقاله برایتان مفید باشد. ضمن اینکه از آقای رحمن صادقی کاربر خوب راست چین، بخاطر نگارش این مقاله کمال تشکر را داریم.