Редактируем файл wp-config

Файл wp-config.php – самый важный файл при установке WordPress. Он является основным конфигурационным файлом Вашего сайта, управляет ключевыми аспектами функциональных возможностей WordPress и предоставляет WordPress’у данные для решения ответственных задач, типа коннекта с базой данных.

Без файла wp-config.php WordPress просто не будет работать. Поэтому, всякий раз, когда Вы устанавливаете WordPress, одна из первых задач, которые необходимо выполнить, это подготовить Ваш файл wp-config.php.

В общем, все довольно просто – достаточно указать Ваши параметры базы данных MySQL, и готово. Другие параметры настройки, доступные в файле wp-config.php, будут работать по умолчанию. Но есть некоторые вещи, которые Вы можете сделать, чтобы настроить функциональные возможности, повысить безопасность и улучшить работу Вашего сайта.

Если мы посмотрим на те файлы, которые входят в состав дистрибуции WordPress, то файла wp-config.php мы там не найдем. Зато есть файл wp-config-sample.php. Именно этот файл и надо взять за основу, добавить в него необходимые параметры, и сохранить в главном каталоге установки WordPress под именем wp-config.php.

В качестве следующего шага можно обезопасить этот файл от возможности несанкционированного доступа к нему на сайте. Для этого в файл.htaccess, который расположен на сервере в том же каталоге, куда устанавливается WordPress, надо добавить следующие строчки:

Order Allow,Deny
Deny from all

Убедитесь, что права доступа к обоим этим файлам – chmod 640 . Это запрещает доступ к ним по внешним запросам, при этом выдается код 403- Forbidden .

Основные настройки

Вначале следует указать параметры базы MySQL, которую Вы создали для своего сайта.

// ** 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 ");

Тут все ясно – просто указываете имя базы данных (при этом не забудьте о том, что на Вашем сервере к имени, которое Вы выбрали, впереди добавляется префикс, совпадающий с Вашим именем аккаунта на хостинге), а также имя пользователя (помним о префиксе впереди!), и пароль для данного пользователя.

Например, если имя Вашего аккаунта – simple , а имя базы данных, которое Вы задали при создании – wpbase , то в качестве имени базы данных необходимо указывать simple _ wpbase .

Все эти параметры указываются в нешифрованном виде, как есть. Поэтому так важно предохранить данный файл от несанкционированного доступа извне.

В качестве имени хоста (hostname) обычно указывается 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", "");

Как правило, таблица utf-8 в наилучшей степени подходит в качестве кодовой таблицы WordPress, так как она мультиязычна. В любом случае, не меняйте эти строки без особой необходимости.

Более специфическими параметрами являются так называемые уникальные ключи аутентификации

/**#@+
* 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");
/**#@-*/

Эти ключи влияют на файлы cookies, которые записываются на компьютеры посетителей сайта. Считается, что каждое значение должно быть уникальным и достаточно большим по размерам. Однако, Вам нет надобности ломать голову о том, какие значения выбрать. Достаточно воспользоваться сервисом, адрес которого указан здесь же, а именно https://api.wordpress.org/secret-key/1.1/salt/

Обратившись по данному адресу, Вы получите восемь строчек с уникальными ключами. Вы можете просто скопировать их и заменить исходные строки в файле wp-config.php.

/**
* 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_";

По умолчанию, этот префикс – “wp_”. Можно его не менять. Но если Вас беспокоят вопросы обеспечения безопасности, то лучше его изменить. Потому что все хакерские боты и скрипты обычно настроены на стандартные умолчания. Установив свое значение, Вы затрудните задачу хакеров. Чем более случайным и уникальным будет значение, тем лучше. Можно использовать для этого какой-нибудь сервис генерации паролей, например тот, что имеется на хостах с CPanel, или любой другой. И тогда вместо “wp_“ Вы получите что-то вроде “cDEo3jDf_”.

Наконец, строка языковой настройки.

/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de.mo to wp-content/languages and set WPLANG to "de" to enable German
* language support.
*/
define ("WPLANG", "");

