VPNtest: Руководство администратора — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
== Термины, сокращения и предположения ==
+
== Термины, сокращения и предположения ==
  
 
; '''СТ''': Система Тестирования
 
; '''СТ''': Система Тестирования
Строка 18: Строка 18:
 
; '''Рабочие таблицы БД''': Таблицы, используемые для хранения актуальных данных
 
; '''Рабочие таблицы БД''': Таблицы, используемые для хранения актуальных данных
 
; '''Архивные таблицы БД''': Таблицы, используемые для хранения архивных данных (результатов прошедших тестирований)
 
; '''Архивные таблицы БД''': Таблицы, используемые для хранения архивных данных (результатов прошедших тестирований)
; '''Загрузка вопросов в БД''': Заполнение таблицы вопросов заранее подготовленным содержимым, [[#подготовка_текстового_файла_с_вопросами_теста|исходным форматом]] является текстовый файл
+
; '''Загрузка вопросов в БД''': Заполнение таблицы вопросов заранее подготовленным содержимым, [[#Подготовка текстового файла с вопросами теста|исходным форматом]] является текстовый файл
 
; '''Регистрация слушателя''': Заполнение анкеты, выбор логина и пароля, создание учётной записи слушателя в СТ
 
; '''Регистрация слушателя''': Заполнение анкеты, выбор логина и пароля, создание учётной записи слушателя в СТ
 
; '''Авторизация слушателя''': Процесс «опознания» зарегистрированного слушателя, включает проверку пароля
 
; '''Авторизация слушателя''': Процесс «опознания» зарегистрированного слушателя, включает проверку пароля
Строка 24: Строка 24:
  
 
== Установка СТ ==
 
== Установка СТ ==
 +
 +
СТ устанавливается на специально выделенный компьютер — «сервер». В случае Windows-машины сервер проще всего организовать с помощью системы типа «Денвер» ([http://www.denwer.ru/ Д. Н. W. Р. — Джентльменский Набор Web-Разработчика]) или [http://www.apachefriends.org/en/xampp.html XAMPP].
  
 
=== Установка Денвера ===
 
=== Установка Денвера ===
  
 
# Вы (Администратор СТ) должны выбрать имя для виртуального «сайта» с тестами — по умолчанию ''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\'' - установочная директория Денвера.
+
# На компьютере Администратора СТ, который будет выступать сервером для слушателей, установите базу: 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 Base_PHP5].
# Запустите Денвер, дважды кликнув по ярлыку "'''Start Servers'''".
+
#: '''Примечание:''' Если на компьютере Администратора СТ уже установлены 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/]],
+
#* Зайдите в браузере по адресу [http://localhost/Tools/phpMyAdmin/ http://localhost/Tools/phpMyAdmin/],
#* Выберите "'''Привилегии'''",
+
#* Выберите «'''Привилегии'''»,
#* Кликните по иконке "'''Редактирование привилегий'''" справа от строки с Пользователем БД "'''root'''",
+
#* Кликните по иконке «'''Редактирование привилегий'''» справа от строки с Пользователем БД «'''root'''»,
 
#* Заполните поля '''Пароль''' и '''Подтверждение пароля''',
 
#* Заполните поля '''Пароль''' и '''Подтверждение пароля''',
#* Выберите радиокнопку рядом со словом "'''Пароль'''",
+
#* Выберите радиокнопку рядом со словом «'''Пароль'''»,
#* Нажмите "'''Пошёл'''".
+
#* Нажмите «'''Пошёл'''».
# Остановите Денвер, дважды кликнув по ярлыку "'''Stop Servers'''".
+
# Остановите Денвер, дважды кликнув по ярлыку «'''Stop Servers'''».
# Пусть Z:\ - виртуальный диск, созданный Денвером, тогда удалите всё, кроме папки ''localhost'', из папки ''Z:\home''. \\ Папку "localhost" можно и удалить, но лучше переместите её куда-нибудь в недоступное по HTTP место, чтобы иметь возможность при необходимости воспользоваться phpMyAdmin-ом.
+
# Пусть Z:\ — виртуальный диск, созданный Денвером, тогда удалите всё, кроме папки ''localhost'', из папки ''Z:\home''.
# Добавьте в файл ''Z:\usr\local\apache\conf\httpd.conf'' строчку ''Listen *:80'' это требуется для того, чтобы Apache слушал 80-й порт и принимал входящие соединения от всех IP-адресов, то есть, цель данного пункта – сделать возможным заходить в систему тестирования с компьютеров слушателей.
+
#: Папку «localhost» можно и удалить, но лучше переместите её куда-нибудь в недоступное по HTTP место, чтобы иметь возможность при необходимости воспользоваться phpMyAdmin-ом.
 +
# Добавьте в файл ''Z:\usr\local\apache\conf\httpd.conf'' строчку ''Listen *:80'' — это требуется для того, чтобы Apache слушал 80-й порт и принимал входящие соединения от всех IP-адресов, то есть, цель данного пункта — сделать возможным заходить в систему тестирования с компьютеров слушателей.
  
 
=== Установка СТ ===
 
=== Установка СТ ===
  
# Создайте в Z:\home папку с именем vpntest.ru (с именем хоста – виртуального "сайта" – см. п.1) и распакуйте в эту папку архив с дистрибутивом системы тестирования.
+
# Создайте в Z:\home папку с именем vpntest.ru (с именем хоста — виртуального «сайта» — см. п.1) и распакуйте в эту папку архив с дистрибутивом системы тестирования.
#* После установки подпапка ''WWW'' эквивалентна корню "сайта" ''vpntest.ru''.
+
#* После установки подпапка ''WWW'' эквивалентна корню «сайта» ''vpntest.ru''.
#* В подпапке ''WWW'' расположены файлы, отвечающие за регистрацию и тестирование:  
+
#* В подпапке ''WWW'' расположены файлы, отвечающие за регистрацию и тестирование:
#* В ''WWW/admin/'' расположена администраторская часть системы.  
+
#* В ''WWW/admin/'' расположена администраторская часть системы.
#* В ''WWW/lib/'' расположены библиотеки функций, используемые системой при работе, а также ''config.php'' конфигурационный файл.
+
#* В ''WWW/lib/'' расположены библиотеки функций, используемые системой при работе, а также ''config.php'' — конфигурационный файл.
 
# Сконфигурируйте систему тестирования. Для этого отредактируйте конфигурационный файл ''config.php'', который находится в папке ''Z:\home\vpntest.ru\WWW\lib\config.php'', следующим образом:
 
# Сконфигурируйте систему тестирования. Для этого отредактируйте конфигурационный файл ''config.php'', который находится в папке ''Z:\home\vpntest.ru\WWW\lib\config.php'', следующим образом:
 
#* Откройте для редактирования файл ''config.php''
 
#* Откройте для редактирования файл ''config.php''
 
#* Проведите следующие настройки:
 
#* Проведите следующие настройки:
#* В строке ''$dbuser ='' введите имя Пользователя БД. \\ По умолчанию значение переменной ''$dbuser'' = "root". \\ Если Пользователь БД имеет другой логин и обладает меньшими, чем у root, привилегиями, измените значение этой переменной. При этом вы можете поднять уровень безопасности.
+
#* В строке ''$dbuser ='' введите имя Пользователя БД.
#* В строке ''$dbpwd ='' введите пароль Пользователя БД, который вы задали в пункте 4. \\ ''$dbpwd'' = "11111" (в данном случае). \\ Значение переменной ''$dbpwd'' требуется менять сразу после установки, а также при смене пароля на доступ к БД. \\ Пароль к БД хранится в конфигурационном файле ''config.php'' в открытом виде. Однако, даже если убрать ''.htaccess'', доступ к нему пользователи не получат, т.к ''config.php'' лишь проинтерпретируется PHP и ничего не выдаст на экран.
+
#: По умолчанию значение переменной ''$dbuser'' = «root».
#* В строке ''$TriesCount ='' установите количество попыток ответа на один вопрос \\ ''$TriesCount = 2'' (при четырех вариантах ответов этого будет достаточно).
+
#: Если Пользователь БД имеет другой логин и обладает меньшими, чем у root, привилегиями, измените значение этой переменной. При этом вы можете поднять уровень безопасности.
#* В строке ''$TimeLimit ='' установите время ответов на вопросы теста в секундах: \\ ''$TimeLimit = 60*100'' (в данном случае 100 минут). \\ Если значение переменной ''$TimeLimit'' меньше или равно 0, временной лимит отключён. \\ Если строка с этой переменной закомментирована, временной лимит отключён.
+
#* В строке ''$dbpwd ='' введите пароль Пользователя БД, который вы задали в пункте 4.
#* В строке ''$DoNotShowResults ='' установите значение false, чтобы пользователи могли посмотреть количество правильных ответов в процентах по отношению к количеству всех вопросов.  
+
#: ''$dbpwd'' = «11111» (в данном случае).
#* Сохраните изменения в файле конфигурации config.php. \\ '''Внимание!''' До тех пор, пока вы не отредактируете файл ''config.php'', вы не сможете зайти в Панель Управления СТ.
+
#: Значение переменной ''$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" (в хэшированном виде), который вы создаёте при установке.  
+
#* Используется HTTP-аутентификация. Логин и пароль Администратора СТ хранятся в отдельном файле «passwords» (в хэшированном виде), который вы создаёте при установке.
 
#* Установите Логин и Пароль Администратора СТ. Для этого:
 
#* Установите Логин и Пароль Администратора СТ. Для этого:
#* '''Наберите в командной строке''' Windows: ''Z:\usr\local\apache\bin\htpasswd –с Z:\home\vpntest.ru\ passwords ЛОГИН_АДМИНА''
+
#* '''Наберите в командной строке''' Windows: ''Z:\usr\local\apache\bin\htpasswd Z:\home\vpntest.ru\ passwords ЛОГИН_АДМИНА''
 
#* Далее дважды введите пароль, который станет Паролем администратора СТ.
 
#* Далее дважды введите пароль, который станет Паролем администратора СТ.
#* После установки Логина и Пароля администратора СТ в двух файлах ''.htaccess'' поменяйте строчку ''Require user vmx'' на строчку ''Require user ЛОГИН_АДМИНА'', где ЛОГИН_АДМИНА – указанный вами Логин Администратора СТ. Файлы .htaccess находятся в папках:  
+
#* После установки Логина и Пароля администратора СТ в двух файлах ''.htaccess'' поменяйте строчку ''Require user vmx'' на строчку ''Require user ЛОГИН_АДМИНА'', где ЛОГИН_АДМИНА — указанный вами Логин Администратора СТ. Файлы .htaccess находятся в папках:
 
#** ''Z:\home\vpntest.ru\WWW\admin\.htaccess''
 
#** ''Z:\home\vpntest.ru\WWW\admin\.htaccess''
 
#** ''Z:\home\vpntest.ru\WWW\lib\.htaccess''
 
#** ''Z:\home\vpntest.ru\WWW\lib\.htaccess''
Строка 71: Строка 86:
 
Произведите '''Инициализацию БД''':
 
Произведите '''Инициализацию БД''':
  
* Запустите Денвер, дважды кликнув по ярлыку "'''Start Servers'''"
+
* Запустите Денвер, дважды кликнув по ярлыку «'''Start Servers'''»
* В браузере зайдите по адресу [[http://vpntest.ru/admin/]]
+
* В браузере зайдите по адресу http://vpntest.ru/admin/
* Введите ЛОГИН_АДМИНА - '''Логин Администратора СТ''' и соответствующий пароль - '''Пароль Администратора СТ''' в высвечивающемся окне аутентификации
+
* Введите ЛОГИН_АДМИНА — '''Логин Администратора СТ''' и соответствующий пароль — '''Пароль Администратора СТ''' в высвечивающемся окне аутентификации
* Нажмите на кнопку "'''Инициализировать БД'''"
+
* Нажмите на кнопку «'''Инициализировать БД'''»
* Перейдите по ссылке "'''К архиву'''" под заголовком страницы
+
* Перейдите по ссылке «'''К архиву'''» под заголовком страницы
* Перейдите по ссылке "...нажмите __'''сюда'''__, чтобы произвести инициализацию..."
+
* Перейдите по ссылке «…нажмите __'''сюда'''__, чтобы произвести инициализацию…»
  
 
'''БД инициализирована.'''
 
'''БД инициализирована.'''
Строка 82: Строка 97:
 
Загрузка вопросов из текстового файла.
 
Загрузка вопросов из текстового файла.
  
* В Панели Управления СТ нажмите кнопку "'''Обзор'''" ("Browse")
+
* В Панели Управления СТ нажмите кнопку «'''Обзор'''» («Browse»)
 
* Выберите подготовленный заранее текстовый файл с вопросами теста
 
* Выберите подготовленный заранее текстовый файл с вопросами теста
 
* Задайте вариант для вопросов загружаемого файла (или оставьте его равным значению по умолчанию = 1)
 
* Задайте вариант для вопросов загружаемого файла (или оставьте его равным значению по умолчанию = 1)
* Нажмите кнопку "'''Загрузить вопросы в БД'''"
+
* Нажмите кнопку «'''Загрузить вопросы в БД'''»
* После этого вопросы будут загружены в БД, а вам будет показан результат операции загрузки вопросов (были ошибки или нет). Также система покажет детальную информацию обо всех этих ошибках. \\ '''Замечание:''' Если в БД уже загружены вопросы, которые требуется уничтожить перед добавлением новых – установите флажок "'''Перезаписать БД вопросов'''" и нажмите кнопку "'''Загрузить вопросы в БД'''".
+
* После этого вопросы будут загружены в БД, а вам будет показан результат операции загрузки вопросов (были ошибки или нет). Также система покажет детальную информацию обо всех этих ошибках.
 +
: '''Замечание:''' Если в БД уже загружены вопросы, которые требуется уничтожить перед добавлением новых — установите флажок «'''Перезаписать БД вопросов'''» и нажмите кнопку «'''Загрузить вопросы в БД'''».
  
 
=== Конфигурирование клиентских компьютеров ===
 
=== Конфигурирование клиентских компьютеров ===
  
Чтобы компьютеры слушателей могли найти хост ''vpntest.ru'', добавьте на компьютерах локальной сети, кроме компьютера Администратора СТ ([[http://www.denwer.ru/|Денвер]] сам разберётся) в файл hosts строчку вида ''192.168.0.10 vpntest.ru'', где 192.168.0.10 надо заменить на IP-адрес компьютера Администратора СТ, а vpntest.ru - на установленное имя виртуального хоста.
+
Чтобы компьютеры слушателей могли найти хост ''vpntest.ru'', добавьте на компьютерах локальной сети, кроме компьютера Администратора СТ ([http://www.denwer.ru/ Денвер] — сам разберётся) в файл hosts строчку вида ''192.168.0.10 vpntest.ru'', где 192.168.0.10 надо заменить на IP-адрес компьютера Администратора СТ, а vpntest.ru — на установленное имя виртуального хоста.
  
 
Файл hosts расположен в:
 
Файл hosts расположен в:
  
* В Windows NT/2K/XP/Vista - C:\WINDOWS\SYSTEM32\DRIVERS\ETC\hosts
+
* В Windows NT/2K/XP/Vista — C:\WINDOWS\SYSTEM32\DRIVERS\ETC\hosts
* В Windows 9x/Me - C:\WINDOWS\hosts.sam
+
* В Windows 9x/Me — C:\WINDOWS\hosts.sam
* В Linux и других UNIX-системах - /etc/hosts
+
* В Linux и других UNIX-системах — /etc/hosts
  
 
На всех компьютерах локальной сети в свойствах браузера отключите использование HTTP прокси-серверов.
 
На всех компьютерах локальной сети в свойствах браузера отключите использование HTTP прокси-серверов.
Строка 104: Строка 120:
 
== Панель управления СТ ==
 
== Панель управления СТ ==
  
Когда вы заходите в браузере по адресу [[http://www.vpntest.ru/admin/]], появится окно с запросом авторизации:
+
Когда вы заходите в браузере по адресу http://www.vpntest.ru/admin/ - появится окно с запросом авторизации:
  
 
[[Изображение:VPNtest - HTTP-аутентификация Администратора СТ.png]]
 
[[Изображение:VPNtest - HTTP-аутентификация Администратора СТ.png]]
Строка 130: Строка 146:
 
* Списка вопросов.
 
* Списка вопросов.
  
Название теста можно задать в строках, начинающихся с ''###'' (трёх решёток). Все эти строки склеиваются через ''<br />'' (для HTML это перевод строки) и сохраняются в БД как название теста.
+
Название теста можно задать в строках, начинающихся с <code>###</code> (трёх решёток). Все эти строки склеиваются через ''<nowiki><br /></nowiki>'' (для HTML это перевод строки) и сохраняются в БД как название теста.
  
 
Список вопросов:
 
Список вопросов:
Строка 143: Строка 159:
 
В любом месте файла с вопросами могут присутствовать пустые строки и комментарии. Пустой строкой считается строка, содержащая не более, чем пробелы и символы табуляции. Кроме того, пробелы и табуляции в начале и конце всех строк обрезаются, то есть, отступы не играют вообще никакой роли. Комментариями в файле вопросов считаются строки, начинающиеся с '';;;'', то есть, с «трёх точек с запятой». При обработке файла комментарии игнорируются так же, как и пустые строки.
 
В любом месте файла с вопросами могут присутствовать пустые строки и комментарии. Пустой строкой считается строка, содержащая не более, чем пробелы и символы табуляции. Кроме того, пробелы и табуляции в начале и конце всех строк обрезаются, то есть, отступы не играют вообще никакой роли. Комментариями в файле вопросов считаются строки, начинающиеся с '';;;'', то есть, с «трёх точек с запятой». При обработке файла комментарии игнорируются так же, как и пустые строки.
  
И вопросы, и ответы — не просто текст: допускается использование HTML кода. Например, чтобы вставить в текст вопроса или ответа перевод строки, вы должны написать ''<br />''. Чтобы вставить в текст вопроса или ответа изображение — напишите ''<img src="путь_к_картинке">''. Путь к картинке задаётся относительно корня директории WWW. Рекомендуется писать пути в стиле ''<img src="/dir1/dir2/.../img.png">'' — тогда вы будете абсолютно уверены в том, что картинки везде отобразятся корректно и возьмутся из ''/home/vpntest.ru/WWW/dir1/dir2//img.png''.
+
И вопросы, и ответы — не просто текст: допускается использование HTML кода. Например, чтобы вставить в текст вопроса или ответа перевод строки, вы должны написать ''<nowiki><br /></nowiki>''. Чтобы вставить в текст вопроса или ответа изображение — напишите ''<img src="путь_к_картинке">''. Путь к картинке задаётся относительно корня директории WWW. Рекомендуется писать пути в стиле ''<nowiki><img src="/dir1/dir2/.../img.png"></nowiki>'' — тогда вы будете абсолютно уверены в том, что картинки везде отобразятся корректно и возьмутся из ''/home/vpntest.ru/WWW/dir1/dir2/.../img.png''.
  
 
==== Пример файла с вопросами ====
 
==== Пример файла с вопросами ====
Строка 149: Строка 165:
 
Этот пример включается в дистрибутив СТ и находится в архиве в файле ''testq.txt''.
 
Этот пример включается в дистрибутив СТ и находится в архиве в файле ''testq.txt''.
  
    ;;; Название теста задаётся в строках, начинающихся после ###
+
<pre>
    ### Тестовый Тест: Тавтология
+
    ;;; Название теста задаётся в строках, начинающихся после ###
    ;;; как видите, отступы совершенно не влияют на результат работы
+
    ### Тестовый Тест: Тавтология
 +
    ;;; как видите, отступы совершенно не влияют на результат работы
 
   
 
   
1. Тестовый Вопрос 1: <p><img width="200" src="/images/image.png"></p>
+
1. Тестовый Вопрос 1: <p><img width="200" src="/images/image.png"></p>
    ТВ1
+
    ТВ1
    *ТВ2
+
  *ТВ2
    ТВ3
+
    ТВ3
    ТВ4
+
    ТВ4
 
   
 
   
2. Тестовый Вопрос 2
+
2. Тестовый Вопрос 2
    *ТВ1
+
  *ТВ1
    ТВ2
+
    ТВ2
    ТВ3
+
    ТВ3
    ТВ4
+
    ТВ4
 
   
 
   
;;; комментарии разрешены в любой строке файла - поэтому вы можете
+
;;; комментарии разрешены в любой строке файла - поэтому вы можете
;;; оставлять для себя примечания к вопросам...
+
;;; оставлять для себя примечания к вопросам...
 
   
 
   
3. Тестовый Вопрос 3
+
3. Тестовый Вопрос 3
    ТВ1
+
    ТВ1
    ТВ2
+
    ТВ2
    ТВ3
+
    ТВ3
    *ТВ4 ;;; ...и даже к ответам
+
  *ТВ4 ;;; ...и даже к ответам
 +
</pre>
  
 
=== Возможные операции со списком слушателей ===
 
=== Возможные операции со списком слушателей ===
Строка 182: Строка 200:
 
==== Просмотр результатов тестирования ====
 
==== Просмотр результатов тестирования ====
  
В крайней правой ячейке каждой строки со слушателями вы можете заметить ссылку «'''. . .'''» — нажав на эту ссылку, вы увидите анкету слушателя и все его результаты.
+
В крайней правой ячейке каждой строки со слушателями вы можете заметить ссылку «'''...'''» — нажав на эту ссылку, вы увидите анкету слушателя и все его результаты.
  
 
Также вы можете посмотреть полный список результатов '''всех''' выведенных пользователей — для этого перейдите по ссылке «'''Подробные результаты'''». Вы увидите ответы слушетелей на все вопросы теста — правильные и неправильные ответы, а также вопросы, на которые не были даны ответы.
 
Также вы можете посмотреть полный список результатов '''всех''' выведенных пользователей — для этого перейдите по ссылке «'''Подробные результаты'''». Вы увидите ответы слушетелей на все вопросы теста — правильные и неправильные ответы, а также вопросы, на которые не были даны ответы.
Строка 241: Строка 259:
 
==== Просмотр данных снимка ====
 
==== Просмотр данных снимка ====
  
* Выведите на экран список снимков в соответствии с пунктом «[[#вывод_списка_снимков|Вывод списка снимков]]»
+
* Выведите на экран список снимков в соответствии с пунктом «[[#Вывод списка снимков]]»
 
* Найдите в этом списке требуемый снимок.
 
* Найдите в этом списке требуемый снимок.
 
* Выберите его, кликнув по названию.
 
* Выберите его, кликнув по названию.
 
* '''Теперь вы можете:'''
 
* '''Теперь вы можете:'''
** Просмотреть список пользователей из снимка (аналогично пункту [[#возможные_операции_со_списком_слушателей|Возможные операции со списком слушателей]]), кликнув по ссылке «'''Список слушателей'''», или «'''. . .'''» рядом с ним — в этом случае будет показана форма поиска слушателей.
+
** Просмотреть список пользователей из снимка (аналогично пункту [[#Возможные операции со списком слушателей]]), кликнув по ссылке «'''Список слушателей'''», или «'''. . .'''» рядом с ним — в этом случае будет показана форма поиска слушателей.
 
** Просмотреть список результатов, переходя по ссылкам из списка пользователей.
 
** Просмотреть список результатов, переходя по ссылкам из списка пользователей.
 
** Просмотреть список вопросов из снимка, кликнув по ссылке «'''Список вопросов'''».
 
** Просмотреть список вопросов из снимка, кликнув по ссылке «'''Список вопросов'''».
Строка 257: Строка 275:
 
Чтобы удалить снимок:
 
Чтобы удалить снимок:
  
* Выведите на экран список снимков в соответствии с пунктом «[[#вывод_списка_снимков|Вывод списка снимков]]»
+
* Выведите на экран список снимков в соответствии с пунктом «[[#Вывод списка снимков]]»
 
* Найдите в этом списке требуемый снимок.
 
* Найдите в этом списке требуемый снимок.
 
* Выберите его, кликнув по названию.
 
* Выберите его, кликнув по названию.
Строка 273: Строка 291:
 
* Поэтому, если вы хотите снова начать работу с архивом после уничтожения, вам придётся заново его инициализировать.
 
* Поэтому, если вы хотите снова начать работу с архивом после уничтожения, вам придётся заново его инициализировать.
  
[[Категория:Разработка]]
+
[[Категория:Архив]]
 +
[[Категория:Перенесено с vmx.yourcmc.ru]]

Текущая версия на 15:42, 20 июня 2016

Термины, сокращения и предположения

СТ
Система Тестирования
БД
База Данных, на данный момент используется СУБД MySQL
Z:\
Везде далее под Z:\ подразумевается виртуальный диск, создаваемый Денвером при установке. Если у вас буква диска отлична от Z, используйте её.
vpntest.ru
Везде далее под vpntest.ru подразумевается имя хоста, используемое для размещения СТ как «сайта» в локальной сети. Если вы используете другое имя — читайте документ так, как будто везде вместо vpntest.ru написано вами выбранное имя.
Администратор СТ
Управляющий СТ и процессом тестирования
Логин Администратора СТ
Входное имя, используемое Администратором СТ при аутентификации
Пароль Администратора СТ
Пароль, используемый Администратором СТ при аутентификации
Пользователь БД
Зарегистрированный в СУБД пользователь, имеющий доступ к БД СТ
Логин Пользователя БД 
Входное имя, используемое СТ для доступа к БД
Пароль Пользователя БД
Пароль, используемый СТ для доступа к БД
Панель администрирования СТ
Панель управления СТ
Панель администрирования СТ
Веб-интерфейс, через который осуществляется управление СТ и процессом тестирования
Архив СТ
Хранилище результатов прошедших тестирований
Инициализация БД
Состоит из двух действий: сначала очистка БД СТ, потом создание рабочих таблиц в БД СТ
Инициализация БД Архива СТ
Создание архивных таблиц в БД СТ
Рабочие таблицы БД
Таблицы, используемые для хранения актуальных данных
Архивные таблицы БД
Таблицы, используемые для хранения архивных данных (результатов прошедших тестирований)
Загрузка вопросов в БД
Заполнение таблицы вопросов заранее подготовленным содержимым, исходным форматом является текстовый файл
Регистрация слушателя
Заполнение анкеты, выбор логина и пароля, создание учётной записи слушателя в СТ
Авторизация слушателя
Процесс «опознания» зарегистрированного слушателя, включает проверку пароля
Тестирование слушателя
Процесс ответа слушателя на вопросы и сохранения результатов

Установка СТ

СТ устанавливается на специально выделенный компьютер — «сервер». В случае Windows-машины сервер проще всего организовать с помощью системы типа «Денвер» (Д. Н. W. Р. — Джентльменский Набор Web-Разработчика) или XAMPP.

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

  1. Вы (Администратор СТ) должны выбрать имя для виртуального «сайта» с тестами — по умолчанию vpntest.ru
  2. На компьютере Администратора СТ, который будет выступать сервером для слушателей, установите базу: Apache + PHP + MySQL c помощью, например, Денвера (Джентльменский Набор Web-разработчика), бесплатный дистрибутив которого можно скачать здесь: Base_PHP5.
    Примечание: Если на компьютере Администратора СТ уже установлены 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\ — установочная директория Денвера.
  3. Запустите Денвер, дважды кликнув по ярлыку «Start Servers».
  4. Задайте Пароль пользователя БД. Для этого:
    • Зайдите в браузере по адресу http://localhost/Tools/phpMyAdmin/,
    • Выберите «Привилегии»,
    • Кликните по иконке «Редактирование привилегий» справа от строки с Пользователем БД «root»,
    • Заполните поля Пароль и Подтверждение пароля,
    • Выберите радиокнопку рядом со словом «Пароль»,
    • Нажмите «Пошёл».
  5. Остановите Денвер, дважды кликнув по ярлыку «Stop Servers».
  6. Пусть Z:\ — виртуальный диск, созданный Денвером, тогда удалите всё, кроме папки localhost, из папки Z:\home.
    Папку «localhost» можно и удалить, но лучше переместите её куда-нибудь в недоступное по HTTP место, чтобы иметь возможность при необходимости воспользоваться phpMyAdmin-ом.
  7. Добавьте в файл Z:\usr\local\apache\conf\httpd.conf строчку Listen *:80 — это требуется для того, чтобы Apache слушал 80-й порт и принимал входящие соединения от всех IP-адресов, то есть, цель данного пункта — сделать возможным заходить в систему тестирования с компьютеров слушателей.

Установка СТ

  1. Создайте в Z:\home папку с именем vpntest.ru (с именем хоста — виртуального «сайта» — см. п.1) и распакуйте в эту папку архив с дистрибутивом системы тестирования.
    • После установки подпапка WWW эквивалентна корню «сайта» vpntest.ru.
    • В подпапке WWW расположены файлы, отвечающие за регистрацию и тестирование:
    • В WWW/admin/ расположена администраторская часть системы.
    • В WWW/lib/ расположены библиотеки функций, используемые системой при работе, а также config.php — конфигурационный файл.
  2. Сконфигурируйте систему тестирования. Для этого отредактируйте конфигурационный файл 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, вы не сможете зайти в Панель Управления СТ.
  3. Установите входные данные Администратора СТ.
    • Используется 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, добавьте на компьютерах локальной сети, кроме компьютера Администратора СТ (Денвер — сам разберётся) в файл 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

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

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

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