Как сделать несколько сайтов на одном хостинге

Обновлено: 08.07.2024

Сразу возникает у вас вопрос А ЗАЧЕМ ТАК СЕБЯ ЗАМОРАЧИВАТЬ.
Конечно можно поступить иначе, создать поддомены, например

Ну да… Вариант… И каждый поддомен отдельно раскручивать. Это не по мне… Я как всегда люблю сложности. Далее в статье я расскажу свое видение данного вопроса и расскажу зачем мне нужно создать несколько сайтов с разными движками (CMS ) на одном домене. И конечно мне интересно ваше мнение, напишите его в комментах.

Один Домен = несколько сайтов

Так вот давайте, я объясню почему смежные проекты можно и нужно объединить в один домен?

Самое главное это временной ресурс. Нехватка времени объять все и сразу. Когда у тебя в голове много планов, и ты хочешь и видишь, что уже давно пора их реализовывать, то всегда придется ставить что-то в приоритет, а какие-то планы просто со временем станут не актуальными или даже вы просто о них забудите. Я в сети встречал очень много сайтов, в частности очень много на форумах, в подписях. Люди говорят спрашивают как им то или другое сделать и дают совет другим пользователям. Ради любопытства захожу по ссылке на сайт, а сайта уже давно нет, или он заброшен давно. Вывод = потерянные ресурсы времени, сил, средств.

Сниппеты

SEO продвижение. Конечно эта тема постоянно развивается и не стоит на месте, но говорят, что при правильной внутренней и внешней оптимизации сайта, можно добиться очень хороших результатов. Приведу пример: Есть главная страница (сайт.ру), и папки первого уровня (сайт.ру/blog) (сайт.ру/tv). Если с главной страницы передавать вес (ТИЦ PR) на разделы, т.е. папки первого уровня, а они в свою очередь зациклены между внутренними страницами в этой папке, то при получении высокий показателей главной страницы, папки/разделы в органическом трафике ведут себя как самостоятельные сайты у которых есть высокие показатели благодаря внутренней оптимизации. Так же мы помогаем создать поисковикам сниппеты в виде наших разделов. Приведу ниже скрин

Трафик. Это самое, что ни на есть главное в интернете. Конечная цель того, что делают в сети это трафик, продажи, деньги. Но только каждый сайт, проект, сервис отличается особенностью, какую именно пользу он несет людям. Я не перестану говорить и писать, что нужно соблюдать закон вселенной: “Что бы постичь- нужно отдать” Так вот отдаем мы своё время, творчество, финансовые ресурсы, во благо людей. Отдавать нужно в разы больше чем мы получаем и только при такой схеме мы сможем не думать о финансовых и денежных потребностях. Если написать более простым языком, удобней создать один домен и в нем создать отдельные папки со смежными сайтами (сервисами) и т.д. и все внимание в продвижении акцентировать на него, и получить в ответ трафик с каждого из сайтов, которые в сумме дают очень значительную посещаемость. Приведу простую арифметику: 5 сайтов/сервисов * 500 посетителей в сутки = 2500 посетителей /сутки. А это уже на секунду около 2-5 дол дохода от контекста. Конечно я сужу не о всех нишах и направлениях в сети. Возможно для кого-то трафик и не нужен, им нужны продажи, но все же вы должны знать, что трафик это основа, а уже от качества и количества трафика выражаются продажи )))

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

Порог Монетизации. Тот кто немного сталкивался с рекламными площадками, тот знает, что у каждой площадки с каждым годом увеличивается порог входа для рекламодателей. Другими словами раньше примерно в 2012 году площадка должна была обладать 300 и более посетителей/сутки , что бы подключиться к Яндекс Директу, сейчас уже 500 и более. И такие примеры я могу приводить много порог от 300 от 500 от 1000 от 3000 от 5000 пос/сутки. рекламировать в данной статье площадки не буду, Если нужно напишите в комментах отвечу. Так вот, благодаря многосайтовости, можно получить намного быстро разрешение на монетизацию той площадки которая ближе вам по контенту или больше платит ))

