LinuxShop.ru   PrefNews.Ru  |  DotStyle.Ru  |  HotStuff.Ru  |  Hurd.ru  








 
НОВОСТИ МАГАЗИН БИБЛИОТЕКА LINUXBEGIN GENTOO.RU REDHAT UNIX4ALL ФОРУМ  
Logo
LinuxBegin Статьи Проекты Обратная связь
Все разделы
Аналоги Windows-программ в Linux
(en)
Рассылка "OS Linux для начинающих"
Лучшие ссылки

Знакомство с Linux
Linux Navigator
Выбираем Linux
Инсталляция Linux на компьютер с Windows
Список всех статей (big)

LinuxHumor
Linux Wallpapers
LNAG на русском языке
Linux Tips & Tricks
Ссылки на софт
Xoid26 homepage

Форум проекта
Другие форумы, и т.д.
Регистрация
Добавить статью
Обратная связь
Email
Разделы

Что такое Linux
Некоторые возможности Linux
Дистрибутивы
Переход с Windows на Linux (Nowindows)
Руководства, HOWTO, FAQ
Hardware и драйвера
Программное обеспечение
Запуск Windows-программ в Linux. Эмуляторы.
Все разделы >>


Поиск по сайту

Подписка
OS Linux для начинающих.
Linux Tips & Tricks.

Top 10
Wine: Поднимая тост за ваши Windows-приложения в L... (0) 1686
Стабильность оборудования в Linux. Часть 1 (0) 1373
Настройка видеокарты от nVidia под Linux'ом (0) 1172
Знакомство с Linux. Часть 11. (0) 1017
Использование LinNeighborhood для создания "Сетево... (1) 971
Файловая структура *nix для новичков (0) 893
Пингвин на воротах (0) 890
Блины со сметаной (1) 512
Как я стал линуксоидом. (1) 429
Пересядем на дракона (0) 427

Лучшие ссылки
Linux-ve.net.
*nix project.
Edge.com.ru.
Atmsk.ru.
~t-alex.
Все ссылки >>

Web Server на динамическом IP
(Web-разработка / Apache / PHP / MySQL)


- Михаил Спектор, 18.06.2003 -

Многие из тех немногих, имеющих доступ к Internet, но не имеющих статического IP адреса, выделяемого провайдером, сталкивались с проблемой: как сделать общественный доступ к своему Web серверу. Каждый раз, когда вы выходите в Internet, вашему компьютеру назначается новый IP адрес, и нет никакой возможности донести его до общественности. Вашему вниманию предлагается простой выход из этой ситуации:

Регистрируемся где нибудь на бесплатном Web hosting'е, предоставляющем доступ по FTP к файлам странички. Таких в наше время немало, например: chat.ru, narod.ru, и т.д...

Пишем такой простенький скрипт:

#!/usr/bin/perl -w # путь к Perl должен соответствовать установленному на системе.

use Net::FTP;
use strict;

my $HOST = 'ftp.chat.ru'; # здесь FTP адрес бесплатного хостинга (БХ)
my $USER = 'user123'; # имя пользователя на БХ
my $PASS = 'qwerty'; # пароль на БХ
my $INTERFACE = 'ppp0'; # имя интерфейса через который вы подсоединяетесь к интернету
# (обычно это: ppp0)

if(@ARGV != 1 || $ARGV[0] ne "start" || $ARGV[0] ne "stop") {
die("USAGE: $0 [stop|start] ");
}

my $IP = `/sbin/ifconfig $INTERFACE | grep inet` # обратите внимание на обратные кавычкм

if($IP =~ /^[^d]+(d+).(d+).(d+).(d+)/) {
$IP = "$1.$2.$3.$4";
open(IP_FILE, ">/tmp/index.html") or die($!);
if($ARGV[0] eq "start") {
print IP_FILE


EOF1
}
else { # if($ARGV[0] eq "stop")
print IP_FILE

Hi, currently this host is down. Please retry later.


EOF2
}
close(IP_FILE) or die($!);

my $ftp = Net::FTP->new($HOST, Debug => 0) or die($!);
$ftp->login($USER, $PASS) or die($!);
$ftp->put("/tmp/index.html", "public_html/index.html"); # второй аргумент - путь к index.html
# на сервере
$ftp->quit();
unlink("/tmp/index.html");
}

Perl, а также модуль Net::FTP должны присутствовать на системе. Установить Net::FTP можно с помощью:

# perl -MCPAN -e shell
...
cpan> install Net::FTP

Кладем этот скрипт в /etc/init.d/sendip, делаем:
chmod 700 /etc/init.d/sendip
ln -s /etc/rc5.d/S98sendip /etc/init.d/sendip

Это - настройки для Linux, а для FreeBSD каталогом для загрузочных скриптов обычно является:
/usr/local/etc/rc.d

Обратите внимание: PPP соединение к моменту запуска этого скрипта должно быть уже установлено. Это, надеюсь, не проблема для имеющих ADSL ...

Что происходит, когда мы включаем компьютер:

Открывается PPP соединение .... [OK]
Вызывается наш скрипт, с параметром "start". Файл index.html, с содержанием настроек переадресации на ваш IP, будет отослан на сервер. И тогда при обращении к http://user123.chat.ru вы будете перенаправлены на Web сервер вашего компютера.

Что происходит при выключении компьютера:

Вызывается наш скрипт, с параметром "stop". Тогда, на сервер отсылается index.html, содержащий уведомление о том, что ваш компьютер временно недоступен.

Вот и все, а если немного доработать, можно сделать redirect и на FTP.

На главную  |  Версия для печати  |  Отправить по почте  |  Просмотров: 266  |  Рейтинг статьи: 4.66 (Голосов: 3).
Помещено: Xoid26, 2003-07-03 15:27:38

Как вы оцениваете полезность и понятность этой статьи?
Плохо Нормально Хорошо Очень хорошо! Отлично!



5 последних поступлений в раздел Web-разработка / Apache / PHP / MySQL:

03.07.03: Web Server на динамическом IP (Многие из тех немногих, имеющих доступ к Internet, но не имеющих статического IP адреса, выделяемого ...)
15.01.03: Почему PHP лучше ASP - 7 причин. (Active Server Pages (ASP) - Технология M$ для отображения динамических WEB-страниц. PHP - это альтерн...)
11.12.02: Устанавливаем Russian Apache. (Данный текст описывает установку Russian Apache без каких-либо дополнительных модулей. По идее, в бол...)
11.12.02: Подключаем к Apache PHP. (Нижеприведенная инструкция рассказывает, как собрать связку Apache+PHP+gd+postgres. Этой связки хвати...)

"Web Server на динамическом IP" | Логин/Создать Аккаунт | 0 Комментарии
Порог
  
Спасибо за проявленный интерес

© 2003 Valery V. Kachurov. Hosted by Linux-online. Powered by PHP-Nuke.

Rambler's Top100