Как да хостваме сайт на компютъра си, ако имаме динамичен IP адрес
Динамичният DNS ни позволява да имаме хост, който да е псевдоним на динамичен IP адрес. Например може да имаме сайт с постоянно име като име.dynalias.net, а IP адресът да се променя често.
За целта можем да ползваме услугите на DynDNS.com, който предлага динамичен DNS за до 5 имена на хостове напълно безплатно. Там може да си регистрираме домейн като нашетоиме.dynalias.net и да го ползваме като псевдоним към динамичния IP адрес.
Ndyndns е клиент за динамичен DNS, който е разработен да бъде малък и стабилен. Авторът му се старае ndyndns да бъде напълно съвместим със спецификациите на DynDNS.com. Освен това е разработен да бъде сигурен и да се стартира като непривилегирован процес и по подразбиране в „chroot jail“. Програмата не допуска излишни обновявания, докладва за грешки, записва в syslog и поддържа криптирана връзка чрез SSL. Програмата е свободен софтуер и се разпространява под лиценз GNU GPL.
Създаване на сметка в DynDNS
За да ползваме услугите на DynDNS.com най-напред трябва да се регистрираме:
http://www.dyndns.com/account/create.html
Изтегляне, инсталиране и конфигуриране на ndyndns
Наличен е готов пакет, който е приготвен за ползване в базираната на Slackware дистрибуция VS Live, но е съвместим със Slackware и повечето дистрибуции, базирани на Slackware. Препоръчително е да ползваме готовия пакет (или скриптовете SlackBuild за създаването му), защото разработчикът на пакета е направил скриптове, които ни улесняват (стартиращ скрипт, който създава автоматично необходимия „chroot jail“, скрипт за създаване на потребител и група, който се изпълнява от мениджъра на пакети при инсталиране на пакета).
Примерни команди за изтегляне и инсталиране:
wget http://vslivecd.openfmi.net/slp/n/ndyndns-1.02-i486-vs4.tgz
wget http://vslivecd.openfmi.net/slp/n/ndyndns-1.02-i486-vs4.tgz.md5
md5sum -c ndyndns-1.02-i486-vs4.tgz.md5
su -c "installpkg ndyndns-1.02-i486-vs4.tgz"
Преди да ползваме ndyndns трябва да го настроим. Отваряме файла /etc/rc.d/rc.ndyndns с любимия си текстов редактор и там пишем кой интерфейс ползваме за връзка с Интернет (редактираме реда ndyndns_iface=ppp0):
#!/bin/sh
#
# rc.ndyns Стартира и спира ndynsd
#
# Версия: 0.1
#
# Автор: Валентин Стойков <http://vstoykov.hit.bg/
#
# Този скрипт е писан специално за дистрибуцията VS Live
# <http://vslivecd.openfmi.net/>, но вероятно ще работи
# с всяка друга дистрибуция, базирана на Slackware
#
# Не забравяйте, че трябва да редактирате някой от стартиращите
# скриптове (напр. rc.local) за да стартира този скрипт:
#
# /etc/rc.d/rc.ndyndns start
#
# Освен това този скрипт трябва да бъде разрешен за изпълнение:
#
# chmod +x /etc/rc.d/rc.ndyndns
#
#
# Тук се задава кой интерфейс ще бъде наблюдаван от ndyndns
# за промени в адреса IP:
ndyndns_iface=ppp0
#
# Остналите настройки се правят във файла /etc/ndyndns.conf
#
# За подробности:
# man ndyndns
# man ndyndns.conf
# Страница на програмата: http://code.google.com/p/ndyndns/
# Безплатни и платени услуги: http://www.dyndns.com/services/dns/dyndns/
#
###########################################################################
ndyndns_start(){
# Най-напред създаваме необходимите файлове (на чисто)
rm -rf /var/lib/ndyndns
mkdir -p /var/lib/ndyndns/dev/
mkdir -p /var/lib/ndyndns/etc/
cp -a /dev/null /var/lib/ndyndns/dev/
cp -a /dev/random /var/lib/ndyndns/dev/
cp -a /dev/urandom /var/lib/ndyndns/dev/
ln /etc/hosts /var/lib/ndyndns/etc/hosts
ln /etc/nsswitch.conf /var/lib/ndyndns/etc/nsswitch.conf
ln /etc/resolv.conf /var/lib/ndyndns/etc/resolv.conf
chmod 700 /var/lib/ndyndns
chown dyndns.dyndns /var/lib/ndyndns
ndyndns -n -c /var/lib/ndyndns -f /etc/ndyndns.conf -i $ndyndns_iface -u dyndns -g dyndns --detach
}
ndyndns_stop(){
killall ndyndns
}
ndyndns_restart(){
ndyndns_stop
ndyndns_start
}
case "$1" in
'start')
ndyndns_start
;;
'stop')
ndyndns_stop
;;
'restart')
ndyndns_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
След това създаваме файл /etc/ndyndns.conf, в който записваме информацията, която получихме след като се регистрирахме в сайта на DynDNS.com. Ето как изглежда файла:
username=потребителско име
password=парола
hostname=име.dyndns.org,име.ath.cx,име.dnsalias.net,име.dnsalias.org
Задаваме каквито трябва права за достъп до файла за да може само който трябва да чете паролата:
chown root:root /etc/ndyndns.conf
chmod 600 /etc/ndyndns.conf
За да се стартира скрипта rc.ndyndns, добавяме тези редове в някой от стартиращите скриптове (напр. rc.local):
/etc/rc.d/rc.ndyndns start
Разрешаваме на скрипта да се изпълнява и го стартираме:
chmod +x /etc/rc.d/rc.ndyndns
/etc/rc.d/rc.ndyndns start
Официална страница: http://code.google.com/p/ndyndns/
Скриптове за пакетиране SlackBuild: ndyndns.SlackBuild/