loader

Искать шаблоны в нашем каталоге

Как использовать одну единую базу данных MySQL для нескольких веб-сайтов на WordPress
  • 22.11.2018
  • 461

Как использовать одну единую базу данных MySQL для нескольких веб-сайтов на WordPress

WordPress насчитывает более 60 миллионов пользователей со всего мира, от корпоративных веб-сайтов до личных блогов. И хотя корпоративный сектор WordPress может иметь доуступ к неограниченным ресурсам сервера и базам данных MySQL, часто бывает так, что любительские тарифы хостинга сокращают углы и сокращают весь спектр возможностей, чтобы сделать тариф более "легким" и сэкономить деньги клиентов. В большинстве случаев одна из первых функций, которые можно сократить на недорогом тарифе веб-хостинга - это доступ к базам данных MySQL, который требует WordPress и другие веб-приложения для работы. Очень часто веб-хосты предоставляют клиентам доступ только к одной базе данных MySQL. Чаще всего, в 80% случаев Вам хватит и одной такой базы, но это может стать серьезной проблемой, особенно для тех людей, которые хотят разместить несколько различных блогов на WordPress на одном и том же сервере или доменном имени.

Wordpress Templates

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


Mysql-Wordpress

Чтобы заставить несколько сайтов на CMS WordPress работой с одной базой данных, администраторы веб-сайтов должны иметь некоторые познания в базовым PHP. Они также должны иметь общее представление о том, как правильно редактировать wp-config.php, чтобы внести изменения, которые позволят использовать несколько экземпляров бок о бок вместе.

Шаг 1: Поиск файла конфигурации WordPress и его модификация

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

public_html/wordpress-secondary-directory/wp-config.php

Этот файл можно открыть и отредактировать через веб-менеджер файлов (например, с помощью cPanel) или через традиционный FTP клиент. В нашем случае FTP-клиент будет предпочтительнее. Более продвинутые варианты редактирования файлов помогут новым пользователям быстро и точно выполнить необходимые действия.

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

Шаг 2. Изменение префикса базы данных в конфигурации WordPress.

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

Чтобы изменить префикс базы данных в конфигурации WordPress, найдите следующий фрагмент кода PHP, примерно в середине:

$ table_prefix = 'wp_'; // пример: 'wp_' или 'b2' или 'mylogin_' = 'wp_' ; // пример: 'wp_' или 'b2' или 'mylogin_'  

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

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

Шаг 3. Определяем, нужно ли нам несколько учетных данных.

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

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

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

define ('CUSTOM_USER_TABLE', $ table_prefix.'my_users '); ( 'CUSTOM_USER_TABLE' , $ table_prefix . 'My_users' ); 
define ('CUSTOM_USER_META_TABLE', $ table_prefix.'my_usermeta '); ( 'CUSTOM_USER_META_TABLE' , $ table_prefix . 'My_usermeta' );

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

define ('CUSTOM_USER_TABLE', mainblog_'my_users '); ( 'CUSTOM_USER_TABLE' , mainblog_ 'my_users' ); 
define ('CUSTOM_USER_META_TABLE', mainblog_'my_usermeta '); ( 'CUSTOM_USER_META_TABLE' , mainblog_ 'my_usermeta' );

Переменная $table_prefix удаляется. И если применить это редактирование к каждому экзмепляру WordPress, расположенному в одной и той же базе данных, пользователи смогут использовать одни и те же учетные данные для доступа к каждой панели мониторинга и публикации комментариев на каждом веб-сайте. Это отличный способ уменьшить общий размер базы данных, так как здесь отсутствует дублирование каких-либо таблиц или информации, и это будет чрезвычайно удобно и полезно, ведь в данном случае не придется регистрироваться несколько раз или помнить несколько паролей.

Шаг 4: Использование WordPress для установки нескольких сайтов с одинаковыми префиксами

В течение нескольких лет разработчики WordPress фактически разработали две отдельные версии программного обеспечения. Первая и самая долгоиграющая версия - это стандартная версия WordPress. Вторая, представленная в 2007 году, называлась WordPress MU. Эта версия WordPress использовалась для запуска нескольких веб-сайтов под одной базой данных WordPress. Эта версия WordPress в 2011 году официально была признана "более не поддерживаемой", и ее набор функций был перенесен в стандартный выпуск WordPress под названием WordPress Networks. Хотя скрытая по умолчанию, функция WordPress Networks может быть включена, простым редактированием wp-config.php

Основное преимущество использования подхода WordPress Networks для размещения нескольких блогов в одной базе данных состоит в том, что здесь происходит включение минимального количества избыточных таблиц и ячеек базы данных WordPress. Этот оптимизированный подход может фактически привести к значительному уменьшению веса самой базы, а это безусловно большой плюс. Многие веб-хосты, которые ограничивают количество используемых баз данных, доступных для клиента, также ограничивают либо максимальный размер общей базы данных, либо общий объем пространства на жестком диске, которое можно использовать. Устранение избыточной информации, используемой несколькими блогами WordPress, обеспечит наилучшее использование ограниченного пространства на многих хостах.

Чтобы включить эту функцию, добавляем в wp-config.php:

define ('WP_ALLOW_MULTISITE', true);
( 'WP_ALLOW_MULTISITE' , true ); 

После того, как эта строка будет добавлена, заголовок "WordPress Networks" появится на боковой панели Dashboard. Администратору сайта необходимо будет указать URL-адрес сети, в которой будут установлены все блоги, название сети, адрес сервера и электронную почту. После ввода информация будет сохранена и установка продолжится на следующем шаге.

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

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

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

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

Два способа работы с ограниченными тарифными планами хостинга

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

Похожие статьи

27.11.2018 426

10 лучших бесплатных WordPress шаблонов для малого бизнеса

Успех фирмы при работе в Интернете во многом зависит от впечатления, которое производит сайт на посетителей...

Читать далее...