301 Редирект. Когда-то мой проект наберет очень большие просмотры ежедневно, и возможно будет нагрузка на сервер, придется перейти с виртуального хостинга на выделенный. А если со временем я увижу ошибку во всей этой схеме или большую нагрузку, то ни когда не поздно купить новый домен и разгрузить основной домен. Другими словами, один раздел (папку) открепить с переадресацией 301 редиректа всех страниц раздела на новый домен. Но это когда будет нужно сделаем, а пока лучше сконцентрироваться на одном большом проекте.

Вывод:

В данной статье я привел, несколько плюсов, которые позволяют считать выгодным создание нескольких сайтов на одном домене. Особенно если смежные темы этих сайтов, в самом начале создания. Это и экономически выгодно и по времени не так много затрат. Возможно, моя точка зрения отличается от большинства вебмастеров, и это ваше право судить или комментировать. А аудитория посетителей сама выберет, что ей интересно и нужно. Решать в любом случае вам, как поступать, использовать мой совет или нет. Я лишь рассказал о своем видении. Со временем напишу к чему я пришел и на сколько этот метод хорош. А пока подписывайтесь на RSS ленту, а также на мой канал YouTube и не пропускайте следующие статьи.

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

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

Для начала разберёмся в определениях, чтобы вопросов в процессе рассмотрения задачи было меньше.

  • Один URL для входа в панель управления (в том числе платные);
  • Сайты могут использовать общие компоненты;
  • Экономия на лицензии платформы сайта (CMS);
  • Мультисайт занимает меньше места на диске, чем два отдельных сайта (опять же за счёт использования общих компонентов ядра системы);
  • Удобнее администрировать сайт (в том числе выполнять резервное копирование, обновление CMS и другие подобные операции);

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

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

Как работает мультисайт

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

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

Давайте посмотрим как создать мультисайт на практике.

Многосайтовость (мультисайт) на VDS и выделенном сервере

Выделенные серверы (и похожие на них по своей сути VDS) по определению отличаются друг от друга прежде всего установленной операционной системой. В зависимости от установленной на сервере ОС операции, сопутствующие созданию мультисайта, могут отличаться.

Мы рассмотрим выполнение всех операций на примере тестового сервера с установленной CentOS 7. Обратите внимание, что структура папок на сервере может также отличаться в зависимости от панели управления сервером. Однако в данном случае это не имеет никакого значения.

Также нам потребуется SSH доступ, так как все операции мы будем выполнять из консоли. В принципе можно обойтись и без SSH, если панель управления сервером позволяет выполнять описанные ниже необходимые операции. Но мы рассмотрим самый универсальный способ.

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

Будем считать, что один сайт у вас уже есть. Наша задача — создать второй.

Поскольку запросы к обоим сайтам должны обрабатываться файлами первого сайта, то папка второго сайта будет пустой. Или почти пустой — это зависит от панели управления сервером (если она вообще используется). Посмотрите на скриншот ниже.

настройка многосайтовости на VDS


[нажмите на картинку для увеличения]
Справка: как сохранять фото с сайтов

Пример настройки мультисайта для CPanel

Настройка мультисайта (многосайтовость) в CPanel


[нажмите на картинку для увеличения]
Справка: как сохранять фото с сайтов

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

Пример настройки мультисайта через SSH

Что мы имеем в нашем примере:

Нужно сделать так, чтобы папка второго сайта (нового) вела в папку первого. Для этого удалим папку /public_html/ у второго(!) сайта, после чего создадим симлинк с таким же названием (/public_html/), который будет указывать на папку первого сайта. В CentOS мы для этого используем следующую команду:

Как создать симлинк в UNIX


[нажмите на картинку для увеличения]
Справка: как сохранять фото с сайтов

При работе через SSH консоль будьте осторожны, чтобы не повредить серверу! Если Вы не уверены в том что делаете, обратитесь к специалисту.

Как видите, сложного ничего нет. Способ с символическими ссылками работоспособен вне зависимости от панели управления сервером (в том числе может применяться для серверов без панели управления вообще).

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

Многосайтовость (мультисайт) на виртуальном хостинге

Отличие в том, что симлинк в случае виртуального хостинга не нужно создавать через SSH, а можно сделать через файловый менеджер хостинга (если есть такая возможность). Хотя если Вам привычнее работать через консоль и хостинг предоставляет SSH доступ, то можно всё сделать как написано выше для отдельного сервера.

Если создать симлинк не получается, мы рекомендуем обратиться к справочной системе Вашего хостинг-провайдера или написать в техподдержку и объяснить что Вы хотите создать и настроить многосайтовость (мультисайт). Обычно же проблем никаких не возникает.

Как проверить работоспособность мультисайта

Проверить, работает ли наш мультисайт, очень просто. Откройте новый домен (поддомен) в браузере: Вы должны видеть не пустой лист (или заглушку), а что-то имеющее отношение к системе управления (CMS) Вашего сайта. Например, для HostCMS это будет выглядеть как на скриншоте ниже.

мультисайт HostCMS


[нажмите на картинку для увеличения]
Справка: как сохранять фото с сайтов

В данном случае система управления HostCMS просит добавить лицензионный ключ для нового домена (поддомена). Это уже имеет отношение к конкретной системе управления сайтом, нам же важно, что запрос к новому домену был успешно обработан в соответствии с нашими сделанными настройками. То есть всё получилось.

Многосайтовость на разных доменах и поддомене

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

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

Мультисайт (многосайтовость) на HostCMS

В случае использования профессиональной системы управления HostCMS после выполнения технических операций, описанных выше, необходимо сделать следующее:

  • Добавить новый сайт в панели управления;
  • Добавить домен к новому сайту (тот домен или поддомен, для которого и были сделаны все настройки на сервере);
  • Получить лицензионный ключ для нового домена (поддомена);

Стоит помнить об одном важном ограничении, которое налагают на мультисайты коммерческие системы управления: все сайты, размещаемые в одной панели управления (мультисайт), должны принадлежать одной компании.

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

Установив, веб-сервер Apache и предоставив через него на всеобщее обозрение свой сайт, некоторые и не подозревают, каким мощным инструментом они владеют. С его помощью можно управлять сотнями сайтов с разными именами и уровнями доступа. Денежная стоимость и временные затраты на добавление каждого сайта минимальны.

Веб-сервер Apache, популярный благодаря своей прозрачности для программистов и администраторов и не в последнюю очередь благодаря бесплатности, реализован под все более-менее популярные операционные системы. Его настройки для всех ОС одинаковы, различаются только пути, где хранятся конфигурационные файлы. На одном сервере может быть запущено несколько экземпляров Apache, прослушивающих разные адреса и/или порты. Один экземпляр может обслуживать несколько сайтов (подробнее об этом ниже). Проект настолько популярен, что постоянно обрастает новой функциональностью. О степени популярности можно судить либо по статистике, что, на мой взгляд, довольно опрометчиво, либо по конкретным фактам. Фактов популярности Apache мы приведём два. Во-первых, его наличие в качестве веб-сервера по умолчанию в большинстве UNIX-подобных операционных систем. Во-вторых, такой гигант в области ИТ как компания Oracle приняла его в состав своего продукта Oracle Application Server 10g, где он играет одну из ключевых ролей.

  1. Разместить все сайты на одном сервере
  2. Сделать доступ к каждому сайту по отдельному URL
  3. Ограничить доступ к некоторым сайтам
  4. Сделать перенаправление нескольких имён на один сайт

Создаём два сайта (виртуальные хосты)

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

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

Создаём ссылки с нескольких DNS адресов на один сайт

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

1) Синонимы задаются директивой ServerAlias, могут содержать маску, и разделяются пробелом. Вот несколько примеров создания синонимов:

Синоним - это DNS-имя. Имена могут быть абсолютно любыми, в том числе и из разных доменов, но все они должны разрешаться в IP-адреса, то есть их предварительно нужно зарегистрировать в DNS.

Можно перенаправлять не со всего сайта, а только с определённого каталога или даже документа:

