Два домена на одном хостинге: рекомендации по размещению

Приветствую всех, кто открыл страничку моего блока. Сегодня я хочу ответить на вопрос моих читателей: Можно ли иметь два домена на одном хостинге?

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

Я сама имею на хостинге Таймвеб два сайта. На одном в данное время вы находитесь, а другой играет роль тестового. Он служит для создания видеоуроков.


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

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


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

Доменными именами владеют многие веб мастера. Они приобретают их на сайте 2domains.ru или reg.ru . Так как, веб мастера имеют в своем активе несколько сайтов, они приобретают несколько доменов и регистрируют их под своим именем.

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

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


Два домена — это пустяк! Можно и 50 размещать, все зависит от тарифа.

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

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

Затем нужно открыть панель управления системы, зайти в свой аккаунт и выбрать услугу «addon feature». Она дает возможность вписать еще одно доменное имя, которое будет находиться в подкаталоге главного хостинга.


Таким образом, можно будет проводить регистрацию других доменных имен, используя серверные приложения. Они смогут «услышать» HTTP-запросы, базируясь на главное название «aka domain name».

Каждый входящий HTTP-запрос, касающийся, дополнительно сделанных доменов, отправляется в определенный подкаталог, иначе говоря, вложенные папки.

Чтобы нормально работать, необходимо создать несколько файлов сайтов, а затем отправить их в имеющиеся папки.

Хостинг Таймвеб

На этом хостинге вы можете разместить несколько доменов, смотрите на ограничения по сайтам. В моем случае 2 сайта из 4 возможных.

Доменов можно создавать неограниченно, а вот сайтов — директорий под эти домены на моем тарифе только 4. Здесь главное не путаться. Чтобы добавить еще один домен перейдите по вкладке «управление доменами» и дальше «разместить на NS серверах». Если у вас несколько сайтов, то их можно размещать в рамках одного тарифного плана.

В предыдущих своих статьях я рассказывала о хостинге timeweb . Если вы решили открыть несколько доменных имен и пользоваться ими одновременно, я хочу посоветовать вам, открыть страницу timeweb.com , где вы сможете осуществить все задуманное.

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

Приобретение хостинг-пакетов на годовой срок даст заметную экономию при оплате улуг веб-хостинга

При выборе хостинга, лучше всего обращать внимание на систему, которая предлагает одновременную работу на 50 дополнительных доменах.

Объем пакета должен иметь много места на диске, чтобы поддерживать высокую пропускную способность.

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

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

Многие считают, что слово «безлимитный» значит неограниченный. Это не так. Любой хостинг имеет свои пределы.

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

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

Желаю вам побольше сайтов и побольше дохода с них! Всего хорошего! .

Анекдот.
— Милый, как мы назовем нашего сыночка?

— Дорогая, давай назовем его Иегова.

— Ты сошел с ума? Зачем ему такое имя?

— Да так, хочется посмеяться над свидетелем на его свадьбе!

ПАВЕЛ МАЛАХОВ

Многоликий Apache
Размещаем несколько сайтов на одном веб-сервере

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

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

У нас есть

  • Компьютер с установленным пакетом Apache 1.3 или 2.0.
  • Адрес сервера в Интернете: 10.0.10.15 и имя: teo.mynetwork.ru.
  • Адрес сервера в локальной сети: 192.168.100.18.
  • Несколько сайтов.
  • Несколько имён для одного сайта.

Хотим

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

Делаем

Пойдём от простого к сложному. Для начала рассмотрим случай, когда у нас два сайта и два имени teo.mynetwork.ru и logos.mynetwork.ru. Эти имена должны быть доступны, т.е. держатель зоны mynetwork.ru должен прописать в ней узлы teo и logos.

Для каждого сайта создаём каталог в корневом каталоге документов Apache (teo и logos соответственно). Для Linux это по умолчанию /var/www/html, но чтобы убедиться, где он расположен на нашем сервере, смотрим значение директивы DocumentRoot в /etc/httpd/conf/httpd.conf. Итак, создаём:

