Настройка DynDNS в Linux

Доброго времени суток!!!
В статье пойдет речь, о том как разместить сайт на сервере с динамическим IP.
Сейчас уже никого не удивишь собственной страничкой в интернете, 20-й век стер все преграды между людьми находящимися по разные стороны океана, порой хочется поделиться с друзьями радостью, показать фотографии сделаные в отпуске или фото ребенка, родителей, жены, подруги, а может и вчерашней любовницы, как нельзя лучше для этого подходит своя собственная страничка в сети Internet, но к сожалению в настоящее время не все провайдеры могут выдавать своим клиентам статические IP адреса, а услуги виртуального web-хостинга привлекают невсех в частности от того, что информацию на сайте необходимо обновлять прибегая к услугам программного обеспечения невсегда удобного и понятного простому пользователью. Однако и из этой казалось бы сложной ситуации очень просто выйти, благодоря разработчикам сервиса DynDns у нас появилась возможность разместить физичиский сервер дома, даж если у нас динамический IP! Как это сделать я постараюсь рассказать на примере операционной системы GNU\Linux Mandriva.
Итак, приступим.
Первое что нам необходимо сделать, это разрешить доступ к нашему компютеру из внешней сети, делается это очень даже просто в Центре управления Mandriva, открываем вкладку безопасность и выбираем “Настройка файервола” в настойках файервола отмечаем галочками следующее “Веб-сервер”, “echo запрос (ping)”, также я отметил “SSH- сервер”, т.к., настраивал сервер удаленно
Далее устанавливаем Apache, PHP, MySQL и DynDns Client

# urpmi apache
# urpmi php
# urpmi mysql
# urpmi ddclient

Затем при помощи любого текстового редактора открываем следующий файл /etc/ddclient/ddclient.conf
И вносим следующие изменения:

##
## $Id: sample-etc_ddclient.conf 8 2006-06-14 19:51:39Z wimpunk $
##
## Define default global variables with lines like:
## var=value [, var=value]*
## These values will be used for each following host unless overridden
## with a local variable definition.
##
## Define local variables for one or more hosts with:
## var=value [, var=value]* host.and.domain[,host2.and.domain…]
##
## Lines can be continued on the following line by ending the line
## with a \
##
##
## Warning: not all supported routers or dynamic DNS services
## are mentioned here.
##
#####################################
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library
#
#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard’s SOHO FW
#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
#use=smc-barricade, fw=192.168.123.254:80 # via SMC’s Barricade FW
#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear’s internet FW
#use=linksys, fw=192.168.1.1:80 # via Linksys’s internet FW
#use=maxgate-ugate3?00, fw=192.168.0.1:80 # via MaxGate’s UGATE-3?00 FW
#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL
Router
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL
Router
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL
Router
#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed
Touch Pro
#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero
Router
#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL
Router
#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect
Remote
812
#use=e-tech, fw=192.168.1.1:80 # via E-tech Router
#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL
Router
#
#fw-login=admin, fw-password=XXXXXX # FW login and password
#
## To obtain an IP address from FW status page (using fw-login, fw-password)
#use=fw, fw=192.168.1.254/status.htm, fw-skip=’IP Address’ # found after IP
Address
#
## To obtain an IP address from Web status page (using the proxy if defined)
#use=web, web=checkip.dyndns.org/, web-skip=’IP Address’ # found after IP
Address
#
#use=ip, ip=127.0.0.1 # via static IP’s
#use=if, if=eth0 # via interfaces
use=web # via web
#
protocol=dyndns2 # default protocol
#proxy=fasthttp.sympatico.ca:80 # default proxy
server=members.dyndns.org # default server
#server=members.dyndns.org:8245 # default server (bypassing proxies)
login=yournickname # default login
password=yourpassword # default password
#mx=mx.for.your.host # default MX
#backupmx=yes|no # host is primary MX?
#wildcard=yes|no # add wildcard CNAME?
##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
# server=members.dyndns.org, \
# protocol=dyndns2 \
yoursitename.dyndns.org

Сохраняем изменения.
Проверяем, все ли мы сделали правильно

# /usr/sbin/ddclient

Если произошел молчаливы возврат в командную строку, значит сервис работет.
Запускаем сервис

# service ddclient start

Затем добавляем сервис в автозапуск

# chkconfig ddclient on

Следом открываем текстовым редактором /etc/hosts
И вносим следующие сведения.

your_IP_adress yoursitename.dyndns.org

А теперь самое важное, нам необходимо настроить наш веб-сервер на работу с yoursitename.dyndns.org, что ж, пожалуй этим и займемся.
Текстовым редактором открываем /etc/httpd/conf/httpd.conf и вносим следующие изменения:

ServerAdmin root@localhost подставляем Ваш е-майл

Options -All -Multiviews
AllowOverride None
Order deny,allow
Deny from all

Убираем Deny from all что бы пользователи могли просматривать наши странички

DirectoryIndex index.html index.html.var index.cgi index.pl index.htm Default.htm default.htm index.xml

Добавляем index.php, index.phtml, index.shtml, здесь хотелось бы обратить Ваше внимание на тот факт, что в Apache нельзя переносить на следующую строку, т.к., сервер читает даные из конфига построчно, он просто напросто не поймет чего от него хотят и не заведется.
Далее в самом низу файла добавляем виртуальный хост, предварителтно раскоментировав его

ServerAdmin youremail@server.com
DocumentRoot каталог где будут храниться ваши документы
ServerName yoursitename.dyndns.org
ErrorLog каталог где будут храниться ваши документы/yoursitename.dyndns.org-error_log
CustomLog каталог где будут храниться ваши документы/yoursitename.dyndns.org-access_log
common

Сохраняем изменения и перезапускаем сервер

# service httpd restart

Также добавим наш веб-сервер в автозагрузку

# chkconfig ddclient on

Все, настройка завершена!
Осталось только наполнить Ваш сайт интересным содержимым.
Удачи!

  • inu
  • Добавить комментарий

    Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.