LINUX.ORG.RU
решено ФорумAdmin

Как связать домен с сервером Apache

 , ,


0

1

Здравствуйте! Разворачиваю домашний сервер на Apache и столкнулся с проблемой: нужно подключить домен к серверу, дабы иметь доступ извне. Опыта в данном деле не имею, а потому на просторах гугла нашёл указание добавить название сайта и папку с его расположением на сервере через <VirtualHost>. Подскажите пожалуйста, верно ли мыслю и что необходимо прописать, чтобы связать доменное имя с сервером(нет уверенности, что это делается найденным мною способом)?

Ты и без домена сможешь иметь доступ извне, по ip-адресу. А так покупаешь домен, и в админке на сайте вписываешь свой ip. Ждёшь некоторое время и... профит!

bsdfun ★★★★★ ()

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

slowpony ★★ ()

Вот пример:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName  example.com
        DocumentRoot /path/to/site/directory
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /path/to/site/directory>
                Options -Indexes
                AllowOverride All
                #Order allow,deny
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/dir/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn rewrite:error

        CustomLog ${APACHE_LOG_DIR}/dir.tk/access.log combined
</VirtualHost>

ZweiStein ★★ ()
Ответ на: комментарий от bsdfun

Как я понимаю, ничего в Apache прописывать не надо? Достаточно просто при покупке домена связать с ip и пройти делегирование. Просто как тогда он определит нужную папку с страницами, чтобы открыть? У меня абсолютно пустой сервер на Ubuntu с установленным LAMP

Psylock ()
Ответ на: комментарий от Psylock

Апачу всё равно откуда приходит запрос. Он его обработает в любом случае. Тебе лишь нужно убедиться, что пакет, который приходит на 80й порт, форвардится на машину с Апачем. Это настраивается на маршрутизаторе. Да, простенький бытовой маршрутизатор без проблем справится с этой задчей.

ZweiStein ★★ ()
Ответ на: комментарий от ZweiStein

Понял, спасибо за помощь.

Если не сложно, могли бы Вы уточнить ещё один момент? То есть мне нужно просто задать при покупке домена днс(либо ip) сервера, а в самом сервере указать настройки по типу ранее присланных вами?

Psylock ()

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

Нет, ты все не так понял. Подсказываю: надо почитать документацию по настройке apache, надо почитать документацию по протоколу dns. Иначе будет примерно такая схема: http://www.quickmeme.com/meme/3r0hqs

Anoxemian ★★★★★ ()

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

я регнулся у hldns.ru (не сочтите за рекламу) их много и на любой вкус.

pfg ★★ ()
Ответ на: комментарий от anonymous

Здравствуйте, а анонимы всегда «самые умные» и только всех критикуют вместо дачи дельных советов? Наверное родились сразу с базой знаний и никогда не задавали вопросов по не сложным вещам?

По вопросу автора, если хочется разобраться и понимать что к чему, то выше уже дали хороший совет, разобраться что такое DNS, как он работает. Так же не мешало бы почитать про работу WEB сервера в принцие, как приходит запрос, как он обрабатывается, с фаерволом и на каждом сетевом уровне.

Если же хочется просто, быстро и не заморачиваясь, то опять же советы выше, уточнить то что у вас есть «Реальный IP» адрес, настроить маршрутизацию на роутере или/и же фаервол на сервере, чтобы сервер отвечал на HTTP/HTTPS запросы. И уже потом настроить apache на сопоставление виртуальных хостов с их корневой директорией (пример конфика привели выше, он же есть в примерах самого апача). Получите доступ к вашей странице по IP адресу. Чтобы попадать на ваш сайт (страницу) по доменному имени, нужно чтобы «доверенные» DNS-сервера резолвили (преобразовывали) адрес вашего сайта в IP адрес. Для этого нужно настроить соответсвующие записи на DNS-серверах куда делегировано (передано) обслуживание вашего доменного именни.

Удачи вам в изучении. Всем мира.

IMP ()

Смотри, когда ты вводишь в браузере адрес сайта и нажимаешь ввод, то происходит преобразование доменного имени (адреса сайта) в IP адрес сервера, которому нужно отправить запрос на получение WEB страницы.

После того, как посредством DNS будет определёно IP адрес сервера ему будет отправлен GET запрос с адресом WEB страницы, в данном случае https://ya.ru.

Если на WEB сервер есть VirtualHost ya.ru, то он отдаст твоему браузеры запрошенную страницу.

К примеру ты ввёл ya.ru.

Что бы узнать на серверах с какими IP адресами обслуживается сайт ты можешь выполнить:

 nslookup ya.ru 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Заметь, что в реальности серверов, обслуживающих домен ya.ru больше, но тебе выдаётся один из более близких к тебе.

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

Отсюда вывод, у тебя должен быть внешний IP адрес, ну или проброшенные порты 80 и 443 с внешнего IP адреса на твой внутренний.

За внешним IP адресом обращайся к твоему провайдеру.

Если у тебя уже есть внешний IP адрес, то твой WEB сервер уже будет доступен по этому IP адресу, в Default VirtualHost.

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

Если тебе нужно, чтобы твой сайт открывался только в локальной сети, то тебе достаточно прописать соответствие домена IP адресу в файле hosts или на своём внутреннем DNS сервере.

anonymous ()
Ответ на: комментарий от IMP

Большое спасибо за поддержку:)) Обязательно буду разбираться в этой теме, как минимум, чтобы не возникало неловких ситуаций, да и вообще тематика довольно интересная))

Пока что прислушиваясь к советам начал читать “DNS and BIND”.Ну а дальше планирую уделить внимание указанным Вами моментам по web и тд.

Ещё раз спасибо за помощь))

Psylock ()
Ответ на: комментарий от anonymous

Анон решил принять участие в конкурсе.

прописать в панели администрирования домена у регистратора

Но, такое уже предлагали

они должны прописать в файле hosts

А это уже заявка на победу.

anonymous ()