# mkdir /var/www/html/teo /var/www/html/logos

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

# mkdir /var/log/httpd/teo /var/log/httpd/logos

Если у нас уже был создан сайт, то всё его содержимое переносим в созданный для него каталог, т.е. из /var/www/html в /var/www/html/teo. Новый сайт logos.mynetwork.ru размещаем в /var/www/html/logos.

Теперь настраиваем Apache. Добавляем в конец файла /etc/httpd/conf/httpd.conf:

NameVirtualHost 10.0.10.15

DocumentRoot /var/www/html/teo

ServerName teo.mynetwork.ru

ErrorLog /var/log/httpd/teo/error_log

CustomLog /var/log/httpd/teo/access_log combined

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

Перезапускаем Apache:

# /etc/init.d/httpd restart

Теперь, обращаясь по DNS-именам, мы будем получать разные сайты. Если обратиться по IP-адресу, то получим сайт teo.mynetwork.ru, т.к. он подключен первым.

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

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

ServerAlias www.teo.mynetwork.ru

ServerAlias *.teo.mynetwork.ru

ServerAlias www.teo.mynetwork.ru god.mynetwork.ru pantheon.ru

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

Перенаправление задаётся директивой Redirect. Создаём новый пустой сайт pantheon.ru. Как и для предыдущих сайтов, это делается в три шага: создание каталога для документов, для журналов и добавление конфигурации в httpd.conf:

DocumentRoot /var/www/html/pantheon

ServerName pantheon.ru

ErrorLog /var/log/httpd/pantheon/error_log

CustomLog /var/log/httpd/pantheon/access_log combined

Redirect / http://teo.mynetwork.ru

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

Redirect /samag http://сайт

Redirect /ftp/ ftp://citkit.ru/pub/

Redirect /find/ya.htm http://yandex.ru

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

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

Теперь если пользователь обратится к нам по IP-адресу либо по имени, на которые наш сервер откликается (см. врезку), то Apache сначала определяет, не удовлетворяет ли запрос описанным директивами VirtualHost сайтам, и если не находит ни один из них, то выдаёт сайт по умолчанию, который находится в каталоге, заданном глобальной директивой DocumentRoot, т.е. уровнем выше остальных. Таким образом, получается, что пользователь может попасть на любой из виртуальных сайтов не тем путём, какой мы для него приготовили, т.е. http://logos.mynetwork.ru/. Например, набрав в адресной строке браузера «http://192.168.100.18/logos/», он получит сайт logos.mynetwork.ru. Правда, в этом случае документы, использующие ссылки на ресурсы этого же сайта, будут некорректно отображаться, потому что ссылки делаются относительно корня сайта, и если это была ссылка /img/picture.jpg, то во втором случае этот же файл уже нужно искать по ссылке /logos/img/picture.jpg, этого же браузер не знает. Таким образом, здесь все зависит от того, догадывается ли пользователь, в каких каталогах мы храним наши сайты. В принципе в этом нет ничего плохого, ведь мы в любом случае выложили сайты, чтобы их посещали (правила по ограничению доступа к ресурсу всё равно будут действовать, о них мы поговорим чуть позже), но как-то это выглядит некрасиво (для того и двери, чтобы в окна не лазить). Чтобы устранить эту некрасивость, можно поместить сайт по умолчанию на тот же уровень, что и остальные сайты, т.е. создать каталог /var/www/html/default и указать его в двух директивах глобальных настроек (т.е. до описания виртуальных сайтов).

DocumentRoot "/var/www/html/default"

# This should be changed to whatever you set DocumentRoot to

