Изменения

Перейти к: навигация, поиск

VPNtest: Руководство администратора

30 719 байтов добавлено, 23:04, 28 августа 2009
Новая: == Термины, сокращения и предположения == ; '''СТ''': Система Тестирования ; '''БД''': База Данных, на данный м...
== Термины, сокращения и предположения ==

; '''СТ''': Система Тестирования
; '''БД''': База Данных, на данный момент используется СУБД MySQL
; '''Z:\''': Везде далее под ''Z:\'' подразумевается виртуальный диск, создаваемый [http://www.denwer.ru/ Денвером] при установке. Если у вас буква диска отлична от Z, используйте её.
; '''vpntest.ru''': Везде далее под ''vpntest.ru'' подразумевается имя хоста, используемое для размещения СТ как "сайта" в локальной сети. Если вы используете другое имя - читайте документ так, как будто везде вместо ''vpntest.ru'' написано вами выбранное имя.
; '''Администратор СТ''': Управляющий СТ и процессом тестирования
; '''Логин Администратора СТ''': Входное имя, используемое Администратором СТ при аутентификации
; '''Пароль Администратора СТ''': Пароль, используемый Администратором СТ при аутентификации
; '''Пользователь БД''': Зарегистрированный в СУБД пользователь, имеющий доступ к БД СТ
; '''Логин Пользователя БД''' : Входное имя, используемое СТ для доступа к БД
; '''Пароль Пользователя БД''': Пароль, используемый СТ для доступа к БД
; '''Панель администрирования СТ''': Панель управления СТ
; '''Панель администрирования СТ''': Веб-интерфейс, через который осуществляется управление СТ и процессом тестирования
; '''Архив СТ''': Хранилище результатов прошедших тестирований
; '''Инициализация БД''': Состоит из двух действий: сначала очистка БД СТ, потом создание рабочих таблиц в БД СТ
; '''Инициализация БД Архива СТ''': Создание архивных таблиц в БД СТ
; '''Рабочие таблицы БД''': Таблицы, используемые для хранения актуальных данных
; '''Архивные таблицы БД''': Таблицы, используемые для хранения архивных данных (результатов прошедших тестирований)
; '''Загрузка вопросов в БД''': Заполнение таблицы вопросов заранее подготовленным содержимым, [[#подготовка_текстового_файла_с_вопросами_теста|исходным форматом]] является текстовый файл
; '''Регистрация слушателя''': Заполнение анкеты, выбор логина и пароля, создание учётной записи слушателя в СТ
; '''Авторизация слушателя''': Процесс "опознания" зарегистрированного слушателя, включает проверку пароля
; '''Тестирование слушателя''': Процесс ответа слушателя на вопросы и сохранения результатов

== Установка СТ ==

=== Установка Денвера ===

# Вы (Администратор СТ) должны выбрать имя для виртуального "сайта" с тестами - по умолчанию ''vpntest.ru''
# На компьютере Администратора СТ, который будет выступать сервером для слушателей, установите базу: Apache + PHP + MySQL c помощью, например, Денвера (Джентльменский Набор Web-разработчика), бесплатный дистрибутив которого можно скачать здесь: [[http://www.denwer.ru/dis/Base_PHP5/Base_PHP5_2006-04-25_a1.3.31_p5.1.2_m4.1.16_pma2.6.1.exe]]. \\ Замечание: Если на компьютере Администратора СТ уже установлены Apache, PHP и MySQL, можете использовать их. \\ '''Примечание:''' \\ Если на рабочем столе не появится ярлыков "'''Start Servers'''", "'''Restart Servers'''", "'''Stop Servers'''", создайте их вручную - ярлыки на ''C:\WebServers\etc\Run.exe'' - запуск серверов, ''C:\WebServers\etc\Restart.exe'' - перезапуск серверов и ''C:\WebServers\etc\Stop.exe'' - останов серверов. Здесь ''C:\WebServers\etc\'' - установочная директория Денвера.
# Запустите Денвер, дважды кликнув по ярлыку "'''Start Servers'''".
# Задайте Пароль пользователя БД. Для этого:
#* Зайдите в браузере по адресу [[http://localhost/Tools/phpMyAdmin/]],
#* Выберите "'''Привилегии'''",
#* Кликните по иконке "'''Редактирование привилегий'''" справа от строки с Пользователем БД "'''root'''",
#* Заполните поля '''Пароль''' и '''Подтверждение пароля''',
#* Выберите радиокнопку рядом со словом "'''Пароль'''",
#* Нажмите "'''Пошёл'''".
# Остановите Денвер, дважды кликнув по ярлыку "'''Stop Servers'''".
# Пусть Z:\ - виртуальный диск, созданный Денвером, тогда удалите всё, кроме папки ''localhost'', из папки ''Z:\home''. \\ Папку "localhost" можно и удалить, но лучше переместите её куда-нибудь в недоступное по HTTP место, чтобы иметь возможность при необходимости воспользоваться phpMyAdmin-ом.
# Добавьте в файл ''Z:\usr\local\apache\conf\httpd.conf'' строчку ''Listen *:80'' – это требуется для того, чтобы Apache слушал 80-й порт и принимал входящие соединения от всех IP-адресов, то есть, цель данного пункта – сделать возможным заходить в систему тестирования с компьютеров слушателей.

=== Установка СТ ===

# Создайте в Z:\home папку с именем vpntest.ru (с именем хоста – виртуального "сайта" – см. п.1) и распакуйте в эту папку архив с дистрибутивом системы тестирования.
#* После установки подпапка ''WWW'' эквивалентна корню "сайта" ''vpntest.ru''.
#* В подпапке ''WWW'' расположены файлы, отвечающие за регистрацию и тестирование:
#* В ''WWW/admin/'' расположена администраторская часть системы.
#* В ''WWW/lib/'' расположены библиотеки функций, используемые системой при работе, а также ''config.php'' – конфигурационный файл.
# Сконфигурируйте систему тестирования. Для этого отредактируйте конфигурационный файл ''config.php'', который находится в папке ''Z:\home\vpntest.ru\WWW\lib\config.php'', следующим образом:
#* Откройте для редактирования файл ''config.php''
#* Проведите следующие настройки:
#* В строке ''$dbuser ='' введите имя Пользователя БД. \\ По умолчанию значение переменной ''$dbuser'' = "root". \\ Если Пользователь БД имеет другой логин и обладает меньшими, чем у root, привилегиями, измените значение этой переменной. При этом вы можете поднять уровень безопасности.
#* В строке ''$dbpwd ='' введите пароль Пользователя БД, который вы задали в пункте 4. \\ ''$dbpwd'' = "11111" (в данном случае). \\ Значение переменной ''$dbpwd'' требуется менять сразу после установки, а также при смене пароля на доступ к БД. \\ Пароль к БД хранится в конфигурационном файле ''config.php'' в открытом виде. Однако, даже если убрать ''.htaccess'', доступ к нему пользователи не получат, т.к ''config.php'' лишь проинтерпретируется PHP и ничего не выдаст на экран.
#* В строке ''$TriesCount ='' установите количество попыток ответа на один вопрос \\ ''$TriesCount = 2'' (при четырех вариантах ответов этого будет достаточно).
#* В строке ''$TimeLimit ='' установите время ответов на вопросы теста в секундах: \\ ''$TimeLimit = 60*100'' (в данном случае 100 минут). \\ Если значение переменной ''$TimeLimit'' меньше или равно 0, временной лимит отключён. \\ Если строка с этой переменной закомментирована, временной лимит отключён.
#* В строке ''$DoNotShowResults ='' установите значение false, чтобы пользователи могли посмотреть количество правильных ответов в процентах по отношению к количеству всех вопросов.
#* Сохраните изменения в файле конфигурации config.php. \\ '''Внимание!''' До тех пор, пока вы не отредактируете файл ''config.php'', вы не сможете зайти в Панель Управления СТ.
# Установите входные данные '''Администратора СТ'''.
#* Используется HTTP-аутентификация. Логин и пароль Администратора СТ хранятся в отдельном файле "passwords" (в хэшированном виде), который вы создаёте при установке.
#* Установите Логин и Пароль Администратора СТ. Для этого:
#* '''Наберите в командной строке''' Windows: ''Z:\usr\local\apache\bin\htpasswd –с Z:\home\vpntest.ru\ passwords ЛОГИН_АДМИНА''
#* Далее дважды введите пароль, который станет Паролем администратора СТ.
#* После установки Логина и Пароля администратора СТ в двух файлах ''.htaccess'' поменяйте строчку ''Require user vmx'' на строчку ''Require user ЛОГИН_АДМИНА'', где ЛОГИН_АДМИНА – указанный вами Логин Администратора СТ. Файлы .htaccess находятся в папках:
#** ''Z:\home\vpntest.ru\WWW\admin\.htaccess''
#** ''Z:\home\vpntest.ru\WWW\lib\.htaccess''
#* Если вы используете отличное от ''vpntest.ru'' имя виртуального хоста или отличную от Z букву виртуального диска, то в этих же файлах ''.htaccess'' необходимо в строчке ''AuthUserFile Z:\home\vpntest.ru\passwords'' вместо ''Z:\home\vpntest.ru\passwords'' прописать полный путь к файлу с Паролем администратора СТ.

=== Подготовка СТ к работе ===

Произведите '''Инициализацию БД''':

* Запустите Денвер, дважды кликнув по ярлыку "'''Start Servers'''"
* В браузере зайдите по адресу [[http://vpntest.ru/admin/]]
* Введите ЛОГИН_АДМИНА - '''Логин Администратора СТ''' и соответствующий пароль - '''Пароль Администратора СТ''' в высвечивающемся окне аутентификации
* Нажмите на кнопку "'''Инициализировать БД'''"
* Перейдите по ссылке "'''К архиву'''" под заголовком страницы
* Перейдите по ссылке "...нажмите __'''сюда'''__, чтобы произвести инициализацию..."

'''БД инициализирована.'''

Загрузка вопросов из текстового файла.

* В Панели Управления СТ нажмите кнопку "'''Обзор'''" ("Browse")
* Выберите подготовленный заранее текстовый файл с вопросами теста
* Задайте вариант для вопросов загружаемого файла (или оставьте его равным значению по умолчанию = 1)
* Нажмите кнопку "'''Загрузить вопросы в БД'''"
* После этого вопросы будут загружены в БД, а вам будет показан результат операции загрузки вопросов (были ошибки или нет). Также система покажет детальную информацию обо всех этих ошибках. \\ '''Замечание:''' Если в БД уже загружены вопросы, которые требуется уничтожить перед добавлением новых – установите флажок "'''Перезаписать БД вопросов'''" и нажмите кнопку "'''Загрузить вопросы в БД'''".

=== Конфигурирование клиентских компьютеров ===

Чтобы компьютеры слушателей могли найти хост ''vpntest.ru'', добавьте на компьютерах локальной сети, кроме компьютера Администратора СТ ([[http://www.denwer.ru/|Денвер]] сам разберётся) в файл hosts строчку вида ''192.168.0.10 vpntest.ru'', где 192.168.0.10 надо заменить на IP-адрес компьютера Администратора СТ, а vpntest.ru - на установленное имя виртуального хоста.

Файл hosts расположен в:

* В Windows NT/2K/XP/Vista - C:\WINDOWS\SYSTEM32\DRIVERS\ETC\hosts
* В Windows 9x/Me - C:\WINDOWS\hosts.sam
* В Linux и других UNIX-системах - /etc/hosts

На всех компьютерах локальной сети в свойствах браузера отключите использование HTTP прокси-серверов.

Итак, '''Система Тестирования установлена.'''

== Панель управления СТ ==

Когда вы заходите в браузере по адресу [[http://www.vpntest.ru/admin/]], появится окно с запросом авторизации:

[[Изображение:VPNtest - HTTP-аутентификация Администратора СТ.png]]

После ввода входных данных '''Администратора СТ''' и нажатия кнопки '''ОК''' вы попадете в '''Панель Управления СТ''', в которой Администратор СТ управляет СТ и процессом тестирования:

[[Изображение:VPNtest - Панель управления СТ.png]]

В Панели Управления СТ Администратору СТ доступны:

* Вывод информации о слушателях (список, анкета, результаты теста)
* Просмотр списка вопросов в БД
* Загрузка вопросов из текстового файла
* Инициализация БД

=== Подготовка текстового файла с вопросами теста ===

Чтобы загрузить вопросы в БД согласно пункту "[[#Подготовка СТ к работе]]", сначала надо подготовить текстовый файл с вопросами.

==== Формат файла ====

Файл с вопросами - это файл формата *.txt. Один файл с вопросами соответствует одному варианту теста и состоит из:

* Названия теста,
* Списка вопросов.

Название теста можно задать в строках, начинающихся с ''###'' (трёх решёток). Все эти строки склеиваются через ''<br>'' (для HTML это перевод строки) и сохраняются в БД как название теста.

Список вопросов:

* Каждый вопрос состоит из 5 строк.
* Первая строка вопроса содержит номер и текст вопроса.
* Все вопросы должны быть пронумерованы.
* Остальные четыре строки содержат четыре возможные варианта ответа.
* Тот вариант ответа, перед которым стоит (* - звездочка), считается правильным.
* '''Примечание:''' Если звёздочкой отмечено несколько вариантов – как правильный будет выбран последний из них.

В любом месте файла с вопросами могут присутствовать пустые строки и комментарии. Пустой строкой считается строка, содержащая не более, чем пробелы и символы табуляции. Кроме того, пробелы и табуляции в начале и конце всех строк обрезаются, то есть, отступы не играют вообще никакой роли. Комментариями в файле вопросов считаются строки, начинающиеся с '';;;'', то есть, с «трёх точек с запятой». При обработке файла комментарии игнорируются так же, как и пустые строки.

И вопросы, и ответы - не просто текст: допускается использование HTML кода. Например, чтобы вставить в текст вопроса или ответа перевод строки, вы должны написать ''<br>''. Чтобы вставить в текст вопроса или ответа изображение – напишите ''<img src="путь_к_картинке">''. Путь к картинке задаётся относительно корня директории WWW. Рекомендуется писать пути в стиле ''<img src="/dir1/dir2/.../img.png">'' - тогда вы будете абсолютно уверены в том, что картинки везде отобразятся корректно и возьмутся из ''/home/vpntest.ru/WWW/dir1/dir2/.../img.png''.

==== Пример файла с вопросами ====

Этот пример включается в дистрибутив СТ и находится в архиве в файле ''testq.txt''.

;;; Название теста задаётся в строках, начинающихся после ###
### Тестовый Тест: Тавтология
;;; как видите, отступы совершенно не влияют на результат работы

1. Тестовый Вопрос 1: <p><img width="200" src="/images/image.png"></p>
ТВ1
*ТВ2
ТВ3
ТВ4

2. Тестовый Вопрос 2
*ТВ1
ТВ2
ТВ3
ТВ4

;;; комментарии разрешены в любой строке файла - поэтому вы можете
;;; оставлять для себя примечания к вопросам...

3. Тестовый Вопрос 3
ТВ1
ТВ2
ТВ3
*ТВ4 ;;; ...и даже к ответам

=== Возможные операции со списком слушателей ===

Чтобы увидеть список слушателей с их анкетными данными и последними результатами, нажмите на кнопку "'''Искать слушателей'''" в Панели Управления СТ. Вы увидите что-то вроде:

[[Изображение:VPNtest - Просмотр пользователей.png]]

==== Просмотр результатов тестирования ====

В крайней правой ячейке каждой строки со слушателями вы можете заметить ссылку "'''. . .'''" - нажав на эту ссылку, вы увидите анкету слушателя и все его результаты.

Также вы можете посмотреть полный список результатов '''всех''' выведенных пользователей - для этого перейдите по ссылке "'''Подробные результаты'''". Вы увидите ответы слушетелей на все вопросы теста – правильные и неправильные ответы, а также вопросы, на которые не были даны ответы.

==== Разрешение и запрещение тестирования ====

Нажав на кнопку "'''Искать слушателей'''" в Панели Управления СТ, вы можете также разрешать и запрещать слушателям начинать тестирования. \\
Установите флажки напротив необходимых слушателей и:

* Чтобы разрешить им пройти ещё 1 тест - нажмите на кнопку "'''+1 тест'''"
* Чтобы уменьшить их счётчики возможных прохождений тестов на 1 - нажмите на кнопку "'''-1 тест'''"
* Чтобы запретить им начинать тестирования - нажмите на кнопку "'''Обнулить тесты'''"

==== Удаление слушателей ====

Вы можете удалить слушателей вовсе. Для этого так же выберите их установкой флажков напротив, и нажмите кнопку "'''Удалить слушателей'''". \\
Данное действие требует подтверждения.

==== Версия для печати ====

Перейдя по ссылке "'''версия для печати'''" внизу списка, вы увидите printer-friendly версию таблицы: список команд Панели Управления СТ будет скрыт. \\ Чтобы вернуться обратно - перейдите по ссылке "'''назад'''".

== Архив СТ ==

Результаты тестирования можно сохранить в архивной базы данных.

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

=== Общие сведения ===

Чтобы перейти к архиву, нажмите на ссылку "к архиву" вверху страницы администрирования системы - в Панели Управления СТ (Рис.1.6). \\ Аналогичным образом из архива вы можете вернуться обратно к администрированию, нажав на ссылку "к администрированию" вверху страницы с архивом.

Появится окно Архива СТ. Архив устроен как множество снимков рабочей базы данных. Каждый снимок включает в себя:

* Информацию о пользователях,
* Информацию о результатах пользователей,
* Информацию о вариантах и вопросах тестов.

=== Возможные действия с архивом ===

В архиве доступны следующие команды:

* Вывод списка снимков.
* Создание нового снимка.
* Удаление снимка из базы данных.
* Полное уничтожение архива.

==== Вывод списка снимков ====

Чтобы вывести список снимков:

* Либо введите подстроку названия в поле "имя снимка содержит строку:"
* Либо введите дату, позже которой должен быть сделан снимок, в поле "Позже YYYY-MM-DD:" \\ Дата задаётся в формате '''YYYY-MM-DD''', например: 2006-05-11 означает 11 мая 2006 года.
* Нажмите кнопку "'''Показать список снимков'''"

[[Изображение:VPNtest - Список снимков.png]]

==== Просмотр данных снимка ====

* Выведите на экран список снимков в соответствии с пунктом "[[#вывод_списка_снимков|Вывод списка снимков]]"
* Найдите в этом списке требуемый снимок.
* Выберите его, кликнув по названию.
* '''Теперь вы можете:'''
** Просмотреть список пользователей из снимка (аналогично пункту [[#возможные_операции_со_списком_слушателей|Возможные операции со списком слушателей]]), кликнув по ссылке "'''Список слушателей'''", или "'''. . .'''" рядом с ним - в этом случае будет показана форма поиска слушателей.
** Просмотреть список результатов, переходя по ссылкам из списка пользователей.
** Просмотреть список вопросов из снимка, кликнув по ссылке "'''Список вопросов'''".

==== Создание нового снимка ====

Чтобы создать новый снимок, введите имя для нового снимка в поле "Имя снимка" и нажмите либо '''Enter''', либо кнопку "'''Сделать снимок'''". После выполнения операции у вас в архиве появится новый снимок, являющийся точной копией текущей базы данных.

==== Удаление снимка из архива ====

Чтобы удалить снимок:

* Выведите на экран список снимков в соответствии с пунктом "[[#вывод_списка_снимков|Вывод списка снимков]]"
* Найдите в этом списке требуемый снимок.
* Выберите его, кликнув по названию.
* Перейдите по ссылке "'''Удалить снимок'''".
* Подтвердите свой выбор в появляющемся окне.

[[Изображение:VPNtest - Удаление снимка.png]]

==== Уничтожение архива ====

Чтобы уничтожить архив, вам придётся сначала подтвердить свои действия в появляющемся на экране после клика на кнопке "Уничтожить архив" окне.

* После уничтожения архива будут безвозвратно потеряны абсолютно все данные, которые хранились в нём.
* Очищается также структура базы данных, создаваемая при инициализации архива.
* Поэтому, если вы хотите снова начать работу с архивом после уничтожения, вам придётся заново его инициализировать.

[[Категория:Разработка]]

Навигация