Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Создание нескольких вебсерверов на одном IP, видимых из инета.  (Прочитано 7607 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yupa5

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Всем доброго времени суток. В линукс системах я новичек -- могу чудить с формулировками -- не взыщите. Собственно постановка задачи: есть локальная сеть дома организованная через роутер с IP 192.168.1.1 . Есть статический IP внешний, выданный провайдером, и сопоставленное ему доменное имя. Роутер  настроен так, что пробрасывает все запросы на внешний IP по протоколу http на один конкретный компьютер в сети (IP 192.168.1.101). На этом компьютере установлен Ububntu 11.10+LAMP. Вопрос: можно ли (и если можно то как) настрить виртуальные хосты так, чтобы из инета можно было попасть на каждый из них по отдельности?

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Можно. Читайте про директиву VirtualHost в апаче.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Есть статический IP внешний, выданный провайдером, и сопоставленное ему доменное имя.

так, чтобы из инета можно было попасть на каждый из них по отдельности

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

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
или можно настроить порты на роутере, например вот так:
router:80 -> 192.168.1.101:80
router:8080 -> 192.168.1.102:80
тут все зависит от того, как удобнее.

Оффлайн Yupa5

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Есть статический IP внешний, выданный провайдером, и сопоставленное ему доменное имя.

так, чтобы из инета можно было попасть на каждый из них по отдельности

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

Хм.... а доменные имена надо именно внешнему IP сопоставлять? Я почему то решил, что если несколько доменов связать с внутресетевым IP то можно будет до них добраться как до субдоменов. Но не выходит.

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

Пользователь решил продолжить мысль 02 Января 2012, 08:06:02:
Можно. Читайте про директиву VirtualHost в апаче.

Спасибо. Читаю две недели уже. Не получается настроить виртуальные хосты так, чтобы из инета на них можно было попасть.

Пользователь решил продолжить мысль 02 Января 2012, 08:07:33:
или можно настроить порты на роутере, например вот так:
router:80 -> 192.168.1.101:80
router:8080 -> 192.168.1.102:80
тут все зависит от того, как удобнее.

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

Пользователь решил продолжить мысль 02 Января 2012, 08:09:46:
Да!!!!!!!!!!! С новым годом всех! :)
« Последнее редактирование: 02 Января 2012, 08:09:46 от Yupa5 »

Оффлайн SvMidi

  • Активист
  • *
  • Сообщений: 815
    • Просмотр профиля
Мне не совсем понятно что вы хотите сделать и что делаете. В принципе всё должно выглядеть примерно так:
на роутере необходимо пробросить 80 порт, что бы ваш внешний адрес имел 80 порт который ведёт на 80 порт веб-сервера, затем покупаете у регистратора доменных имён (ru-center, reg.ru и т.д.) имя, допустим site.ru. В настройках домену прописываете что site.ru соответствует вашему внешнему IP,  в настройках апача добавляете Виртуальный хост site.ru. То же самое для последующих доменов или поддоменов.
Я знаю только то, что ничего не знаю, остальные не знают и этого.

Оффлайн Yupa5

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Мне не совсем понятно что вы хотите сделать и что делаете. В принципе всё должно выглядеть примерно так:
на роутере необходимо пробросить 80 порт, что бы ваш внешний адрес имел 80 порт который ведёт на 80 порт веб-сервера, затем покупаете у регистратора доменных имён (ru-center, reg.ru и т.д.) имя, допустим site.ru. В настройках домену прописываете что site.ru соответствует вашему внешнему IP,  в настройках апача добавляете Виртуальный хост site.ru. То же самое для последующих доменов или поддоменов.

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

Давайте я сформулирую альтернативный вопрос -- положительный на него ответ (лучше с алгоритмом действий) меня видимо тоже устроит и тему можно будет закрыть. Итак: есть ли способ настроить apache2 так, чтобы попадание (из инета) в определенную директорию на жестком диске влекло за собой попадание на конкретный, связанный с директорией виртуальный хост?

Оффлайн SvMidi

  • Активист
  • *
  • Сообщений: 815
    • Просмотр профиля
Не вижу в этом смысла
Я знаю только то, что ничего не знаю, остальные не знают и этого.

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Читал, читал... Так и не понял, что нужно.

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

Домен находится в зоне провайдера (третий или выше уровень)?

Итак: есть ли способ настроить apache2 так, чтобы попадание (из инета) в определенную директорию на жестком диске влекло за собой попадание на конкретный, связанный с директорией виртуальный хост?

1. Как ты себе это представляешь?
2. Кто будет заходить на сервер: только ты, ограниченный круг пользователей или любой пользователь из интернета?
3. Если будет использоваться определённые директории (использование пути при запросе на один хост?), то зачем нужно использовать разные виртуальные хосты?

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

Оффлайн Kyplon

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
=)
Автор темы неправильно формулирует задачу.
Собсно, я могу понять что он хочет сделать, и сделать все это можно БЕСПЛАТНО, как он и хочет, у меня так работают 3 сайта =)
Поясню.

Регал доменное имя на no-ip.com, из большого списка предложенных. Пример: serv1.no-ip.info, perm.no-ip.info (и еще какие угодно). Всем этим домен соответствовал один РЕАЛЬНЫЙ (белый) IP, хотя можно сделать и с динамическим (DNS-серверам на перерегистрацию надо порядка 15 минут, по моим замерам).
На роутере, либо другом шлюзе, пробросил 80-ый порт, в апаче создал виртуальные хосты, в которых указал директорию куда смотреть при поступлении запроса с определенным доменным именем.
Пример:
При вводе в строке адреса браузера serv1.no-ip.info идет загрузка страниц сайта из директории /var/http/serv1.no-ip.info
При вводе в строке адреса браузера perm.no-ip.info идет загрузка страниц сайта из директории /var/http/perm.no-ip.info
Все работает и все БЕСПЛАТНО =)
No-ip позволяет до создавать до 5 правил бесплатно, а последующие - за денежку, хоть и не столь большую.

Все вышеперечисленное работает на Ubuntu 11.10 + Apache + MySQL + Webmin + ... (еще чего-то там)
Но решил заморочиться на панель Ubuntu 11.10 + nginx + ISPConfig. Вот тут и присел.
Правда ли что nginx работает быстрее Apache? И стоит ли уходить с Apache на nginx?
« Последнее редактирование: 10 Января 2012, 12:06:17 от Kyplon »

Оффлайн MagicFox

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Давайте я сформулирую альтернативный вопрос -- положительный на него ответ (лучше с алгоритмом действий) меня видимо тоже устроит и тему можно будет закрыть. Итак: есть ли способ настроить apache2 так, чтобы попадание (из инета) в определенную директорию на жестком диске влекло за собой попадание на конкретный, связанный с директорией виртуальный хост?
<VirtualHost *:80>
ServerName site.ru
ServerAlias site.ru www.site.ru
DocumentRoot /home/user/webservers/site
<Directory /home/user/webservers/site>
Options -Indexes FollowSymlinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName sub1.site.ru
ServerAlias sub1.site.ru www.sub1.site.ru
DocumentRoot /home/user/webservers/site/sub1
<Directory /home/user/webservers/site/sub1>
Options -Indexes FollowSymlinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName sub2.site.ru
ServerAlias sub2.site.ru www.sub2.site.ru
DocumentRoot /home/user/webservers/sub2
<Directory /home/user/webservers/sub2>
Options -Indexes FollowSymlinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

1-й блок собственно корень домена site.ru
2-й блок корень сайта sub1.site.ru (корневая папка субдомена находится внутри корневой папки сайта site.ru)
3-й блок корень сайта sub2.site.ru (корневая папка субдомена находится все корневой папки главного сайта)

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

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

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
надеюсь суть понятна?
p.s. не забывайте права доступа к папкам правильно выставить, а то даже при правильной настройке виртуальных хостов не увидите ничего.

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



 

Страница сгенерирована за 0.06 секунд. Запросов: 25.