Теперь перейдём непосредственно к раздаче прав доступа. Существует два способа указать права доступа к каталогу веб-сайта средствами Apache: поместить в каталог файл.htaccess либо использовать директиву в файле конфигурации. В обоих случаях правила распространяются и на вложенные каталоги.

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

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

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

  • для того чтобы ответить на вопрос: «какие ограничения доступа существуют на сайте?» – администратору необходимо помнить, в каких каталогах лежат эти файлы и ссылки;
  • если сайт будет переноситься на другой сервер, и, что очень вероятно, будет размещён в другом каталоге, то для корректировки ссылок уйдёт много времени;
  • повышается нагрузка сервера, т.к. при каждом запросе на ресурс он обращается к.htaccess в этом каталоге и всех верхних по иерархии, наследуя их настройки т.е. запрос на ресурс http://teo.mynetwork.ru/olimp/staff/zeus.htm инициирует проверку.htaccess-файлов в каталогах «./», «./olimp/», «./olimp/staff/».

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

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

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

Правда, есть поддержка масок, например:

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

Мы рассмотрим оба способа и изменим права доступа к двум каталогам сайта logos.

Первый. Описываем права доступа к каталогам в главном конфигурационном файле httpd.conf:

DocumentRoot /var/www/html/logos

ServerName logos.mynetwork.ru

ErrorLog /var/log/httpd/logos/error_log

CustomLog /var/log/httpd/logos/access_log combined

Options +Indexes

Order deny,allow

Deny from all

Allow from 192.168.100.11

Allow from 192.168.100.17

AuthType Basic

AuthName "Boss"

Require valid-user

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

Options +Indexes

Order deny,allow

Deny from all

Allow from 192.168.100.11

Allow from 192.168.100.17

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

AuthType Basic

AuthName "Boss"

AuthUserFile "/var/www/main_users"

Require valid-user

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

Доступ к ресурсу http://logos.mynetwork.ru/info1/ смогут получить только два пользователя из локальной сети с указанными IP-адресами (хотя такие ресурсы лучше хранить на внутренних веб-серверах), ещё мы дали разрешение Apache, в случае отсутствия в каталоге начальной страницы генерировать html-документ с содержимым каталога.

Для доступа к ресурсу http://logos.mynetwork.ru/info2/ будут запрошены имя пользователя и пароль, которые будут сверены с данными в файле /var/www/main_users. Создадим этот файл:

# touch /var/www/main_users

# chown root.webmaster /var/www/main_users

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

# /usr/bin/htpasswd /var/www/main_users chef

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

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

В заключение можно для изящности выделить настройку каждого сайта в отдельный файл, и подключить их в httpd.conf:

Include /etc/httpd/conf/vhosts/teo.conf

Include /etc/httpd/conf/vhosts/logos.conf

Include /etc/httpd/conf/vhosts/pantheon.conf

Кроме изящности мы получаем удобство в быстром подключении и отключении сайта путём добавления/снятия символа комментария «#» в начале строки. Это особенно актуально, когда настройка каждого сайта раздувается на несколько десятков строк.

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

Приложение

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

Директива Listen имеет больший приоритет чем, NameVirtualHost. Она говорит, откуда принимать запросы. В то время как последняя определяет, как обрабатывать полученный запрос. Это значит, что если указано значение «Listen 80», то Apache будет прослушивать порт 80 на всех IP-адресах, и директива «NameVirtualHost 10.0.10.15» не ограничивает запросы, пришедшие на другие адреса, и они будут обрабатываться наравне с указанным адресом, а если указано значение «Listen 10.0.10.15:80», то «NameVirtualHost 192.168.100.18» не возымеет действия, и сайт будет не доступен из локальной сети.

  1. http://httpd.apache.org/docs/1.3/vhosts – официальная документация по созданию виртуальных сайтов.
  2. http://httpd.apache.org/docs/2.0/vhosts – другая версия этой же документации для версии Apache 2.0. Отличия, на мой взгляд, коснулись только формы самой документации.
  3. http://httpd.apache.org/docs/2.0/ru/howto/htaccess.html – пособие по настройке.htaccess-файлов.

Здравствуйте.

