Два сайта на одной базе данных или как сэкономить на хостинге для вордпресс

Для тех, кто разбирается в создании сайтов на wordpress нет никаких границ в этом мире! И я могу вам это доказать на конкретном примере. Давайте разберем процесс создания двух сайтов на одной базе данных MySQL. Специальных знаний для этого не нужно, если вы уже устанавливали wordpress, то это вам точно по зубам. Для эксперимента нам необходимо приготовить: хостинг с доступом по ftp, домен на этом хостинге, компьютер, браузер, текстовый редактор для правок в коде.А теперь приступим неторопясь по шагам подробно к установке в одну базу данных двух сайтов. Для чего это нужно? Вариантов масса. У меня на хостинге от спейсвеб есть ограничения: 2000 мб места, 4 базы данных и т.д. А вот поддоменов и доменов можно иметь хоть мильён. И как же этим не воспользоваться? Я занимаюсь созданием сайтов. Очень часто параллельно приходится делать несколько заказов. А у меня схема работы такая — я делаю примерный макет на своем хостинге и только после согласования с заказчиком уже оформляю хостинг на него и делаю сайт там, где он и будет находиться в последствии. Тоесть мне нужно одновременно делать 10 сайтов, а баз данных только 4. Можно, конечно, поменять тарифный план, позволяющих иметь большее количество баз данных  MySQL. Но зачем же платить больше? Хотя некоторые говорят, что такие обходные маневры увеличивают время отклика, нагрузку на базу и т.д. — мне это не грозит. Все сайты, висящие на одной базе — это просто макеты, у них нет бешенной посещаемости. Так что если вы не планируете сделать на вордпрессе аналог яндекса и гугла, чтобы слить их в одной базе, то не парьтесь этим вопросом. Все ваши предполагаемые нагрузки терпимые, а если у вас супер порталы, то вы наверное с экономией хостинга не должны париться, а закупать себе сервера в немеренном количестве. Хватит лирики.

У вас уже есть сайт на вордпрессе (или несколько), создана база данных и их лимит исчерпан. Выбираете базу данных  MySQL донорскую для подсадки туда еще одного сайта. Вы должны знать имя базы данных, логин, пароль — это все делалось при ее создании. Если сайта нет и делается это на чистом хостинге с нуля — значит устанавливайте первый сайт вордпресс как положено и описано в миллионах источников, мы сейчас не об этом, нас интересует только второй сайт, устанавливаемый в уже существующую базу данных.

В корневой папке на вашем хостинге создайте пустую папку, назовем ее  «primer». Далее в панели управления хостингом (у спейсвеба это легко и просто) создаем поддомен «primer.вашдомен.ru», направляем его в созданную пустую папку  «primer».

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

Открываем его в текстовом редакторе и вносим следующие изменения:

  // ** Настройки MySQL — Вы можете получить эти данные у Вашего хостера ** //
/** Название базы данных WordPress */
define(‘DB_NAME’, ‘ХХХХХХХ’);
/** Имя пользователя MySQL */
define(‘DB_USER’, ‘ХХХХХХХ’);
/** Пароль MySQL */
define(‘DB_PASSWORD’, ‘ХХХХХХХХ’);

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

Проскроллим ниже до строк:

/**
* Префикс таблиц в базе данных WordPress.
*
* Вы можете иметь несколько установок в одной БД, давая им различные префиксы.
* Пожалуйста, используйте только латинские буквы, арабские цифры и знаки подчеркивания!
*/
$table_prefix = ‘wp_1’;

и тут префикс меняем на необходимый нам понятный, в данном случае на «wp_primer_» сохраняем изменения в файле и переименовываем его из  wp-config-sample.php в   wp-config.php

У нас получается есть на компьютере папка вордпресс с измененным wp-config.php, которую мы по ftp закачиваем на хостинг. И тут внимание! Мы закачиваем не саму папку вордпресс, а ее содержимое, и не в папку «primer» на хостинге, а в папку вложенную в нее —  «primer/public_html».

Далее мы открываем свой любимый браузер (и пусть покарает вас Бог если это Internet Explorer ) и в адресной строке вбиваем примерно следующую конструкцию:  http://primer.вашдомен.ru/wp-admin/install.php

Если все вышеизложенное сделано правильно, то вы увидите запущенный диалог установки вордпресса «добро пожаловать» и тд. Заполняем поля: заголовок (пример), имя пользователя (admin), пароль (ХХХХХХХ) и емейл (ХХХХХХХ@ya.ru), ставим галочку если хотим сразу быть открытыми для индексации поисковиками
или убираем (очень советую), чтобы повременить и наполнить сайт информацией, а уж затем выходить в свет. Жмакаем на «установить вордпресс» появляется окошко авторизации в админке, вбиваете туда свой логин и пароль, которые только что придумывали и всё — вы в админке сайта. Уже можете посмотреть сам сайт http://primer.вашдомен.ru/

В почте у вас появилось письмо, в котором вордпресс опять вас приветствует и сообщает что сайт создан. Я сразу это письмо себе же и пересылаю с вбитыми логинами/паролями и к базе данных в том числе, чтобы не забыть и не потерять в дальнейшем. И еще мы можем проверить чтоже у нас там с базами данных творится. Это в панели управления хостингом смотрим, заходим в базу данных сайта — донора, там появились дополнительные строки с указанным ранее префиксом «wp_primer_» от сайта, которого мы подсаживали туда.

Сайтов стало больше, а количество баз данных не изменилось. Откупориваем бутылочку жигулевского. Я когда это все сделал первый раз — был очень рад. Пустячок, а приятно…

ЗЫ:

Новый хостер, которого я обнаружил — бегет — там офигенные условия. Даже на стартовом тарифе количество баз данных не ограничено — никаких махинаций делать с БД ненужно! За год платишь 1200 руб., получаешь +1 бесплатное доменнное имя, 5 доменов на акк, безлимит поддоменов, безлимит БД и так далее — отличные условия и за минимальную плату. Вордпресс там ставится автоматические, если нужно…  реферальная система — приятно, можно деньги выводить за рефералов, обналичивать.

 

 

 

Comments

  • Большое спасибо за науку. Все получилось

    Виктор22.10.2012
  • Статья во время попалась мне. А можно уточнить один момент?
    Если префикс «wp_» и если его поменять на другой, к примеру — ««wp_primer_»», как будет работать первый (основной сайт)? Может быть не менять надо, а как-то дописать?
    Что-то с префиксом не допоняль

    Марго01.12.2012
    • все будет хорошо. разные строки в базе данных, с разными префиксами — без разницы с какими, главное что с разными. wp — это стандартно в ВП, для облегчения понимания можно имя сделать по домену второго сайта.

      admin01.12.2012
  • движок обращается к базе данных, а именно к тем строкам, префикс которых указан в конфиг файле. размер базы и кол-во строк могут быть любыми. это как холодильник с мясом и мороженым — мальчики будут брать мясо, а девочки — -мороженое.

    admin01.12.2012
    • Спасибо за быстрый ответ.
      Значит был префикс «wp_». Сайт себе работал. Делаю еще один сайт — префикс меняю на «wp_primer_».
      Старый сайт также работает, как будто ничего не произошло. Правильно?
      А зачем вообще его менять, если сайту без разницы какой у него префикс? И со старым работал и с новым работает.
      Ой, до меня как до утки, сорри. Видимо пока не попробую сама, не пойму.

      Марго02.12.2012
  • Вы пшите: «разные строки в базе данных, с разными префиксами — без разницы с какими, главное что с разными»,
    а там же только одна строка с префиксом: «$table_prefix = ‘wp_1′;» в которой нам надо поменять эту wp.
    Может я что-то пропустила, где там разные строки?

    Марго02.12.2012
    • в самой базе данных ничего не меняем!!!!
      правим только konfig файл, в котором прописываем префикс таблиц БД.
      ВП сам эти все таблицы делает с указанным префиксом.
      и в БД у нас будут почти одинаковые строки:
      wp_чётотам
      wp_primer_чётотам
      wp_обана
      wp_primer_обана
      и каждый из 2-х сайтов будет обращаться к строкам со своим префиксом.
      в БД будет не 12 строк как обычно, а 24 — половина с wp_ а половина с wp_primer

      admin02.12.2012
    • кстати, есть еще одно радикальное решение — появился хостер, услугами которого я пользуюсь.
      так вот там кол-во БД неограничено на стартовом тарифе!
      можно хоть обсоздаваться поддоменами и БД у каждого будет своя — никаких ухищрений и фокусов!
      пользуйтесь кому надо — http://beget.ru?id=40837

      admin02.12.2012
  • Все, поняла. Изменение префикса нужно только в самом начале установки базы. Это будет имя вашей базы. Следующие переименование повлияет ТОЛЬКО на имя следующей базы.
    Спасибо большое за ответы на мои ту… заинтересованные вопросы 🙂 А хостер хороший, да.

    Марго02.12.2012
  • Хотелось бы задать вопрос, но, судя по датам комментов, боюсь, что на быстрый ответ рассчитывать не придется. Я не прав?

    Usanych02.09.2013
  • Радостно!
    Уважаемый admin!
    Чувствуется Ваш опыт. Меня тоже мучил вопрос о нескольких сайтах на одну базу. Спасибо, теперь разобрался.
    Но теперь вопрос может не совсем в тему данной ветки.
    Есть заказчик сайта. Ему нужен свой домен второго уровня на своем хостинге. Ну и сайт соответственно. Он полный чайник во всем. Мне нужно самому заказать домен и купить хост.
    Но ведь тогда все будет зарегистрировано на мое имя, а не на него! А если все делать от его имени, тогда нужно высылать сканы его паспорта.
    Короче, я не представляю как поступить? Нужно чтобы все делал я, а получалось на его (заказчика) имя.

    Usanych03.09.2013
    • ну это стандартная ситуация.
      я поступаю так (некоторые нюансы зависят от конкретного хостера):
      — беру скан паспорта у заказчика
      — вбиваю его данные во все формы
      — телефон и почту ставлю свои
      — предупреждаю заказчика об этом (чтобы в последствии он поменял на любые другие)
      иногда есть возможность вбить несколько мейлов
      если я обслуживаю сайт — всё чётко, домен и хостинг на заказчика, а контакты для связи мои админские
      если сайт заказчик сам тянет — пусть сам поменяет мейл и телефон на свои — тут проблема не большая, ну и я могу поменять (опять смотреть в конкретной ситуации, некоторые хостеры требуют подтверждение смены телефона какими-то способами)

      вопсчем — взять паспорт заказчика и использовать его — однозначно.

      admin03.09.2013
  • Поня-я-я-яяяятно… То, чего я и опасался… Недавно одна Красноярская юридическая контора заказала сайт. И чтоб свой домен и свой хост. Я взялся помочь им. А они взялись за меня. Сначала потребовали сканы моих собственных документов. Ну, дал. Потом потребовали показать уже созданные мной сайты. Ну, показал. потом потребовали указать места работы для проверки, и чтоб я еще по скайпу показал им тот паспорт, скан которого отсылал. Я психанул. Ответил, что могу привести к вебкамере и всю свою родню и показать их документы и так далее. Они потребовали доказательств того, что фотка в почте принадлежит именно мне.
    Короче, послал их подальше. А сегодня получаю еще два заказа, и в обоих требование выслать скан своих документов.
    Что, опять все сначала?
    Меня уже подергивает. У Вас, админ, тоже такие же ситуации бывают?

    Usanych03.09.2013
    • нет. такого не было.
      были случаи заключения срочных трудовых договоров на создание сайта — чтобы официально через бухгалтерию провести затраты,
      вот тогда я предоставлял все необходимые документы (паспорт, пенсионное, инн).
      некоторые люди перестраховщики по складу характера — это нормально. нужно терпимее относиться ко всему…
      люди идут к частному сайтостроителю зачем? дешевле.
      если хотят чтобы все было на высшем уровне, с гарантиями, сроками сдачи и неустойками — посоветовать им агентство (например tema.ru)

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

      admin03.09.2013
  • Не-е, я без предоплаты. Кстати, еще одного технического момента понять не могу. У меня есть домен и хост с нормальным тарифом. Например, http://site.ru
    Я вгоняю через FTP в public_html движок WordPress. Вгоняю папкой, которую называю «клиент». В итоге адрес у меня получается http://site.ru/клиент
    В принципе, меня такое устраивает больше, чем если бы это было http://клиент.site.ru
    Я пытаюсь сообразить, а как же получается последний вариант?

    А по сайтостроению… с каждым днем становлюсь все более разочарованным в этом направлении. Занялся этим делом я в последней декаде июля, то есть где-то дней 40 назад. За это время разослал 900 писем-предложений юристам восьми городов. Откликнулось только двое всего, и те попросили сделать им по сайту совсем не юридического характера. Вот, в частности, моя последняя работа, которую я не считаю совсем уж ужасной:
    http://свадьбакемерово.рф
    И сегодня чкшу в затылке — или я не то направление взял, или как-то не так крючок забрасываю :-(((

    Usanych03.09.2013
    • кури тему «поддомены на вордпресс» это про клиент.сайт.ру
      если на хостинге есть домен 2 уровня, то к нему можно наклепать кучу поддоменов.
      вопрос только в том — зачем это делать? иногда очень надо, а иногда нет.

      сайт.ру/клиент — это тоже не верно… нужно из папки wp содержимое переливать в пабликхтмл, а не саму папку, так как домен 2 уровня направлен на папку пабликхтмл и ищет сразу в ней файл index.html / php

      смотри вопросы продвижения сайтов, оптимизации, требования поисковиков — тогда многие вопросы откроются с другой стороны…

      по привлечению клиентов: за месяц сложно раскрутить всё на широкую ногу — ты и сам понимаешь…
      поэтому подведи итоги через годик…

      admin04.09.2013
  • А по хостерам. Я вот уже сколько лет был приверженцем АГАВы. А теперь, когда увидел конфетки послаще, в АГАВе разочаровался. Женя Попов хороший мониторинг провел. Рекомендую взглянуть читателям этой ветки. Вот адрес: http://hosting-ninja.ru/
    Я этой осенью переберусь или в beget, который держит второе место в рейтинге Попова, или в WEBHOST1, который держит третье место в его рейтинге.

    Usanych03.09.2013
  • Я так мало знаком с php ..если честно почитал нечего непонял 🙁 можете помоч.

    Александр20.01.2014
  • а что будеи если я поставил значала .интернет магазин…потом в ту же базу форум? ато вроде как работает…

    Александр20.01.2014
    • ну если настроено правильно — то и хорошо, все будет работать, каждое обращение той или иной функции будет забирать информацию из определенной таблицы…

      admin20.01.2014
  • я то как бы ненастраивал а прпосто .поверх установил…но хотел бы чтоб было по отдельности …ато на 1 базу надо вцепить 3 так сказать базы….если я вам накину свои базы бэкапы можете подредактировать?

    Александр20.01.2014
    • спасибо, не нужно )))
      в самой базе нечего и не подредактируешь — задается все на этапе установки вордпресса на хостинг.
      если хотелось, чтобы было все по отдельности — значит хотелось создать 3 разных базы данных? в PHPmyadmin заходили? смотрели какие таблицы там созданы и базы какие?
      а то может по умолчанию у вас и создавались новые базы?
      просто внимательно почитайте и сравните что у вас там есть.

      admin20.01.2014
  • Подскажите пожалуйста, после того как я у себя на компьютере отредактировал вордпрессовский файл wp-config-sample.php и как только сохранил его переименнованным в wp-config.php он появился рядом с моим изначальным wp-config-sample.php. Мне что теперь этот изначальный wp-config-sample.php стереть надо??

    богдан30.01.2014
    • Да, этот файл можно удалять. А можно и не трогать — разницы нет, к нему больше обращаться не будут, он лишний…

      admin30.01.2014
  • Здравствуйте Уважаемый Админ!
    Я смотрю Вы охотно общаетесь, решил вопросик подкинуть. Думаю — не только мне будет интересно.
    Как создать на Вордпрессе несколько копий сайта с разными языками пользовательского интерфейса, но чтобы полезный контент у этих сайтов был абсолютно одинаковый.
    Например, доска объявлений на русском, украинском, белорусском и английском языках, но объявления на всех сайтах общие, назависимо от того, с какой языковой версии сайта они были опубликованы.
    Заранее благодарю за ответ!

    Александр Wordpress09.04.2014
    • Здравствуйте. Общаюсь, стараюсь — вы же гости, нужно быть вежливым ))
      У меня такая задача стояла однажды — мультиязычность.
      Есть плагины для этого, но меня они не устраивали — я уже и не помню подробностей почему…
      Я сделал вариант через гуглтранслейт, на сайте иконку с флажками, кликнул на флажок —
      сайт открылся в окошке гугл переводчика и текст перевелся.
      НО это такой способ — не очень эффективный, так как сайт остается в единичном экземпляре,
      просто появляется у людей возможность как-то его перевести на другие языки.
      Перевод корявый, картинки не переводятся — минусов куча.
      Но есть выход — нанять переводчика и основу для сайта перевести.
      Это актуально, когда вы предлагаете товары/услуги для иностранных клиентов, и язык обращения важен, стиль, грамотность.
      Новости же текущие и статьи можно и машинным переводом гнать.

      У вас доски объявлений, контента много, и нужно делать что-то с базой данных — я бы не взялся за такой проект — честно.
      Тут в любом случае нет типовых решений гладких… Если взять общую базу, то потенциально туда могут публиковать объявления на любом языке из 3-х,
      получится винегрет в базе… Или ручное добавление объявление модератором — получил, перевел на 3 языка, опубликовал. Если объем большой — нереально.
      Не знаю что посоветовать даже… учить php, придумывать хитрые запросы к базе данных, обработки разные…

      admin09.04.2014
  • Вы пишете: Но есть выход — нанять переводчика и основу для сайта перевести.
    В том-то и дело, что переводы пользовательского интерфейса сайта есть. Как теперь увязать, чтобы база данных объявлений и база данных пользователей была для всех языковых версий одна, а языки пользовательских интерфейсов разные.
    Можно ли это реализовать, например, на WordPress Multisite?

    Александр Wordpress09.04.2014
    • у меня нет ответа.
      я такую задачу не реализовывал, а сходу ничего не придумаешь — тут нужно плотно поработать…

      admin09.04.2014
  • В любом случае — Спасибо за оперативность!

    Александр Wordpress09.04.2014
  • Добрый день! Остался один вопрос после прочтения статьи. Файл sql второго сайта импортировать в базу сайта донора ?

    Ronald28.08.2014
    • да. получается в базе сайта-донора, к примеру, в базе данных было 12 строк, а станет 24.
      добавятся строки с префиксом новой базы данных.
      файл конфиг у каждого вордпресса свой, он указывает из каких строк с каким префиксом сайт будет получать данные.

      admin28.08.2014
  • при импорте базу второго сайта выдала ошибку :
    Ошибка
    SQL-запрос:


    — Дамп данных таблицы `wp_comments`

    INSERT INTO `wp_comments` ( `comment_ID` , `comment_post_ID` , `comment_author` , `comment_author_email` , `comment_author_url` , `comment_author_IP` , `comment_date` , `comment_date_gmt` , `comment_content` , `comment_karma` , `comment_approved` , `comment_agent` , `comment_type` , `comment_parent` , `user_id` )
    VALUES ( 1, 1, ‘Мистер WordPress’, », ‘http://wordpress.org/’, », ‘2014-01-20 06:50:22’, ‘2014-01-20 06:50:22’, ‘Hi, this is a comment.\r\nTo delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.’, 0, ‘1’, », », 0, 0 ) ;

    Ответ MySQL:

    #1062 — Duplicate entry ‘1’ for key ‘PRIMARY’

    Ronald28.08.2014
  • тем не менее, таблицы добавились, в админку захожу, но при вводе адреса сайта выдает белый экран(

    Ronald28.08.2014
    • откатывать, повторять, внимательно смотреть на детали
      бывает — простая опечатка приводит к многочасовым поискам «я всё сделал правильно — почему не работает?»

      admin28.08.2014
  • Здравствуйте! Очень надеюсь на ваш отклик, вопрос такой, есть сайт на wordpress написанный программистом, со своей базой, регистрацией и авторизацией и конечно со своими недочетами, но в принципе работающий, тематика сайта грузоперевозки…теперь на поддомене это сайта уже я создала сайт-блог, со своей базой, который работает самостоятельно, но возникла необходимость сделать на нем регистрацию и авторизацию также как на основном сайте, т.е. единая авторизация…не могли бы вы мне подсказать каким образом это сделать, нужно ли было оба сайта привязывать к одной базе или две отдельные базы не влияют на общую авторизацию?

    Наталья01.04.2016
    • отклик есть — он у Вас в почте

      admin01.04.2016
  • Добрый день! Надеюсь мне Вы тоже ответите…
    Префиксы, как я понимаю, решают важную задачу — разделяют данные разных сайтов. Например вы поэкспериментировали со вторым сайтом (поддоменом) и продали его (как вариант: он стал Вам не нужен).
    Если продали, то значит можно импортировать только часть БД по префиксу?
    И еще, можно ли почистить БД от ненужной информации (по префиксу)?

    Руслан10.04.2016
    • ОТвечу. Сейчас с хостингом стало попроще… хостинг Бегет советую — времена другие, количество баз безгранично. Если раньше кол-во баз данных квотировалось, приходилось искать всякие обходные пути, то сейчас этого делать не нужно, чтобы не наживать себе гемороя как в вашем комменте. По конкретным вопросам с префиксами — точно не знаю, не пробовал. Возможно, что через запросы sql можно делать операции с отдельными строками по префиксам. В phpMyadmin тоже вроде есть варианты — при импорте галочками поиграться и выделить нужные строки. Ненужная информация? Тут не понял…. типа удалить все записи? Всё что есть в базе — это все и есть сайт, которым можно управлять через админку ВП. Удалить записи в админке ВП — они удаляться из БД. или я не понял вопрос….

      admin10.04.2016
  • «Тут не понял…. типа удалить все записи? »

    Спасибо за ответ. Нет не все записи, а только записи второго сайта. Под ненужной информацией я имел ввиду данные, которые были занесены в БД вторым сайтом. То есть я продал второй сайт, соответственно, мне не нужна вся информация этого второго сайта. Но в БД она осталась и занимает место на диске.

    Или я неправильно понимаю… новичок-с…

    Руслан10.04.2016
    • В БД есть таблицы (строки) с разными префиксами, можно оставить wp1-… (всё что относится к первому сайту) и удалить wp2-… (строки второго сайта).
      Сделать предварительно копию только надо — и поэкспериментировать с удалением.

      admin10.04.2016

Добавить комментарий

восемнадцать + 16 =

Тиц и pr сайта Яндекс.Метрика

Каталог организаций