Как организовать несколько веб сайтов на одном хостинг аккаунте. На одном хостинге несколько сайтов
Как можно разместить несколько сайтов на одном хостинге: пример и возможная ошибка
Приветствую! Не давно,мои постоянные и внимательные подписчики,заметили у меня появление еще одного сайта, на который я стал ссылаться и вот кого то заинтересовал вопрос, как разместить несколько сайтов на одном хостинге. В принципе я сам только не давно заинтересовался этим и вот решил поделиться ,как это получилось у меня.
Хорошенько погуглив, пришел к выводу,что все в общем то просто в теории,главное как всегда, взять и начать делать,чем я и занялся.
Первым делом
Первым делом, я зашел на свой хостинг и установил свой любимый движок WordPress.Так как мой тариф на хостинге позволяет мне добавить до пяти сайтов,я заплатил только за новый домен.
То есть я установил еще один (отдельный) Wordpress движок под конкретный сайт. У меня на хостинге это можно сделать сразу в адмике,нажав пару кнопок. Но разумеется можно пойти любым другим путем,к примеру через filezilla, главное закачать на хостинг свежую версию Wordpress и установить.Так же вам придется создать отдельную базу данных в ручную.
Настройка
По мне так, лучше все делать автоматически через хостинг,просто нажимая нужные кнопки и заполняя простые поля.
Когда все установиться,а это подразумевает под собой:
- Установка БД (базы данных)
- Установка Wordpress
- Привязка домена
Переходите по ссылке http://online-elite.ru/ /wp-admin/install.php. только вместо online-elite.ru укажите адрес своего сайта. Заполняйте нужные поля (если это нужно ) или переходите сразу ко входу в свою адимку http://malasobaka.ru/wp-login.php
Общий смысл всех действий для размещения сайтов на одном хостинге в том,что нужно установить под каждый сайт все отдельно,заходите для управления так же отдельно в каждую адимнку WordPress. Если сайтов много,то можно управлять всем с помощью плагина,о котором можно почитать здесь.
Вообщем то все на этом,Поздравляю Вы разместили несколько сайтов на одном хостинге. Получилось? А у меня нет.
Ошибки
Вот такое появилось при попытке перейти в админку Wordpress.
«Сервер DNS ответил: Refused: The name server refuses to perform the specified operation. Это означает, что кэш не смог распознать имя узла в URL. Проверьте адрес на корректность. Администратор Вашего кэша: webmaster.»
Разумеется раз проблема в dns,я первым делом начал проверять настройки домена,а так как домен у меня находиться на другом хостинге первым делом проверил адреса.
Но все было в порядке,конечно домен был создан не давно и существовала вероятность,что просто еще не чего не обновилось,но что то мне подсказывало,ошибка в другом. Поиск в сети решения не принес и я обратился за помощью к своему хостеру.
Решение
Надо отдать должное службе поддержки моего хостинга,очень быстро откликнулись и тут же предложили варианты решения.Дело в том,что я начал кочевать от хостинга к хостингу,когда мой провайдер хостинга закидал меня предупреждениями о нагрузках и постоянно вынуждал меня приобретать более дорогие и не нужные мне тарифы при очень маленькой посещаемости сайта.
Короче я это к тому,что мне есть с чем сравнить и потому был очень рад,что на мои запросы и глупые вопросы отвечают быстро и подробно,а главное сайт не лежит и работает. Ну крик души,извините..продолжаю.
Вот какой вариант решения я получил
«Проверьте файл hosts , возможно там указан не верный ip.Или попробуйте очистить кеш-днс – командой ipconfig /flushdns. Для этого: – нажмите Пуск –> Выполнить… –> Запуск программы –> cmd –> OK;– переключите (при необходимости) раскладку клавиатуры на EN;– после приглашения системы C:Documents and SettingsИмя_пользователя> введите ipconfig /flushdns, нажмите Enter; – кэш распознавателя DNS будет сброшен: C:Documents and SettingsАдминистратор>ipconfig /flushdns Настройка протокола IP для Windows Успешно сброшен кэш распознавателя DNS.
Файл hosts находится по следующим путям:
— Windows XP/2003/Vista/7: WINDOWSsystem32driversetchosts — Windows NT/2000: WINNTsystem32driversetchosts — Windows 95/98/ME: WINDOWShosts — Mac OS X 10.2+: /private/etc/hosts — Linux: /etc/hosts
Проверьте, пожалуйста, доступность Вашего сайта по следующей ссылке :http://anonymouse.org/cgi-bin/anon-www.cgi/http://malasobaka.ru/wp-login.php»
То есть почистился кэш DNS и плюс,они принудительно обновили зону для моего домена.
Нечего не помогло.
В итоге,после еще ряда действий было обнаружено,что сайт все таки работает,но работает только от мобильного интернета либо от другого ПК. Это значило только одно,что проблема моя и она локальна. Не буду расписывать,что я только не делал,отвечу сразу — проблема была в моем провайдере интернета. После звонка в поддержку, проблема была решена за пять минут.
Но все же явно в тот день,что то было с моим гороскопом не все прямолинейно.
Как только получив долгожданный доступ в админку Wordpress и занявшись настройками,вылезла одна ошибка которая не как не хотела исправляться,хотя я думал что знал как решать ее. Это невозможность закачать в адимку Wordpress картинки.
Временная папка не найдена.
Эта проблема довольна известна и решаться так же просто установкой нужных прав (777 полный доступ) для папки uploads в админ панели на хостинге.
Но только не сегодня и не в моем случае. Причина ошибки закралась в отсутствии директории mod-tmp ,которая как выяснилась пропала из за переустановки Wordpress когда решалась проблема выше с доступностью сайта.
Итог
Вот так в итоге, когда я решил добавить несколько сайтов на один хостинг,решил для себя сразу сразу несколько проблем и узнал как :
- разместить несколько сайтов на одном хостинге
- решить проблему с доступность сайта после установки
- решить проблему с отсутствием временной папки для изображений
Вообщем то все на этом. С возможными ошибками я поделился и надеюсь у вас все получиться быстро и просто.
Удачи!
online-elite.ru
Как разместить несколько веб-сайтов на одном VPS
Гений подобен холму, возвышающемуся на равнине (К. Прутков).
Виртуальные хосты Apache
Виртуальные хосты Apache позволяют пользователям запускать несколько веб-сайтов с одного IP-адреса, а также параметры точной настройки для каждого веб-сайта.
Для того, чтобы настроить виртуальные хосты в Apache для размещения нескольких доменов/поддоменов, войдите в свой сервер через SSH и установите Apache:
Ubuntu или Debian:
apt-get update apt-get install apache2
apt-get update apt-get install apache2 |
CentOS или Fedora:
yum update yum install httpd
yum update
yum install httpd |
Создание резервную копию конфигураций Apache, а затем установите директивы виртуального хоста для ваших сайтов:
Ubuntu или Debian:
Изменение основного файла конфигурации Apache (/etc/apache2/apache2.conf) и раскомментируйте следующую строку, если это не было сделано ранее (# комментарии на конф файлах Apache):
vi /etc/apache2/apache2.conf IncludeOptional sites-enabled/*.conf
vi /etc/apache2/apache2.conf IncludeOptional sites-enabled/*.conf |
CentOS или Fedora:
Изменение основного файла конфигурации Apache (/etc/httpd/conf/httpd.conf) и раскомментируйте следующую строку:
vi /etc/httpd/conf/httpd.conf
vi /etc/httpd/conf/httpd.conf |
Обратите внимание, что директива ‘NameVirtualHost‘ уже включена по умолчанию в Ubuntu 16.04 и CentOS 7.
Создание виртуальных хостов в Apache для каждого домена/поддомена. Например, можно создать виртуальные хосты для domain1.ru и domain2.ru:
Ubuntu или Debian:
# vi /etc/apache2/sites-available/domain1.conf <VirtualHost *:80> DocumentRoot “/var/www/html/domain1” ServerName domain1.ru ServerAlias www.domain1.ru # enter other directives here, e.g. : <Directory /var/www/html/domain1/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/domain1.ru-error_log CustomLog /var/log/apache2/domain2.ru-access_log common </VirtualHost>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # vi /etc/apache2/sites-available/domain1.conf
<VirtualHost *:80> DocumentRoot “/var/www/html/domain1” ServerName domain1.ru ServerAlias www.domain1.ru
# enter other directives here, e.g. :
<Directory /var/www/html/domain1/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all
</Directory> ErrorLog /var/log/apache2/domain1.ru-error_log CustomLog /var/log/apache2/domain2.ru-access_log common </VirtualHost> |
# VI /etc/apache2/sites-available/domain2.conf <VirtualHost *:80> DocumentRoot “/var/www/html/domain2” ServerName domain2.ru ServerAlias www.domain2.ru # enter other directives here </VirtualHost>
# VI /etc/apache2/sites-available/domain2.conf
<VirtualHost *:80> DocumentRoot “/var/www/html/domain2” ServerName domain2.ru ServerAlias www.domain2.ru
# enter other directives here </VirtualHost> |
Активируйте конфигурацию ‘domain1.conf’ и ” domain2.conf в Apache с помощью:
ln -s /etc/apache2/sites-available/domain1.conf /etc/apache2/sites-enabled/domain1.conf ln -s /etc/apache2/sites-available/domain2.conf /etc/apache2/sites-enabled/domain2.conf
ln -s /etc/apache2/sites-available/domain1.conf /etc/apache2/sites-enabled/domain1.conf ln -s /etc/apache2/sites-available/domain2.conf /etc/apache2/sites-enabled/domain2.conf |
Или, используйте команду a2ensite, чтобы включить конфигурации “domain1.conf” и “domain2.conf” в Apache:
sudo a2ensite domain1.conf sudo a2ensite domain2.conf
sudo a2ensite domain1.conf sudo a2ensite domain2.conf |
Перезапустите Apache для того, чтобы изменения вступили в силу:
CentOS или Fedora: внести изменения в конфигурационный файл Apache (/etc/httpd/conf/httpd.conf) и добавьте виртуальные хосты в конце:
# vi /etc/httpd/conf/httpd.conf <VirtualHost *:80> DocumentRoot “/var/www/html/domain1” ServerName domain1.ru ServerAlias www.domain1.ru # enter other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot “/var/www/html/domain2” ServerName domain2.ru ServerAlias www.domain2.ru # enter other directives here </VirtualHost>
# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80> DocumentRoot “/var/www/html/domain1” ServerName domain1.ru ServerAlias www.domain1.ru # enter other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot “/var/www/html/domain2” ServerName domain2.ru ServerAlias www.domain2.ru # enter other directives here </VirtualHost> |
Перезапустите Apache для того, чтобы изменения вступили в силу:
Создайте каталоги /var/www/html/domain1 и /var/www/html/domain2, и загрузите свои веб-сайты в них.
Все файлы сайта должны быть доступны для чтения веб-сервером, поэтому установить правильную собственность:
Ubuntu или Debian:
chown www-data:www-data -R /var/www/html/domain*
chown www-data:www-data -R /var/www/html/domain* |
CentOS или Fedora:
chown apache:apache -R /var/www/html/domain*
chown apache:apache -R /var/www/html/domain* |
Серверный блок Nginx
Для того чтобы настроить серверные блоки в Nginx для размещения нескольких доменов / поддоменов с помощью одного IP-адреса, войдите на свой сервер через SSH и установите Nginx:
Ubuntu или Debian:
apt-get update apt-get install nginx
apt-get update apt-get install nginx |
CentOS или Fedora:
yum update yum install nginx
yum update yum install nginx |
Создайте резервную копию конфигурации Nginx, а затем создайте блок сервера для первого веб-сайта:
Ubuntu или Debian:
Создайте новую конфигурацию Nginx для первого домена:
vi /etc/nginx/sites-available/domain1.conf
vi /etc/nginx/sites-available/domain1.conf |
Добавьте следующие строки:
server { listen 80; server_name domain1.ru; root /var/www/html/domain1.ru; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } # add other directives here; }
server { listen 80;
server_name domain1.ru;
root /var/www/html/domain1.ru; index index.html index.htm index.php;
location / { try_files $uri $uri/ =404; }
# add other directives here;
} |
CentOS или Fedora:
Выполните следующие команды:
mkdir /etc/nginx/sites-available mkdir /etc/nginx/sites-enabled
mkdir /etc/nginx/sites-available mkdir /etc/nginx/sites-enabled |
Добавьте следующие строки в основной конфигурационный файл Nginx (/etc/nginx/nginx.conf) в конце блока HTTP:
include /etc/nginx/sites-enabled/*.conf;
include /etc/nginx/sites-enabled/*.conf; |
Создайте новый файл конфигурации Nginx для первого веб-сайта:
vi /etc/nginx/sites-available/domain1.ru
vi /etc/nginx/sites-available/domain1.ru |
server { listen 80; server_name domain1.ru; root /var/www/html/domain1.ru/; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } # add other directives here; }
server { listen 80; server_name domain1.ru; root /var/www/html/domain1.ru/; index index.html index.htm index.php;
location / { try_files $uri $uri/ =404; }
# add other directives here;
} |
включите конфигурацию ‘domain1.conf’ в Nginx с помощью:
sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/ |
Перезапустите Nginx для того, чтобы изменения вступили в силу:
Загрузить каждый веб-сайт в корневой каталог, указанный в блоке Nginx сервера, например:
mkdir -p /var/www/html/domain1
mkdir -p /var/www/html/domain1 |
Установите соответствующую владельца файлов веб-сайта, так что они могут быть доступны с помощью веб-сервера Nginx (например, www-data):
chown -R www-data:www-data /var/www/html/domain1
chown -R www-data:www-data /var/www/html/domain1 |
Все. Повторите ту же процедуру для каждого дополнительного веб-сайта.
Обратите внимание, что для каждого домена или субдомена, которые вы хотите разместить на своем сервере, необходимо создать запись, которая указывает на IP-адрес вашего сервера и после изменения DNS, полностью распространится по всему Интернету, и посетители вашего сайта должны быть в состоянии получить доступ к вашему сайтов с помощью веб-браузера.
andreyex.ru
Создание нескольких сайтов на одном хостинге
Автор идеи: Сухроб (г.Санкт-Петербург)E-mail: [email protected]Сайт: peranth.by.ru
Есть множество небольших фирм, которые в потенциале могли бы иметь свой сайт, но больших средств на его создание нет. Кроме того, руководители этих фирм не совсем понимают, чем, собственно, сайт может помочь их бизнесу, а это обстоятельство не дает им решимости на вложение значительных средств в создание сайта.
Вывод: необходимо решение, позволяющее таким фирмам получить веб-представительство в Интернете за небольшие деньги на некоторое время. И за которое они должны получить видимую отдачу от сайта и понять, что это им может дать в будущем. Это позволит руководителям этих фирм решится на вложения в развитие своего сайта.
Этот проект рассчитан на то, что он окупится и будет давать прибыль в будущем.
Так как фирмы не могут заплатить за весь сайт полностью, то, естественно, надо на чем-то экономить.
Создание сайта включает: дизайн, верстка, программирование, хостинг, раскрутка. То есть получается три составляющие: сборка, хостинг и реклама. Самые дорогие здесь сборка (дизайн и программирование) и реклама (маркетинг). В хостинге значительный вес в цене составляет домен второго уровня.
На чем можно сократить расходы?
Сборка сайта: программирование можно упростить до сборки ПО сайта из готовых модулей, то есть движок один для всех сайтов, верстки при использовании движка практически не будет, остается только дизайн.
Хостинг: здесь можно удешевить за счет сборки нескольких сайтов на одном хостинге. Адреса при этом можно сделать третьего уровня (второго уровня придется купить), либо покупать для каждого сайта свой адрес второго или третьего уровня. То есть с адресами особых проблем не будет. Недостаток такой солянки — это невозможность доступа фирм к файлам своего сайта. Решение этой проблемы заключается в нахождении тарифного плана у провайдера с возможностью паролирования отдельных каталогов. (Вполне возможно, что не стоит вообще заниматься сборкой сайтов на одном хостинге, исходя из низких цен на хостирование.)
Реклама: раскрутка сайта зависит от его содержания и тематики, для удешевления можно собирать сайты одной тематики и рекламировать их сразу вместе.
Вывод: заказчик платит за дизайн и адрес (если ему нужен будет собственный). В идеале только дизайн. На деле получится следующее: стоимость разработки (один раз платить) и поддержка сайта (оплата помесячная). В стоимость разработки входит: домен, дизайн и структура сайта. В стоимость поддержки — процент от стоимости общего хостинга и регулярное обновление контента.
homebusiness.ru
Виртуальный хостинг - несколько сайтов на одном ip | HippoLab
Организовать работу нескольких сайтов на одном ip адреса не так и сложно. Вы сможете воспроизвести это на любом дистрибутиве Linux.
Установка операционной системы здесь намеренно не описывается, для этого обратитесь к соответствующей статье. Мы начнем с установки веб-сервера apache. Здесь необходимо сделать одно отступление: наименование пакетов, исполняемых и конфигурационных файлов веб-сервера apache в разных дистрибутивах могут располагаться и называться по разному, это статья описывает работу веб-сервера apache в окружении на базе ОС Debian GNU/Linux 7 (Wheezy). Для установки сервера в из штатных репозиториев воспользуйтесь от лица суперпользователя root командой:
apt-get install apache2
Вероятно после установки веб-сервер запустится автоматически, это можно проверить:
/etc/init.d/apache2 status
Если да, apache запущен, можно попробовать обратиться к нему по IP из вашей подсети с помощью браузера, если нет, используйте те же команды, описанные выше, только вместо "status" вбейте команду "start".
Итак сервер запущен и доступен из вашей подсети. Самое время загрузить на него наши сайты и научить его их отдавать в зависимости от доменного имени сайта.
Создадим для каждого сайта свой каталог, например в /var/www (как это обычно делают, но вы можете выбрать и другое месторасположение). Сделать это можно командой:
mkdir /var/www/mysite1 /var/www/mysite2
Поместите файлы ваших сайтов в соответствующие папки любым доступным способом (флэшка, scp, ftp, wget....)
Теперь необходимо указать верного владельца и группу владельца на эти папки, чтобы apache мог при необходимости записывать туда данные. В Debian 7 это www-data и www-data соответственно. Проверить или изменить имя пользователя и группу можно в глобальном конфигурационном файле apache в секциях User и Group соответственно:
nano /etc/apache2/apache2.conf
Меняем владельца и группу каталога /var/www:
chown -R www-data:www-data /var/www
Подготовительный этап закончен. Теперь приступаем к созданию непосредственно конфигурационных файлов каждого из наших сайтов. Как обычно, используем редактор nano:
nano /etc/apache2/sites-available/mysite1
Вводим к конфиг-файл следующую информацию:
<VirtualHost *:80> # Открываем секцию с указанием IP и порта доступа
ServerName mysite1.ru # Задаем основное имя виртуального хоста
ServerAlias www.mysite1.ru #Задаем возможные псевдонимы
DocumentRoot /var/www/mysite1 #Указываем месторасположение сайта
</VirtualHost> #Закрываем секцию
Это минимально возможная конфигурация для организации виртуального хостинга. Внутри секции <VirtualHost></VirtualHost> можно указывать много другой разнообразной и полезной информации.
Тоже самое проделываем со вторым и последующими сайтами, если таковые имеются.
Осталось последнее действие. Если вы помните, мы разместили конфигурационные сайты в папке /etc/apache2/sites-available/, теперь нам необходимо перенести их в папку /etc/apache2/sites-enable/. "Для чего это нужно?", - спросите вы. Такое разделение было введено для удобства. Если вам потребуется быстро выключить сайт из веб-сервера, вы можете просто удалить его конфигурационный файл в каталоге /etc/apache2/sites-enable/ и перезапустить apache, при этом вы сохраните ваш файл в неактивной области в каталоге /etc/apache2/sites-available/ и при желании легко к нему вернетесь. Итак, переносим наш конфигурационный файл в активную область, для этого в пакете с apache-м поставляется удобная утилита:
a2ensite
Появится запрос на ввод имени применяемого конфигурационного файла, введите его с клавиатуры и нажмите клавишу "Enter"
Оттестируем правильность оформления конфигурационного файла командой:
apache2 -t
Если в выводе команды будет "Syntax OK" значит можно смело перезапустить сервер для применения новой конфигурации:
/etc/init.d/apache2 restart
Теперь в зависимости от имени узла, который вы вводите в адресную строку браузера, наш веб-сервер будет отдавать нужный сайт!
www.hippolab.ru
Как организовать несколько веб сайтов на одном хостинг аккаунте » VripMaster
С доменными именами, которые превращаются в общий предмет потребления, все больше и больше людей на самом деле становятся их владельцами. Тем не менее, чаще всего эти люди не только владеют одним доменным именем, они имеют несколько доменных имен, зарегистрированных под их именем. Не хватает только часто знаний о том, как организовать соединение сайтов, не платя целого состояния. Эта статья объяснит, как организовать несколько сайтов с одного аккаунта на веб-хостинге.
Шаги
-
Чтобы разместить несколько веб-сайтов с одного хостинг-аккаунта, вам нужно будет выбрать пакет веб-хостинга, который включает так называемые дополнительные домены (addon domains) или псевдонимы доменов, как особенность.
-
Выберите домен верхнего уровня, под который хостинг-аккаунт должен быть запущен. Это будет ваше главное доменное имя, с которым хотите работать.
-
Подпишитесь на пакет веб- хостинга, который включает дополнительные домены.
-
После того, как зарегистрировались, вы получите информацию для входа, а также так называемую информацию о DNS-сервере с вашего веб-хостинга. Перейдите в реестр доменных имен, где зарегистрировали различные доменные имена, и измените настройки DNS-сервера на DNS-сервера, предоставляемого вашим веб-хостингом
-
На панели управления веб- хостинга вашего хостинг-аккаунта выберите опцию «addon feature». Здесь вы можете указать дополнительные доменные имена в подкаталоге внутри вашего основного хостинг-аккаунта. Этот шаг будет регистрировать дополнительные доменные имена с помощью приложения веб-сервера. Веб-сервер теперь будет "слышать" входящие HTTP-запросы на основе имени хоста (aka domain name). Входящие HTTP-запросы на дополнительные доменные имена будут направлены в соответствующие вложенные папки (подкаталоги).
-
Создайте различные файлы сайтов и загрузите их в соответствующие вложенные папки.
Советы
- Если вам нужны дополнительные функции для каждого домена, который необходимо организовать, рассмотрите возможность получения так называемого реселлерского пакета для хостинга веб-сайтов. Эти пакеты позволяют создавать отдельные хостинг-аккаунты для каждого домена. Реселлерские пакеты можно купить за небольшие деньги
- Подпишитесь на 12-24 мес. хостинг-пакеты и значительно сэкономите на средствах для оплаты веб-хостинга
- Выберите веб-хостинг, который предлагает по крайней мере 50 дополнительных доменов со своими пакетами веб-хостинга
- Выберите пакет веб-хостинг, который включает достаточно места на диске и достаточную пропускную способность
- В общем, вы получаете то, за что платите. Чем дешевле веб-хостинг, тем ниже будет ожидаемое качество.
Предупреждения
- Никогда не рассчитывайте на ваш веб-хостинг, чтобы иметь текущие резервные копии ваших веб-сайтов. Сделайте свои собственные резервные копии.
- Безлимитный хостинг не является неограниченным. Тем не менее, пакеты "безлимитного" веб-хостинга могут быть отличным способом сэкономить деньги на начальном этапе, пока не вырастет ваш хостинг.
vripmaster.com
Несколько сайтов на одном сервере
И вот мы сделали один сайт, но в голове держим, что будем делать ещё. Для этого подготовим наш сервер. Поможет нам в этом Apache, который мы уже установили по этой статье.
Исходные данные у нас такие:1) Адрес сервера в интернете: 10.10.10.10 и имя test.mydomain.ru2) Адрес сервера в локальной сети: 192.168.218.183) 2 сайта - test.mydomain.ru и test2.mydomain.ru
Наша задача: разместить оба сайта на одном сервере, сделать доступ к каждому сайту по отдельному URL
Делаем:Пойдём от простого к сложному. Для начала рассмотрим случай, когда у нас два сайта в одном домене с именами test.mydomain.ru и test2.mydomain.ru. Предварительно мы должны прописать в зону домена mydomain.ru два узла test.mydomain.ru и test2.mydomain.ru. Для каждого сайта создаём каталог в корневом каталоге документов Apache /usr/local/www/test и /usr/local/www/test2. На всякий случай проверяем значение директивы DocumentRoot в /usr/local/etc/apache22/httpd.conf. Должно быть так:
DocumentRoot "/usr/local/www"
Мы будем разделять логи для каждого сайта, поэтому создадим соответствующие каталоги:
# mkdir /var/log/mydomain/test /var/log/mydomain/test2
Если у нас уже был создан сайт, то всё его содержимое переносим в созданный для него каталог в /usr/local/www/test. Другой сайт test2.mydomain.ru размещаем в /usr/local/www/test2.
Теперь настраиваем Apache. Раскоментируем строчку в файле /usr/local/etc/apache22/httpd.conf:
Include etc/apache22/extra/httpd-vhosts.conf
т.е. даем возможность Apache подгрузить файл где у нас будут прописаны виртуалхосты. Переходим в /usr/local/etc/apache22/extra/httpd-vhosts.conf и вставляем в конце файла
NameVirtualHost 10.10.10.10<VirtualHost test.mydomain.ru>DocumentRoot /usr/local/www/testServerName test.mydomain.ruErrorLog /var/log/mydomain/test/error_logCustomLog /var/log/mydomain/test/access_log combined</VirtualHost><VirtualHost test2.mydomain.ru>DocumentRoot /usr/local/www/test2ServerName test2.mydomain.ruErrorLog /var/log/mydomain/test2/error_logCustomLog /var/log/mydomain/test2/access_log combined</VirtualHost>
Все настройки не заданные для сайта явным образом в директиве VirtualHost, наследуются от глобальных настроек Apache, указанных выше в файле /usr/local/etc/apache22/httpd.confПерезапускаем Apache:
# /usr/local/etc/rc.d/apache22 restart Теперь, обращаясь по DNS именам, мы будем получать разные сайты. Если обратиться по IP адресу, то получим сайт test.mydomain.ru, т.к. он подключен первым. Ну вот задача выполнена. Таким способом можно прописать хоть сотню сайтов, всё будет упираться только в железо и канал провайдера.
Кое что на память.
Очень удобно поместить каждый сайт в отдельный файл, и подключить их в httpd.conf:
Include /etc/httpd/conf/vhosts/test1.confInclude /etc/httpd/conf/vhosts/test2.confInclude /etc/httpd/conf/vhosts/test3.conf
Мы получаем удобство в быстром подключении и отключении сайта, путём добавления/снятия символа комментария “#” в начале строки. Это особенно актуально, когда настройка каждого сайта раздувается на несколько десятков строк. Также нелишне будет настроить ротацию логов.
Особенности директив Listen и NameVirtualHost
В конце хочу кратко рассказать о двух директивах - Listen и NameVirtualHost. Многие не знают, что директива Listen имеет больший приоритет чем, NameVirtualHost. Она говорит, откуда принимать запросы. В то время как последняя определяет, как обрабатывать полученный запрос. Это значит, что если указано значение
Listen 80
то Apache будет прослушивать порт 80 на всех IP адресах и директива
NameVirtualHost 10.10.10.10
не ограничивает запросы, пришедшие на другие адреса, и они будут обрабатываться наравне с указанным адресом, а если указано значение
Listen 10.10.10.10:80
то
NameVirtualHost 192.168.218.10
не возымеет действия, и сайт будет не доступен из локальной сети.
rtfm.2gogo.ru
С доменными именами, которые превращаются в общий предмет потребления, все больше и больше людей на самом деле становятся их владельцами. Тем не менее, чаще всего эти люди не только владеют одним доменным именем, они имеют несколько доменных имен, зарегистрированных под их именем. Не хватает только часто знаний о том, как организовать соединение сайтов, не платя целого состояния. Эта статья объяснит, как организовать несколько сайтов с одного аккаунта на веб-хостинге. Шаги
Советы
Предупреждения
Дополнительные статьи |
ves-mir.3dn.ru