Как сделать мультисайт.
Настройка многосайтовости на VDS и виртуальном хостинге с примерами.

  • Опубликовано 09 апреля 2020 г.
  • Категория: UNIX
  • Теги: HostCMS
  • Прочитали 1 167 человек

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


Смотрите видео после статьи
видео может дополнять статью или содержать её полностью

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

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

Что такое «мультисайт»

Обычно под термином «мультисайт» подразумевают управление двумя или более сайтами при помощи одной панели управления.

Если у компании несколько сайтов, то такой подход очень удобен с точки зрения администрирования. Действительно, использовать для управления всеми сайтами компании одной панели управления («админки») очень удобно. В том числе по следующим причинам:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На скриншоте из Midnight Commander (вот тут нам и пригодился SSH) Вы можете видеть папки двух доменов. Одна из них содержит все файлы нашего «основного сайта», а размер второй папки несущественный, так как в ней почти ничего нет.

Если просто добавить новый домен (поддомен), то он будет работать «сам по себе», то есть при открытии его из браузера мы увидим пустой сайт (или какую-то заглушку, которая устанавливается при добавлении нового домена на сервер).

Наша задача заключается в том, чтобы перенаправить запросы к второму домену (в примере: hostcms2.test-mouse.ru) в папку основного сайта (в примере: hostcms.test-mouse.ru). Как именно это сделать — напрямую зависит от панели управления сервером.

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

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

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

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

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

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

Перенаправить запросы к новому домену в папку «основного» сайта можно либо через правку конфигурационных файлов сервера, либо через использование символических ссылок. Рассмотрим второй случай на примере нашего тестового сервера.

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

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

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

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

  • Папка основного сайта: /home/system_username/web/hostcms.test-mouse.ru/public_html/
  • Папка нового сайта: /home/system_username/web/hostcms2.test-mouse.ru/public_html/

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

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

ln -s /home/system_username/web/hostcms.test-mouse.ru/public_html /home/system_username/web/hostcms2.test-mouse.ru/public_html

Или в общем виде: ln -s <путь к папке> <путь к симлинку>

«system_username» — это имя системного пользователя, в папке которого лежат Ваши сайты. Исправьте это на то, что Вам нужно, в том числе пути к папкам!

В результате мы при заходе в «папку» (симлинк) второго сайта мы будем видеть файлы нашего основного сайта. Пример Вы можете посмотреть на скриншоте ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Платформа HostCMS является одной из немногих систем управления сайтами, которая полноценно поддерживает многосайтовость «из коробки». Также аналогичными возможностями обладает 1C:Bitrix, а также некоторые другие CMS.

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

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

Уникальная метка публикации: AB69E680-6867-FD5B-B0E5-58AE0C9567BD
Источник: //artemvm.info/information/uchebnye-stati/unix/mnogosajtovost-na-vds-i-primer-dlya-multisajta-hostcms/

Смотреть видео
Как сделать мультисайт.
Настройка многосайтовости на VDS и виртуальном хостинге с примерами.

Настройка многосайтовости на VDS и виртуальном хостинге видео Смотреть видео

Авторы публикации

Разработка сайтов

подробнее


Ваш комментарий к публикации

Присоединяйтесь к обсуждению! Оставьте свой комментарий к данной публикации. Ваш комментарий будет опубликован на сайте после проверки модератором.

Ваша корзина
пока пуста
0
нет товаров
в избранном
0
нет товаров
для сравнения
0
Не сейчас