Многие считают, что для того, чтобы WordPress говорил по-русски, нужна специальная локализованная дистрибуция. Конечно, специальная дистрибуция не помешает. Но можно обойтись и без нее. Достаточно в настройках для языка задать значение ‘ru’.

Дополнительные настройки

1) Ревизии записей

Последние версии WordPress поддерживают систему ревизий, которая позволяет пользователям сохранять различные версии их постов на блоге и даже возвращаться к ранее сохраненным версиям в случае необходимости. Независимо от того, нравится Вам такая возможность, или нет, вот несколько параметров конфигурации, которые могут оказаться для Вас полезными.

// Limit the number of saved revisions
define("WP_POST_REVISIONS", 3); // any integer, but don"t go crazy

// Disable the post-revisioning feature
define("WP_POST_REVISIONS", false); // kill the bloat

Первое из этих определений позволяет ограничить количество ревизий заданным числом. Второе вообще отменяет ревизии для Вашего сайта.

2) Интервал автосохранения

По умолчанию WordPress сохраняет Вашу работу каждые 60 секунд. Но с помощью соответствующего параметра в wp-config.php это можно изменить. Например, так:

define("AUTOSAVE_INTERVAL", 180); // in seconds

Здесь число – это интервал автосохранения в секундах.

3) Корзина

Начиная с версии WordPress 2.9, все удаленные записи, будь то посты или комментарии, попадают в так называемую «корзину», которая по умолчанию освобождается каждые 30 дней. Но можно задать и другой интервал, например, недельный:

define("EMPTY_TRASH_DAYS", 7); // empty weekly

Если в качестве параметра поставить цифру 0, то все записи будут удаляться сразу же, без попадания в корзину.

4) Блокировка внешних запросов

Если Вы не хотите, чтобы в админпанели выдавались сообщения WordPress о новых плагинах, ссылках на Ваш блог, и другая подобная информация, чтобы сайт не принимал пингбэки и трекбэки, то для этого можно использовать параметр

define("WP_HTTP_BLOCK_EXTERNAL", true);

При этом все запросы с Вашего сайта вовне блокируются.

Если Вы все же хотите, чтобы можно было посылать запросы к некоторым URL, то эти адреса следует указывать в параметрах, например:

define("WP_ACCESSIBLE_HOSTS", "rpc.pingomatic.com");

5) Адрес WordPress и адрес сайта

Эти параметры можно указывать в настройках админпанели. Но можно и в файле wp-config.php.

define("WP_HOME", "http:// bizsoftlab.ru "); // no trailing slash
define("WP_SITEURL", "http://bizsoftlab.ru"); // no trailing slash

Однако после этого Вы не сможете изменять их в админпанели.

6) Отладка WordPress

Этот режим позволяет выводить предупреждающие сообщения при работе системы WordPress.

define("WP_DEBUG", true); // debugging mode: "true" = enable; "false" = disable

По идее, он должен использоваться при разработке новых плагинов и тем WordPress. Однако разработчики редко пользуются этой возможностью. В результате, если Вы включите данный режим, то будете удивлены обилием различных предупреждающих и ошибочных сообщений даже от самых популярных плагинов.

Но сообщения об ошибках можно перенаправить в отдельный файл, чтобы затем анализировать его на досуге.

@ini_set("log_errors","On");
@ini_set("display_errors","Off");
@ini_set("error_log","/home/path/domain/logs/php_error.log");

Для файла ошибок надо задать соответствующие права доступа, чтобы он был доступен для записи.

Анализ файла ошибок позволит вовремя отслеживать проблемы с Вашим сайтом, если они возникнут.

7) Увеличение памяти PHP

Если Вы получаете сообщение об ошибке “Allowed memory size of xxx bytes exhausted”, то это означает, что для работы PHP на сервере не хватает памяти. В этом случае размер памяти можно увеличить:

