url image

Как добавить сайт-заглушку на сервер

Одна из особенностей работы с виртуальными серверами — в том, что IP-адрес, который выдаётся для размещения сайтов, раньше мог принадлежать кому-то другому. Старый владелец мог размещать на нём сайты, привязывать к нему домены. 

Когда адрес назначается новому серверу, он полностью переходит в ваше распоряжение. Но с ним вам может достаться и непредвиденный багаж: например, к этому адресу всё ещё могут быть привязаны доменные имена одного из прошлых владельцев. 

Это выливается в следующую картину: веб-сервер получает запросы к доменам, для которых на сервере нет настроек, и показывает на них ваш сайт. В итоге поисковая система считает эти домены копиями вашего сайта — и это приводит к проблемам с ранжированием.

Чтобы защититься от таких ситуаций, достаточно разместить на сервере сайт-заглушку. Его главная задача — отлавливать такие бесхозные домены, чтобы они не влияли на работу ваших сайтов.

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

Настройка сайта-заглушки в ISPmanager

Для создания заглушки в ISPmanager достаточно создать отдельный сайт и указать его в качестве приоритетного. 

Войти в панель можно по прямой ссылке (https://127.0.0.1:1500/ispmgr, где 127.0.0.1 — адрес вашего сервера) или через Инструкцию.  Перейдите в Личный кабинетТоварыВиртуальные серверы, выберите нужный сервер в списке — нажмите кнопку Инструкция — найдите блок ISPmanager и нажмите кнопку Перейти.

Перейдите в раздел Сайты и сверху нажмите Создать сайт:

Перейдите в раздел Расширенные настройки в поле Доменное имя укажите произвольное доменное имя заглушки. Например, в примере ниже это домен no-such-site.sorry После этого кликните на любом месте в окне настройки — сработает автозаполнение полей. Немного ниже в настройках создаваемого сайта отметьте пункт Сайт по умолчанию.

Осталось только загрузить файлы заглушки, чтобы посетители видели не приветственную страницу, которую генерирует ISPmanager, а ваше сообщение. 

Если вы знакомы с HTML и CSS, можно просто отредактировать эту самую приветственную страницу. Это можно сделать прямо в панели — раздел Сайты — выберите в списке сайт-заглушку, сверху Файлы сайта. Откроется список файлов сайта — по умолчанию там будет один index.html. Дважды кликните на файле, откроется редактор кода: измените вид страницы по своему вкусу.

На этом настройка завершена. Теперь домены, не настроенные на сервере, будут открывать эту заглушку, а не ваши сайты.

Настройка сайта-заглушки в Apache

Чтобы создать заглушку на сервере с LAMP, нужно выполнить следующие шаги: 

  1. Создайте папку для заглушки и загрузите туда её файлы.  В примере мы будем использовать домен default.site. Для заглушки можно использовать любое имя — оно носит чисто символический характер.

    Создать папку можно следующим образом: 

    mkdir /var/www/default.site

    Загрузить файлы заглушки можно любым удобным способом — по FTP, sFTP. Или можно вручную создать файл index.html и заполнить его через консольный редактор, если вам знакомы основы HTML и CSS.

    После того, как файлы загружены, нужно настроить права: предоставить к файлам доступ веб-серверу, чтобы он мог их обрабатывать. Для этого изменим их владельца на системного пользователя, под которым работает Apache: на Ubuntu и Debian это www-data, на CentOS — apache.

    chown -R www-data:www-data /var/www/default.site
  2. Создайте конфигурационный файл заглушки для веб-сервера — <VirtualHost>. Чтобы наша заглушка работала как надо, этот файл должен быть первым в списке всех конфигурационных файлов сайтов на сервере — этого можно достичь с помощью правильного названия. 

    • На Ubuntu и Debian для этого достаточно отредактировать конфигурационный файл по умолчанию — 000-default.conf:

      nano /etc/apache2/sites-available/000-default.conf
      В качестве примера приведён редактор nano. Для сохранения файла нажмите сочетание Ctrl+O, проверьте имя файла и нажмите Enter. Для выхода из файла нажмите сочетание Ctrl+X.
       
    • На CentOS потребуется создать его вручную в директории, где лежат остальные <VirtualHost>. В примере ниже это папка /etc/httpd/sites-enabled Можно создать файл, сразу вызвав консольный редактор — в примере vi:

      vi /etc/httpd/sites-enabled/000-default.conf
      В качестве примера приведён консольный редактор vi. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
       

    Замените содержимое файла на следующее:

    <VirtualHost 123.123.123.123:80 >
           ServerName default.site
           DocumentRoot /var/www/default.site
    </VirtualHost>

    Вместо 123.123.123.123 укажите IP-адрес вашего сервера, default.site — имя вашей заглушки, /var/www/default.site — путь к файлам заглушки.

    На Ubuntu и Debian после настройки нужно активировать новый конфигурационный файл:

    a2ensite 000-default.conf
  3. На этом настройка заглушки почти завершена. Чтобы все изменения вступили в силу, осталось перезапустить веб-сервер:

    • Ubuntu и Debian:

      systemctl reload apache2
    • CentOS: 

      systemctl reload httpd

Настройка сайта-заглушки в Nginx

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

Добавим на сервер папку под файлы заглушки:

mkdir /var/www/default

Загрузить файлы заглушки можно любым удобным способом — по FTP, sFTP. Или можно вручную создать файл index.html и заполнить его через консольный редактор, если вам знакомы основы HTML и CSS.

После того, как файлы загружены, нужно настроить права: предоставить к ним доступ веб-серверу, чтобы он мог их обрабатывать. Для этого изменим их владельца на системного пользователя, под которым работает Nginx: на Ubuntu и Debian это www-data, на CentOS — nginx.

chown -R www-data:www-data /var/www/default

Теперь нужно создать конфигурационный файл нашей заглушки. 

  • На Ubuntu и Debian конфигурационные файлы сайтов размещены в отдельной директории /etc/nginx/sites-available. Здесь и разместим наш файл:

    nano /etc/nginx/sites-available/default.conf
    В качестве примера приведён редактор nano. Для сохранения файла нажмите сочетание Ctrl+O, проверьте имя файла и нажмите Enter. Для выхода из файла нажмите сочетание Ctrl+X.
     
  • На CentOS можно просто создать конфигурационный файл заглушки в директории, где у вас размещены конфиги сайтов. Это может быть папка /etc/nginx/conf.d, доступная по умолчанию, или, как в примере, отдельно созданная директория /etc/nginx/sites-enabled:

    vi /etc/nginx/sites-enabled/default.conf
    В качестве примера приведён консольный редактор vim. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
     

Вставьте в файл следующий блок настроек: 

server {
    listen 123.123.123.123:80 default_server;
    server_name  _;
    root /var/www/default;
}

Здесь вместо 123.123.123.123 укажите IP-адрес вашего сервера, вместо /var/www/default — путь к файлам вашей заглушки, и сохраните конфигурационный файл. 

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

На Ubuntu и Debian созданный конфигурационный файл нужно активировать — создать символьную ссылку в директории /etc/nginx/sites-enabled:

ln /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf

Осталось два последних штриха: 

  • Проверяем конфигурацию веб-сервера на корректность: 

    nginx -t
  • Перезапускаем веб-сервер: 

    systemctl reload nginx

На этом настройка заглушки завершена.

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!