9. Создание WB (домашнего сервера): регистрация пользователей, ограничение пользователей лимитами по времени и по скачке файлов. WB_SP - настройка и использование.

Автор статьи: ToshibaNT [aka Anton Rostovzev]
Статья взята с сайта: http://web-bbs.narod.ru
E-mail автора: toshibant@mail.ru

Что такое WB_SP?

Это программа WEB-BBS SySoP Pack. По названию можно догадаться, что это пакет программ, предназначенный для сисопов (админов) WEB-BBS'ок. Эта программа, а скорее даже сборник программ, позволяет:

 · ограничивать время пребывания пользователя на ВЕБ-ББСке.

·    вести пользовательский учет (на каждого пользователя заводится учетная  запись)

·    вести запись действий пользователя.

·    собирать и хранить личные данные пользователя (те, которые он сам введет)

·    отключать незарегистрированных в системе пользователей через определенное время.

·    запускать сервер входящих подключений только в определенное рабочее время (например: с 23:00 до 7:00); в остальное время сервер будет останавливаться.

 Системные требования.

 OS: Windows (2000/XP) с установленным RRAS (удаленным доступом).  Под Windows NT и 2003 пока еще - не тестировали. Скорее всего, под 2003 пойдет, а вот под NT - нет.

 SOFTWARE:

1) WEB-SERVER с установленным PHP (желательно Apache).

2) BulletProof FTP Server (другой FTP взамен этого не подойдет!!!).

 HARDWARE: Pentium 200/64mb/modem.

 Кому эта программа может пригодиться?

 Администратору (сисопу) ВЕБ-ББСки.

 Ограничения демо-версии.

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

Установка программы.

 1) Распакуйте архив с программой в папку по умолчанию C:\WB_SP\ во избежание возможных проблем. Даже если вы захотите поставить программу в другую папку, для начала попробуйте настроить все хотя бы в папке по умолчанию.

 * Архив USER-REG.RAR (со скриптами) распакуйте в корень веб-сервера, (где у вас лежит главная страничка). Например: у меня эта папка: "E:\server\www". Разумеется у вас помимо веб-сервера должен быть установлен и PHP. Подробнее о скриптах будет написано далее.

 2) Запустите rasdll.reg (если вы ставили программу в другую папку, измените здесь путь к библиотеке).

 3) Создайте папку USERS_FOLDER (если не существует). Не советую создавать эту папку внутри корневого каталога веб-сервера (имеется в виду).

 * Имеется в виду не папка с именем USERS_FOLDER, а папка прописанная в wb_config.ini, как "USERS_FOLDER=ПАПКА".

 4) Создайте папку LOG_PATH (если не существует).

 * Имеется в виду не папка с именем LOG_PATH, а папка прописанная в wb_config.ini, как "USERS_FOLDER=ПАПКА".

 5) Чтобы программа корректно сопрягалась с BulletProof FTP Server'ом, его необходимо будет установить в качестве системной службы с именем "bpftpserver". Сделать это можно с помощью программы FireDaemon или аналогичной.

 6) Дальнейшую настройку программы осуществляйте через WB_GUI.EXE или лучше напрямую через конфигурационный файл - wb_config.ini.

 7) Вроде бы больше ничего не надо делать. Если что-то не заработает, напишите об этом мне.

 Установка скриптов.

 Создайте в корневом каталоге WEB-сервера (имеется в виду каталог, где лежит главная страничка)

папку USER-REG (имя может быть произвольным). Скопируйте скрипты в эту папку.

 Создайте ссылки на следующие файлы:

 1. userreg.htm - Регистрация: служит для регистрации в базе учетной записи нового пользователя. требуется пользователю всего один раз.

 2. login.htm - Вход: требуется пользователям при каждом новом дозвоне. Если пользователь не войдет в систему с помощью этой кнопки, через 5 минут его автоматически отрубит.

 3. stat.php - Статистика: статистика работы пользователя. он сможет посмотреть сколько скачал у вас с ББСки и сколько закачал.

 4. user_list.php - Список пользователей: список всех пользователей на вашей W-B

 (указаны временные лимиты, чтобы люди знали, кто активный пользователь, а кто нет).

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

 * Если вы ставили программу в папку, отличную от C:\WB_SP\ , вам придется поменять во всех скриптах пути к конфигурационному файлу.

 * Имеются в виду изменить путь в строчках:

 $ini_array = parse_ini_file("C:\WB_SP\wb_config.ini");

 

Полная настройка (ключи конфигурационного INI-файла)

 Раздел [GUI]

DISABLE_CHECK_WORK_TIME - не следить за временем работы (0 - выкл., 1 - вкл.).
TIME_BEGIN - время работы со стольки-то часов до нуля.
TIME_END - и с нуля до стольки-то.

* Функция "рабочее время" работает только при запущенном wb_gui_adm.exe

Раздел [OPTIONS]

FILE_WITH_TIME - файл, в котором показывается, сколько секунд осталось до отключения пользователя.

Можете использовать его в своих скриптах, например, чтобы вывести на главной страничке оставшееся на сеанс время (через PHP).

TIME_FOR_REG - время, выдаваемое на регистрацию.

SHOW_VARS - показывать в логе значения переменных.

Раздел [LOG]

 LOG_PATH - путь к папке с логами. Если программа не запускается, проверьте правильность написания пути.

 LOG_SCREEN_ENABLED - вести лог на экране (0 - нет; 1 - да)

LOG_FILE_ENABLED - вести файловый лог (0 - нет; 1 - да)

LOG_ENABLED - вести лог (0 - нет; 1 - да)

 Раздел [FTP]

 * При регистрации нового пользователя на FTP сервере создается учетная запись с его логином и паролем. Внимание!!! Эта опция работает при условии, что:

 1) FTP сервером установлен Bullet Proof FTP Server.

2) Он установлен в системе как служба (service). О том, как это сделать читайте далее.

 FTP_ACCOUNTING_ENABLED -

Включить автоматическое создание учетных записей на FTP при регистрации нового пользователя.

 Если у вас нет FTP сервера, стоит другой FTP сервер, или установлен анонимный вход пользователей, поставьте значение этого параметра равным - 0, иначе поставьте - 1.

 FTP_SERVICE_NAME - имя службы FTP-сервера. Внимание!!! Для корректного взаимодействия WB_SP с FTP сервером необходимо установить его в качестве службы. Это можно сделать с помощью программы FireDaemon или программы, подобной ей.

 Читайте о том, как это сделать, в справке Bullet Proof FTP Server 'а в разделе «4.4 Advanced -> Install as System Service (NT)».

 FTP_INI_FILE - путь к файлу users.ini (который находится в папке FTP-сервера)

FTP_DEFAULT_CREDIT - кредит для скачивания по умолчанию (сколько байт может скачать только что зарегистрировавшийся пользователь).

FTP_DEF_ROOT - папка - корневой каталог FTP по умолчанию. Папка, в которой лежат файлы, доступные для скачивания каждому пользователю.

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

FTP_DEF_RATIO_UP - коэффициент закачки по умолчанию

FTP_DEF_RATIO_DOWN - коэффициент скачки по умолчанию

 UL:DL RATIO это коэффициент скачки/закачки файлов на FTP.

 По умолчанию UL:DL RATIO стоит 1:3 - то есть вы закачиваете 1 мег, а скачать можете уже 3.

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

 Чтобы это безобразие прекратилось, вам нужно всего лишь что-нибудь закачать. Вот тут то и подействует принцип: 1:3.

 Кстати, пользователь сможет посмотреть свою статистику, при помощи скрипта stat.php.

 [PHP]

 DEFAULT_TIME=30 - время, выдаваемое пользователю по умолчанию. (каждому регистрирующемуся пользователю)

 USERS_FOLDER - папка, в которой хранятся все файлы с данными каждого пользователя. Внимание !!! Эта папка должна существовать !!!

 Работа с программой.

 После настройки вам останется (при желании) поставить WB_GUI запускаться в автозапуск, свернутым в трей. Тогда вы сможете в режиме реального времени наблюдать за дозвоном пользователей.

 В папке LOGS будут записываться все действия пользователей. Если у вас включен ГУИ'шник, вам не нужно будет даже включать входящие подключения в определенное время (ночью) и выключать утром. Комп сделает это сам.

 Как установить эту программу в другую папку ?

 Также как и в папку по умолчанию, только вам потребуется отредактировать rasdll.reg так, чтобы он указывал верное местоположение DLL-ки, запустить его (добавить в реестр).

 Также вам понадобится отредактировать php-шные скрипты, чтобы путь к INI-файлу был корректным и естественно отредактировать конфиг.

 Ничего не работает?

 Не расстраивайтесь, в папке с установленной программой есть рабочий пример конфигурационного файла. Смотрите в него и делайте у себя все по аналогии.

 Дам вам 2 совета:

 1) Убедитесь в правильном написании всех путей в файле конфигурации их там всего два. Особенно обратите внимание на установку слэшей.

2)   Убедитесь в том, что у вас установлен необходимый софт (Apache (или другой WEB-сервер) с поддержкой PHP и BP-FTP Server). Если вы первый раз слышите названия этих программ, неудивительно, что у вас ничего не работает.

 Послесловие

 ЗЫ: Думал сделать встроенную в GUI отключалку питания компа, да подумал, что этих прог и так туева хуча и тот, кому надо, скачает отдельную прогу специально предназначенную для выключения компа по таймеру. Если кто-то считает, что этой функции здесь сильно не хватает, напишите мне об этом, и, я ее добавлю.

 Да и вообще, если вы видите, что в программе чего-то существенного (или нет) не хватает - напишите мне об этом. 

За другими статьями, посвященными заходите на мой сайт: http://web-bbs.narod.ru

 

CopyRight ToshibaNT 2004.

Хостинг от uCoz