define("WP_MEMORY_LIMIT", "64M");

По умолчанию значение равно 32М, поэтому есть смысл задавать только то, что больше, например, 64М, 96М, 128М.

Правда, не все хосты позволяют это делать. Поэтому при необходимости Вам, возможно, придется договариваться со своим хостером.

Есть и другие параметры, которые можно задавать в файле wp-config.php. Все они приведены в Codex’е разработчиков WordPress. Но даже этих вполне достаточно, чтобы можно было значительно расширить возможности настройки Вашего сайта.

В пакете с WordPress (v3.4.1) поставляется 981 файл и 95 папок. Ни один из этих файлов не требует изменений вручную, кроме файла wp-config.php . Конечно, нам не нужно редактировать файл, если нас устраивает стандартная конфигурация WordPress, но весьма важно научиться работать с этим файлом, чтобы применить меры безопасности, трюки по ускорению работы сайта и другие штуки, которые мы изучим в этой статье.

Первое: бэкап!

Береженого бог бережет: сделайте резервную копию, прямо сейчас! Используйте встроенный экспорт страницы или используйте плагин, или сделайте бэкап через phpMyAdmin , но всегда оставляйте себе возможность отменить сделанное при настройке вашего сайта.

Ваши манипуляции могут повлиять на базу данных, но они не сделают ничего с какими-либо файлами кроме файла, с которым вы будете работать, так что сделайте бэкап wp-config.php , но если вы не делали копию ваших файлов больше, чем месяц, я бы посоветовал сделать это тоже. Частые бэкапы - это всегда хорошо.

Готовы? Поехали!

Скорость: Отключите сохраненные версии... Сейчас!

Функция сохранения версий записей включена по умолчанию, но может привести к значительному "раздуванию" базы данных. Сохраненные версии существуют для того, чтобы вы могли откатиться к предыдущей версии записи, если вам нужно. Если вы не планируете использовать сохранение версий чтобы проверять "ранние версии " ваших записей, вам точно следует отключить эту возможность, добавив этот код в wp-config.php :

define("WP_POST_REVISIONS", false);

Тем не менее, если вас устраивают версии, но вам не нужно бесконечное количество копий ваших измененных записей, вы можете ограничить количество сохраненных версий для каждого поста с помощью этой строки кода:

Define("WP_POST_REVISIONS", 2);

Скорость: Установите домен Cookie

Если вы обрабатываете статический контент (например, загрузки медиа) поддоменом, хорошей идеей будет установить "cookie domain ". Если вы сделаете это, cookies не будут отправляться каждый раз, когда запрашивается статический контент.

Define("COOKIE_DOMAIN", "www.yourwebsite.com");

Совет : чтобы обрабатывать медиа загрузки поддомена, просто укажите в последних двух текстовых полях на странице Media Options путь (например, /home/myblog/public_html/mysubdomain ) и URL (например http://mysubdomain.myblog.com/ ) вашего поддомена.

Скорость: Измените метод файловой системы

Если вы часто устанавливаете, обновляете или удаляете ваши плагины и темы, очень вероятно, что вы ненавидите ввод вашего FTP пароля каждый раз, когда вы что-то делаете. Приведенный ниже код упрощает это для вас, заставляя файловую систему использовать прямой запрос через PHP - другими словами, вам больше не нужно будет вводить FTP данные авторизации.

Define("FS_METHOD", "direct");

Пожалуйста, обратите внимание, что это может работать не со всеми хостинг-провайдерами, и даже если сработает, может вызвать проблемы с безопасностью на плохо настроенном хостинге. Так что убедитесь, что вы используете его на хорошем сервере.

Безопасность: Запрет доступа к файлу wp-config.php

Этот трюк требует редактирования не файла wp-config.php , а файла .htaccess в вашей корневой папке. Фактически он запрещает злоумышленникам загружать yourblog.com/wp-config.php через браузер:

# protect wpconfig.php order allow,deny deny from all

Просто добавьте это в ваш .htaccess файл и все готово!

Безопасность: SSL в панели администратора

SSL на вашем сервере включен? Отлично! Вы можете заставить WordPress использовать безопасное соединение при авторизации с помощью этой строки кода:

Define("FORCE_SSL_LOGIN", true);

И если вы очень подозрительны в плане безопасности (что на самом деле хорошо), вы можете заставить WordPress использовать SSL на каждой странице администратора, чтобы все, что вы делаете там, делалось через шифрованное соединение:

Define("FORCE_SSL_ADMIN", true);

Дополнительную информацию о том, как настроить SSL, вы можете найти в WordPress Codex на странице Administration Over SSL .

Безопасность: Изменение префикса базы данных

Если у WordPress есть дыра в безопасности, которая позволяет злоумышленникам использовать метод взлома, известный как "SQL инъекция ", они могут легко использовать стандартные префиксы таблиц вашей базы данных WordPress чтобы удалить их. Но если у вас префиксы таблиц отличные от стандартных (wp_ ), они не смогут их угадать, не так ли?

Так что, устанавливая новый сайт WordPress, смените значение по умолчанию на странице установки или смените следующую строку в файле wp-config.php :

$table_prefix = "wooh00yeah_";

Внимание : Если вы хотите заставить это работать на существующем сайте, вы не можете просто изменить префикс в файле wp-config.php - вы получите ошибки соединения с базой данных. Вам нужно использовать плагин, который изменит файл wp-config.php и таблицы базы данных, и некоторые значения внутри таблиц. Я рекомендую плагин DB Prefix Change .

Безопасность: Добавьте ключи безопасности… Сейчас!

Давайте просто прочтем в WordPress Codex :

Простыми словами, секретный ключ - это пароль с элементами, которые усложняют подбор достаточного количества вариантов для взлома. Пароль типа "пароль" или "тест" простой и может быть легко взломан. Чтобы подобрать случайный, непредсказуемый пароль типа "88a7da62429ba6ad3cb3c76a09641fc " потребуются годы.

Это одна из самых необходимых мер безопасности для WordPress - и это просто копирование и вставка случайно сгенерированного на этой странице контента в ваш файл wp-config.php . Самая сложная часть - это вставка стандартных, пустых значение этих констант и удаление их!

Другое: Изменение интервала автосохранения

Если вы иногда работаете над вашей записью 4 часа, вас может раздражать, что WordPress автоматически сохраняет запись каждые 60 секунд . Думаю, это не самая плохая штука, но иногда это очень, очень раздражает. В любом случае, если вы хотите установить для интервала автосохранения большее значение, вы можете сделать это, установив значение в файле wp-config.php вот так:

Define("AUTOSAVE_INTERVAL", 240); // the value should be in seconds!

Другое: Перенесите свой WordPress сайт легко

WordPress полон сюрпризов и это один из них. Если вам когда-то нужно будет перенести свой сайт на другой домен (или новый поддомен, или новую папку), определите эту константу в вашем файле wp-config.php перед переносом ваших файлов и базы данных:

Define("RELOCATE",true); // We"re not done yet!

После установки этой величины и переноса ваших файлов и базы данных, авторизуйтесь с вашими данными WP на yournewwebsite.com/login.php и после этого проверьте, изменился ли домашний URL на странице Общих настроек. После подтверждения изменений, удалите эту константу из вашего файла wp-config.php . Этот простой трюк в WordPress убережет вас от редактирования базы данных вручную.

Совет : хотя это буквально "переносит" ваш сайт, оно не влияет на жестко закодированные ссылки в вашем контенте. Чтобы изменить их, вы должны использовать плагин типа Search Regex и заменить старые ссылки новыми.

Другое: Отключите редактирование файлов плагина и темы

Если вы веб-дизайнер и используете WordPress для сайтов ваших клиентов, возможно, вы захотите отключить редактирование файлов тем и плагинов, добавив следующую константу:

Define("DISALLOW_FILE_EDIT",true);

Более того, вы можете также отключить установку новых тем и плагинов, и их обновление:

Define("DISALLOW_FILE_MODS",true);

Просто помните, что обновление темы и плагина часто очень важны, когда они исправляют дыры в безопасности. Так что если вы собираетесь отключить обновление и установку новых плагинов / тем, вам нужно следить за обновлениями другим способом.

Другое: Включение WP_DEBUG при разработке

Это просто: если вы разрабатываете плагин или тему, хорошо будет включить возможность отладки в WordPress чтобы видеть, какие уведомления и предупреждения вы получаете:

Define("WP_DEBUG",true);

Иногда это просто замечательно, видеть, какие простые ошибки вы можете сделать при разработке!

сайт 09.06.2017

Доброго времени суток!
wp-config.php — данный файл является конфигурационным файлом движка WordPress, в котором задаются некоторые параметры работы сайта. Потому, хоть и не часто, но приходится прибегать к редактированию: вписывать новые строки, редактировать уже имеющиеся записи.

Если сравнивать его с другими файлами WordPress, то непосредственно кода в нём не много, что существенно облегчает процесс редактирования и минимизирует риск «напортачить».

Его можно открыть встроенным по умолчанию в операционную систему приложением «Блокнот», но я бы категорически не рекомендовал вам его редактировать им. Для редактирования следует использовать приложение-редактор. Я лично пользуюсь полностью бесплатным, быстрым и весьма функциональным редактором – Notepad++

В нём есть всё, дабы минимизировать риск некорректного редактирования\ввода строк кода. Если вы думаете, что вам это не нужно, и вы «по быстрому» отредактируете файл тем, что подвернётся, то можете сразу переключаться на иную деятельность – верстка и настройка сайта это явно не ваше.

Вносим правки в файл wp-config.php

Давайте рассмотрим на конкретном примере, как, к примеру, внести новую запись в файл wp-config.php :

Откройте файл в Notepad++ редакторе. В нём много места занимают комментарии, они обрамлены в теге /* ..некий текст.. */ (ещё может быть тег // — он ставится перед непосредственным комментарием), и могут быть не только в одну строку, но и несколько. В редакторе Notepad++ данный текст предусмотрительно окрашивается в зелёный цвет. Удобно.

Теперь давайте внесём в него новую запись, к примеру, вот этот код (за что отвечает данный код – ):

// Отключаем ревизии статьи define("WP_POST_REVISIONS", 0);

Советы при редактировании\внесении изменений в файл:

  1. Не надо вносить изменения в самый конец или наоборот самое начало файла.
  2. Вносите новые записи с новой строчки и не «вклинивайтесь» в уже имеющиеся записи кода (которые бывают довольно длинными), всегда обращайте внимание, где заканчивается функция\запись.
  3. Не редактируйте файл «Блокнотом» — воспользовавшись этим базовым редактором, который имеется по умолчанию в Windows, вы можете «нарушить» кодировку имеющегося в файле текста.

После внесения записи\изменений — сохраните файл.

Как мы можем видеть, ничего сложного в этом данной процедуре нет. Несомненно, не последнюю роль в этом играет используемый редактор, имеющий подсветку синтаксиса и множество других удобных функций и возможностей, которые облегчают редактирование и существенно снижают риск совершения ошибки в процессе редактирования конфигурационных файлов движка WordPress.

При наличии вопросов, вы всегда можете воспользоваться формой написания комментария, дабы прояснить и уточнить нюансы, понимание которых у вас вызвало трудности:-)

Пожертвование сайту сайт (cбор пожертвований осуществляется через сервис Яндекс Деньги)

ВНИМАНИЕ: Прочтите перед редактированием этой страницы.

Пожалуйста, не указывайте в данной статье параметры своего собственного сайта, поскольку при этом вы сообщите пароль от своей базы данных всему миру, но сайт не запустите. Спасибо.

Одним из шагов при установке WordPress является внесение в файл wp-config.php параметров, необходимых для доступа к базе данных MySQL.

Этот файл, wp-config.php , не содержится в скачиваемой копии WordPress; вам потребуется его создать. В качестве примера можно использовать файл wp-config-sample.php . Ниже представлены расширенные настройки и примеры.

Для изменения файла wp-config.php вам потребуется следующая информация:

Имя базы данных Имя базы данных для WordPress Имя пользователя базы данных Имя пользователя для доступа к базе данных Пароль к базе данных Пароль пользователя для доступа к базе данных Сервер базы данных Имя сервера базы данных

Если WordPress установлен вашим хостинг-провайдером, узнайте эту информацию в службе поддержки. Если у вас свой собственный или хостинг, вы получите эту информацию в результате .

Настройка базы данных

Важно: никогда не используйте текстовые редакторы вроде Microsoft Word для изменения файлов WordPress!

Найдите в корневом каталоге WordPress файл и откройте его в .

Исходный wp-config-sample.php

ЗАМЕЧАНИЕ: It won"t change the Database value though, and the url will revert to the old database value if this line is removed from wp-config. to change the siteurl value in the database.

If WordPress is installed into a directory called "wordpress" for the domain example.com, define WP_SITEURL like this:

Define("WP_SITEURL", "http://example.com/wordpress");

Dynamically set WP_SITEURL based on $_SERVER["HTTP_HOST"]

Define("WP_SITEURL", "http://" . $_SERVER["HTTP_HOST"] . "/path/to/wordpressp");

ЗАМЕЧАНИЕ: A safer alternative for some installations would be to use the server-generated SERVER_NAME instead of the php/user-generated HTTP_HOST which is created dynamically by php based on the value of the HTTP HOST Header in the request, thus possibly allowing for file inclusion vulnerabilities. SERVER_NAME is set by the server configuration and is static.

Dynamically set WP_SITEURL based on $_SERVER["SERVER_NAME"]

Define("WP_SITEURL", "http://" . $_SERVER["SERVER_NAME"] . "/path/to/wordpressp");

Адрес блога (URL)

WP_HOME is another wp-config.php option added in WordPress . Similar to WP_SITEURL, WP_HOME overrides the value for home but does not change it permanently. home is the address you want people to type in their browser to reach your WordPress blog. It should include the http:// part and should not have a slash "/ " at the end.

Define("WP_HOME", "http://example.com/wordpress");

В WordPress версии 2.5, установка WP_DEBUG в true также поднимает уровень сообщений об ошибках на E_ALL и активирует предупреждения, когда устаревшие функции или файлы используются; в противном случае, WordPress устанавливает уровень сообщений об ошибках в E_ALL ^ E_NOTICE ^ E_USER_NOTICE .

Отключить Javascript присоединение

Чтобы результатам заканчиваться более быстрой административной областью, все файлы Javascript являются присоединёнными в один URL. Если Javascript не в состоянии работать в вашей административной области, вы можете попробовать отключить эту функцию:

Define("CONCATENATE_SCRIPTS", false);

Настройка лога ошибок

Because wp-config.php is loaded for every page view not loaded from a cache file, it is an excellent location to set php ini settings that control your php installation. This is useful if you don"t have access to a php.ini file, or if you just want to change some settings on the fly.

Here is an example that turns php error_logging on and logs them to a specific file. If WP_DEBUG is defined to true, the errors will also be saved to this file. Just place this above any require_once or include commands.

@ini_set("log_errors","On"); @ini_set("display_errors","Off"); @ini_set("error_log","/home/example.com/logs/php_error.log"); /* That"s all, stop editing! Happy blogging. */

Another example of logging errors, as suggested by Mike Little on the wp-hackers email list :

/** * This will log all errors notices and warnings to a file called debug.log in * wp-content (if Apache does not have write permission, you may need to create * the file first and set the appropriate permissions (i.e. use 666)) */ define("WP_DEBUG", true); define("WP_DEBUG_LOG", true); define("WP_DEBUG_DISPLAY", false); @ini_set("display_errors",0);

Увеличение памяти для PHP

define("FS_CHMOD_DIR", (0755 & ~ umask())); define("FS_CHMOD_FILE", (0644 & ~ umask()));

Константы для обновления WordPress

You should define as few of the below constants needed to correct your update issues.

The most common causes of needing to define these are:

  • Host running with a special installation setup involving Symlinks, You may need to define the path-related constants (FTP_BASE, FTP_CONTENT_DIR, and FTP_PLUGIN_DIR), Often defining simply the base will be enough.
  • Certain PHP installations shiped with a PHP FTP Extension which is incompatible with certain FTP Servers, under these rare situations, you may need to define FTP_METHOD to "ftpsockets"

The following are valid constants for WordPress updates:

  • FS_METHOD forces the filesystem method. It should only be "direct", "ssh", "ftpext", or "ftpsockets". Generally, You should only change this if you are experiencing update problems, If you change it, and it doesnt help change it back/remove it , Under most circumstances, setting it to "ftpsockets" will work if the automatically chosen method does not.
    • (Primary Preference) "Direct" forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
    • (Secondary Preference) "ssh" is to force the usage of the SSH PHP Extension.
    • (3rd Preference) "ftpext" is to force the usage of the FTP PHP Extension for FTP Access, and finally
    • (4th Preference) "ftpsockets" utilises the PHP Sockets Class for FTP Access.
  • FTP_BASE is the full path to the "base"(ABSPATH) folder of the WordPress installation.
  • FTP_CONTENT_DIR is the full path to the wp-content folder of the WordPress installation.
  • FTP_PLUGIN_DIR is the full path to the plugins folder of the WordPress installation.
  • FTP_PUBKEY is the full path to your SSH public key.
  • FTP_PRIKEY is the full path to your SSH private key.
  • FTP_USER is either user FTP or SSH username. Most likely these are the same, but use the appropriate one for the type of update you wish to do.
  • FTP_PASS is the password for the username entered for FTP_USER . If you are using SSH public key authentication this can be omitted.
  • FTP_HOST is the hostname:port combination for your SSH/FTP server. The default FTP port is 21 and the default SSH port is 22, These do not need to be mentioned.
  • FTP_SSL TRUE for SSL-connection if supported by the underlying transport , Not available on all servers. This is for "Secure FTP" not for SSH SFTP.
define("FS_METHOD", "ftpext"); define("FTP_BASE", "/path/to/wordpress/"); define("FTP_CONTENT_DIR", "/path/to/wordpress/wp-content/"); define("FTP_PLUGIN_DIR ", "/path/to/wordpress/wp-content/plugins/"); define("FTP_PUBKEY", "/home/username/.ssh/id_rsa.pub"); define("FTP_PRIKEY", "/home/username/.ssh/id_rsa"); define("FTP_USER", "username"); define("FTP_PASS", "password"); define("FTP_HOST", "ftp.example.org"); define("FTP_SSL", false);

Включение SSH Обновление доступа

To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:

Pecl install ssh2

After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.

pecl is provided by the pear package in most linux distributions. To install pecl in Redhat/Fedora/CentOS:

Yum -y install php-pear

To install pecl in Debian/Ubuntu:

Apt-get install php-pear

It is recommended to use a private key that is not pass-phrase protected. There have been numerous reports that pass phrase protected private keys do not work properly. If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS, or entering it in the "Password" field in the presented credential field when installing updates.

If you"re still not clear on how to use SSH for upgrading or installing WordPress/plugins, read through this tutorial .

Альтернатива Cron

Use this, for example, if scheduled posts are not getting published. According to Otto"s forum explanation , "this alternate method uses a redirection approach, which makes the users browser get a redirect when the cron needs to run, so that they come back to the site immediately while cron continues to run in the connection they just dropped. This method is a bit iffy sometimes, which is why it"s not the default."

Define("ALTERNATE_WP_CRON", true);

Дополнительно задаваемые константы

Here are additional constants that can be defined, but probably shouldn"t be. The Cookie definitions are particularly useful if you have an unusual domain setup.

Define("COOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("home") . "/")); define("SITECOOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("siteurl") . "/")); define("ADMIN_COOKIE_PATH", SITECOOKIEPATH . "wp-admin"); define("PLUGINS_COOKIE_PATH", preg_replace("|https?://[^/]+|i", "", WP_PLUGIN_URL)); define("TEMPLATEPATH", get_template_directory()); define("STYLESHEETPATH", get_stylesheet_directory()); define("DISABLE_WP_CRON", true);

От автора: в общем-то, WordPress – относительно простая в установке система, которую можно развернуть в короткие сроки. Однако вы можете непреднамеренно оставить уязвимости для хакеров. В файле «wp-config.php» хранятся ключевые настройки вашего сайта на WP, и очень важно как можно сильнее защитить этот файл от посторонних лиц. В этом видео из курса WordPress Secure Setup Guide вы узнаете, как максимально обезопасить файл wp-config.php.

Что хранится в файле wp-config.php

Если открыть wp-config.php, можно заметить, что там хранится достаточно важная информация. Во-первых, в нем содержится вся вводимая вами информация во время установки, которая дает доступ к базе данных.

Здесь можно найти название базы данных, имя пользователя, пароль – все, что необходимо для входа в базу данных. Как вы понимаете, крайне важно защитить этот файл, потому что если кто-то сможет прочитать его, то он получит доступ к базе данных и сможет вытворять там все, что душе угодно.

Эти ключи нужны для защиты вашего сайта. Еще ниже записан префикс таблиц, который также защищает ваш сайт.

Как защитить wp-config.php

Существует несколько шагов, которые необходимо выполнить, чтобы обезопасить этот файл.

1. Генерируем новые секретные ключи

Первым делом мы сгенерируем новые секретные ключи. Для этого можно зайти на secret key generator от WP. Вам нужно перейти по этой ссылке и обновить страницу, перед вами будут абсолютно новые ключи. Их можно скопировать в wp-config.php и заменить старые.