При этом Apache воспринимает первый параметр директивы Redirect не как URL, а как набор символов, при совпадении с которым происходит перенаправление. Отсюда следует, что он НЕ проверяет наличие указанных каталогов и файлов, а ссылки /samag и /samag/ НЕ считает одинаковыми.

Перенаправление с помощью файла .htaccess выглядит так:

Полезная ссылка:

Ограничиваем доступ к сайтам

Теперь перейдём непосредственно к раздаче прав доступа. Существует два способа указания прав доступа к каталогу веб-сайта средствами Apache:

1) поместить в каталог файл .htaccess,

2) использовать директиву в файле конфигурации.

В обоих случаях правила распространяются и на вложенные каталоги. Мы рассмотрим оба способа и изменим права доступа к двум каталогам сайта logos.

файл .htaccess

Какие параметры можно переписать в файлах .htaccess определяется директивой AllowOverride. Для разрешения переопределения всех деректив нужно добавить в конфигурацию сайта строку:

Перечислим преимущества использования файла .htaccess:

  1. при его изменении не нужно перезапускать Apache;
  2. при одинаковом уровне доступа к разным ресурсам можно пользоваться ссылками на один файл .htaccess;
  3. можно предоставить пользователю право редактирования этого файла, что удобно, если у нас сервер с множеством клиентских сайтов.

Есть и недостатки:

Пример

Предоставим права с помощью файлов .htaccess, нужно создать соответственно файл /var/www/html/logos/info1/.htaccess:

и файл /var/www/html/logos/info2/.htaccess:

директива

Определяя настройки доступа к каталогам сайта с помощью директивы в одном конфигурационном файле всего сайта, мы получим следующие преимущества:

  1. можно быть уверенным, что ничего не пропустим, если вдруг нужно изменить уровень доступа к какому-нибудь ресурсу;
  2. повышаем скорость реакции сервера на запросы, т.к. все настройки загружаются при старте Apache.

Ну а мириться придётся с тем, что для каждого каталога необходимо описывать права отдельно (помним, что для подкаталогов права наследуются), даже если они одинаковые. Правда, есть поддержка масок, например:

будет соответствовать именам каталогов в /www/ состоящим из трёх цифр, но это не всегда может облегчить ситуацию.

Пример

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

Добавим в него пользователя chef:

В некоторых дистрибутивах команда может называться без цифры, т.е. htpasswd, находится она в пакете с утилитами Apache, в Debian это apache2-utils

Остальных пользователей добавляем аналогичным способом. Такие файлы создаём для каждой группы пользователей с одинаковыми правами доступа к ресурсу. Одни и те же группы можно использовать во всех сайтах.

Для удаления пользователя chef из списка, используем комманду:

Последние штрихи

Также нелишне будет настроить ротацию журналов с помощью logrotate.

Особенности директив Listen и NameVirtualHost

Директива Listen имеет больший приоритет чем, NameVirtualHost. Она говорит, откуда принимать запросы. В то время как последняя определяет, как обрабатывать полученный запрос. Это значит, что если указано значение

то Apache будет прослушивать порт 80 на всех IP адресах и директива

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

Как создать два (или несколько) сайта, которые будут использовать один движок WordPress и одну базу данных.

1. Если основной домен уже подключен к хостингу, то этот шаг пропускаем, если нет, то подключаем его:

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

  • задаем свои параметры MySQL (как и при обычной установке),
  • задаем префиксы таблиц для каждого сайта (таблицы обоих сайтов будут находиться в одной БД, но отличатся префиксами).

4. Устанавливаем WordPress для первого сайта

5. Приступаем к настройке второго домена:

6. Устанавливаем WordPress для второго
сайта. В результате получаем два совершенно самостоятельных сайта,
управление которыми осуществляется из отдельных панелей администратора.

8. Там же (в корневом каталоге)

9. Остальные настройки делаем для каждого сайта отдельно (из панели администратора).

10. На этом настройку движка для двух сайтов можно считать законченной. Дальше работаем с созданными сайтами как обычно.

Красивое и понятное, на мой взгляд, решение проблемы с robots.txt и картами сайтов нашла у Алекса Волкова .

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

Читайте также: