20 доменов и WP

Wind change
На сайте с 12.02.2007
Offline
88
1562

Приветствую.

Когда-то видел пост об установке 1 копии движка на большое количество доменов. Но описано было не понятно. Гуглинг тоже не помог.

Подскажите пожалуйста, или дайте ссылочку.

Есть к примеру 20 доменов, нужно их запустить через 1 двиг.

Тут можно хорошо заработать. Помогаю рефералам (http://www.sape.ru/r.cb6c8f75d4.php)
SJ
На сайте с 16.03.2008
Offline
78
#1

У меня есть папка distrib, в которой лежит моя сборка ВП с плагинами.

Есть скрипт, который в указанной папке создает symbolic links на нужные папки, кое что копирует.

В wp-config прописана общая база для всех, только у каждого блога свои таблицы:

if(strpos($_SERVER["HTTP_HOST"], "www") !== false) { 

$domain = substr($_SERVER["HTTP_HOST"], 4);
} else {
$domain = $_SERVER["HTTP_HOST"];
}
$table_prefix = str_replace(".", "", str_replace("-", "", $domain)) . '_';

Скрипт:

src='/home/user/DISTRIB/WP'

dst='/home/user/'$1
echo dest = $dst
ln -s $src/wp-admin $dst/wp-admin
ln -s $src/wp-includes $dst/wp-includes
mkdir $dst/wp-content
cp $src/wp-content/index.php $dst/wp-content/index.php
ln -s $src/wp-content/plugins $dst/wp-content/plugins
ln -s $src/wp-content/languages $dst/wp-content/languages
ln -s $src/wp-content/upgrade $dst/wp-content/upgrade
mkdir $dst/wp-content/cache -m0777
mkdir $dst/wp-content/uploads -m0777
cp $src/wp-content/uploads/index.php $dst/wp-content/uploads/index.php
mkdir $dst/wp-content/themes -m0777
cp $src/wp-content/themes/index.php $dst/wp-content/themes/index.php
ln -s $src/wp-content/themes/default $dst/wp-content/themes/default
ln -s $src/wp-content/themes/classic $dst/wp-content/themes/classic
cp $src/wp-config.php $dst/wp-config.php
ln -s $src/index.php $dst/index.php
ln -s $src/sitemap.php $dst/sitemap.php
ln -s $src/wp-app.php $dst/wp-app.php
ln -s $src/wp-atom.php $dst/wp-atom.php
ln -s $src/wp-blog-header.php $dst/wp-blog-header.php
ln -s $src/wp-comments-post.php $dst/wp-comments-post.php
ln -s $src/wp-commentsrss2.php $dst/wp-commentsrss2.php
ln -s $src/wp-cron.php $dst/wp-cron.php
ln -s $src/wp-feed.php $dst/wp-feed.php
ln -s $src/wp-links-opml.php $dst/wp-links-opml.php
ln -s $src/wp-load.php $dst/wp-load.php
ln -s $src/wp-login.php $dst/wp-login.php
ln -s $src/wp-mail.php $dst/wp-mail.php
ln -s $src/wp-pass.php $dst/wp-pass.php
ln -s $src/wp-rdf.php $dst/wp-rdf.php
ln -s $src/wp-register.php $dst/wp-register.php
ln -s $src/wp-rss.php $dst/wp-rss.php
ln -s $src/wp-rss2.php $dst/wp-rss2.php
ln -s $src/wp-settings.php $dst/wp-settings.php
ln -s $src/wp-trackback.php $dst/wp-trackback.php
ln -s $src/wp-xml-clean.php $dst/wp-xml-clean.php
ln -s $src/xmlrpc.php $dst/xmlrpc.php
cp $src/robots.txt $dst/robots.txt
echo Installed.

Плюсы: двиг и плагины общие, обновляются 1 раз. Темы - отдельные.

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
Wind change
На сайте с 12.02.2007
Offline
88
#2

Большое спасибо.

Вопрос:

Если я правильно понял, то этот скрипт нужно кидать в каждую папку(домен).

После праздника начну тестить. Будут вопросы, обращусь.

SJ
На сайте с 16.03.2008
Offline
78
#3
Wind change:
Вопрос:
Если я правильно понял, то этот скрипт нужно кидать в каждую папку(домен).

После праздника начну тестить. Будут вопросы, обращусь.

Нет, этот скрипт живет у меня в корне /home.

Запускаю через bash, зайдя по ssh.

Если делать без ssh - то просто эти команды через php вызывать. Разве что какие-то траблы с правами на ГХостнигах могут вылезти.

Обращайтесь - всегда помогу :)