Я слышал, что возможно настроить один сервер, для того, чтобы там крутились веб-сервера для нескольких доменов. У меня сейчас проблема: есть компьютер, на нем стоит IIS 5.0, который обслуживает домен, на там же компьютере установлен почтовый сервер MDaemon Pro 5.0. Я бы хотел, чтобы на том же сервере был еще сайт для другого домена. Однако не знаю, как это сделать.

Заранее спасибо.

Вам элементарно нужно создать два разных сайта. Это делается через интерфейс MMC и обычно никаких проблем не вызывает. А вот запустить (start"овать) потом оба сайта не удасться - нужно их настроить согласно FAQ .

Может быть у вас клиентская OC (NT workstation или 2000 Professional или XP) - там в IIS вообще нельзя сделать больше одного сайта.

Как я уже писал, у меня стоит IIS 5.0 из комплекта Windows 2000 Server. Я попробую ваши рекомендации, когда завтра доберусь до сервера. Может, проще поставить еще одну сетевую карту? (Проблем с IP -адресам нет.) Тогда можно будет без проблем сконфигурировать еще один домен? Поддерживает IIS несколько сетевых карт?

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

Однако, из ваших ответов я так и не понял, как на одном IP -адресе могут висеть два домена. То, что нужно создать еще один веб-сервер в консоли управления, я понимаю, и, как это сделать --- вопрос ясный. Мне что-то говорили, что сервер направляет посетителя на нужный сайт, исходя из того, какой домен набран в адресной строке. Но как все это сделать практически на IIS, я не знаю.

Существует два принципиально разных способа расположить несколько виртуальных сайтов с разными доменными именами на одном физическом сервере. Первый заключается в том, чтобы некоторому сетевому интерфейсу сопоставить несколько IP -адресов, и для каждого из них сделать запись DNS типа "A". Затем сайт IIS настраивается таким образом, чтобы обрабатывать запросы от конкретного IP-а. Основной недостаток приведенного способа - ограниченное (как правило) число свободных IP-адресов в подсети сервера. Этот же способ можно применять для FTP . Второй способ работает только для HTTP и основан на версии протокола HTTP 1.1 (соответственно, клиенты должны поддерживать этот протокол). В версии 1.1 протокола HTTP в заголовке запроса передается имя DNS сервера, к которому адресуется запрос. В результате появляется возможность использовать несколько доменных имен, ассоциированных с одним IP-адресом (псевдонимов). Для этого нужно создать запись DNS-сервера типа "CNAME", а в свойствах сайта IIS задать имя сайта (имя DNS). Недостаток этого способа в том, что, клиенты, поддерживающие только протокол HTTP 1.0, не смогут получить доступ к подобному сайту.
Поддержка нескольких сайтов не зависит от ОС, а зависит только от версии сервера. Однако IIS, поставляемые с W2K Pro и XP Pro/Home Edition, ограничены программно. Win32 - версия Apache, например, позволяет реализовать несколько виртуальных сайтов даже под управлением Windows 95.

Большое спасибо за столь обстоятельный ответ. Похоже, вы тут единственный, кто понял, что я хотел узнать.

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

Заранее спасибо.

Нет, в свойствах сетевой карты следует нажать кнопку "Дополнительно". Я точно не помню названия, но смысл такой. Выбираем вкладку "Параметры IP ", там будет список IP-адресов, в котором можно добавлять и удалять адреса. Важно следить, чтобы IP-адреса не выходили за пределы маски и не конфликтовали с другими IP-адресами в системе, в противном случае стевой интерфейс данной карты работать не будет. Далее открываем консоль DNS (Программы\Администрирование), выбираем интересующую нас зону прямого просмотра и создаем в ней запись типа "А", указав при этом новый IP-адрес и трубуемое имя DNS. Процесс этот несложный и подробно описан в специальной литературе, потому повторяться не буду. Вот и все. Теперь можно создавать новый виртуальный сайт (в поле "IP-адрес" указываем новый IP-адрес).