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.