2. Перемещаем wp-config.php

Теперь мы переместим наш файл. По умолчанию он находится в корневой папке сайта. Если ваш сайт хранится на основном домене, папка будет называться «public HTML» или как-то по-другому, все зависит от того, как вы писали сайт. WP позволяет переместить файл конфигураций на один уровень выше, чтобы он не хранился в публичной папке.

Если вы работаете офлайн, можете просто перетащить файл мышкой. Если же сайт уже работает в сети, можете воспользоваться инструментом перемещения в файловом менеджере. Выберите файл wp-config.php, нажмите переместить и выберите новую папку.

Если с первого раза не получилось, можете поговорить с хостинг-провайдером и узнать у него, позволяют ли настройки сервера перемещать файл на уровень выше.

3. Запрещаем доступ к wp-config.php

Осталось сделать еще один шаг для защиты wp-config.php. Нам нужно создать файл htaccess в той же папке, где находится файл конфигураций, чтобы запретить всем доступ в wp-config.php.

Создайте файл htaccess в той же папке, где лежит файл wp-config. Просто так создать файл без расширения не получится, поэтому можно схитрить.

Если вы на Mac, создайте текстовый файл с именем htaccess.txt. Затем переименуйте файл, удалив расширение и поставив точку перед названием так, чтобы получилось.htaccess.

Мы еще не закончили, теперь необходимо кликнуть правой кнопкой мыши на файле в Finder’е, выбрать Get Info и обрезать расширение.txt в поле Name & Extension.

Теперь откройте файл в редакторе и скопируйте в него следующий код:

order allow,deny deny from all