Vladimir
На сайте с 07.06.2004
Offline
533
#4
Wind change:
Приветствую.
Когда-то видел пост об установке 1 копии движка на большое количество доменов. Но описано было не понятно. Гуглинг тоже не помог.

Подскажите пожалуйста, или дайте ссылочку.
Есть к примеру 20 доменов, нужно их запустить через 1 двиг.

все проще

- в конфиг файле определяете домен, каждому домену прописываете свой префикс к таблицам

- домены прописываете на хостинге в одну папку где лежит вердпресс

Один WP и одна база. В файлах WP хранит только параметры для соединения к базе данных. Все остальные настройки для домена(сайта) хранятся в самой базе данных.

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

Разными устанавливаем префиксы для таблицы.

Префикса будем использовать $_SERVER['HTTP_HOST'], индивидуальный для каждого домена.

Домены, паркуем как алиасы в одну папку, где расположен WP

Пример кода( добавляемого в конфиг файл вместо строчки $table_prefix = 'wp_'; ) :

$prefix = $_SERVER["HTTP_HOST"];

$prefix = str_replace("www.", "", $prefix);

$prefix = str_replace("-", "", $prefix);

$prefix = str_replace(".", "", $prefix);

$table_prefix = $prefix."_" ; //"wp_";

Аэройога ( https://vk.com/aeroyogadom ) Йога в гамаках ( https://vk.com/aero_yoga ) Аэройога обучение ( https://aeroyoga.ru ) и просто фото ( https://weandworld.com )
SJ
На сайте с 16.03.2008
Offline
78
#5
Nadejda:
все проще
- в конфиг файле определяете домен, каждому домену прописываете свой префикс к таблицам
- домены прописываете на хостинге в одну папку где лежит вердпресс

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

Именно потому я пришел к варианту с symbolic links ;)

Vladimir
На сайте с 07.06.2004
Offline
533
#6
sokol_jack:
Вполне работоспособный вариант, только все у всех блогов будет общее - набор плагинов, тем, язык...
Именно потому я пришел к варианту с symbolic links ;)

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

- набор плагинов тоже в админке каждого домена включается, или выключается

и плагины и темы и контент...это все в админке(в базе), а админка у кажого домена своя, так как изначально для каждого домена свои таблицы. Префикс у таблиц для каждого домена - $table_prefix = "domen_";

DirtyWay
На сайте с 21.03.2008
Offline
29
#7

Всё проверил, всё работает :)

Вариант с символическими ссылками элегантнее на порядок ;)

Один маленький момент.

Новую тему кладем в основной дистрибутив вордпресса, затем создаем символический линк

ln -s $src/wp-content/themes/$theme $dst/wp-content/themes/$theme

Если линк не создать или тему скопировать в папку вордпресса на домене - тема не работает.

Это уточнение к "Темы - отдельные" :)

Одни только положительные эмоции от линукса :)

D8
На сайте с 16.06.2007
Offline
74
dm8
#8

Хм.. что-то я не понял, ну поменяли конфиг-файл и все.

Т.е. указали там домен, базу, и т.д. База (она-то понятно поменяется), подключение к ней - у каждого хостера конечно может меняться.

SJ
На сайте с 16.03.2008
Offline
78
#9
Nadejda:
- темы разные , в админке для каждого домена устанавливаются(естествено их надо вначале положить - разные), соответственно и язык
- набор плагинов тоже в админке каждого домена включается, или выключается

и плагины и темы и контент...это все в админке(в базе), а админка у кажого домена своя, так как изначально для каждого домена свои таблицы. Префикс у таблиц для каждого домена - $table_prefix = "domen_";

Я не говорил, что у всех будет одинаковая тема, потрудитесь читать.

Я говорил о том, что использование одной папки wp-includes не позволяет для блогов держать РАЗНЫЙ набор тем и плагинов. То, что активные плагины и тема у каждого блога в своей wp_options будут - это понятно. Я говорю о том, что мне не нужна куча из 50 плагинов и 40 тем для каждого блога.

Ну, а язык вобще-то в wp-config прописан, не видели? ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий