WEB-ЭЛЕКТРОННАЯ ШКОЛА ТЕХНИЧЕСКАЯ ИНСТРУКЦИЯ Версия 2012.012.1 2011 СОДЕРЖАНИЕ 1. Общие сведения .................................................................................................... 3 1.1. Требования к аппаратному обеспечению .................................................................................3 1.2. Программные средства .............................................................................................................3 2. Установка Системы ................................................................................................ 4 2.1. Установка для Windows ............................................................................................................4 2.1.1. Установка PostgreSQL ........................................................................................................4 2.1.2. Установка приложения ......................................................................................................6 2.1.3. Настройка окружения ........................................................................................................7 2.1.4. Настройка параметров соединения с базой данных ...........................................................8 2.1.5. Настройка параметров соединения с сервисной базой данных ........................................ 10 2.1.6. Настройка параметров e-mail рассылки ........................................................................... 10 2.1.7. Настройка параметров Active Directory ............................................................................ 10 2.1.8. Установка КЛАДРа ........................................................................................................... 11 2.1.9. Настройка проверки логина/пароля ................................................................................ 12 2.1.10. Отключение КТП, настройка посещаемости ..................................................................... 12 2.1.11. Доступ администратора учреждения к редактированию полей ФИО и дата рождения в портфолио ..................................................................................................................................... 12 2.1.12. Настройка режима отладки ............................................................................................. 12 2.1.13. Запуск приложения ......................................................................................................... 13 2.1.14. Развертывание системы под управлением web-сервера Apache ...................................... 13 2.2. Установка для unix совместимых ОС ....................................................................................... 13 2.2.1. Подписывание XML и проверка подписи .......................................................................... 13 2.2.2. Настройка загрузки файлов с кириллическим названием ................................................ 14 3. Обновление системы ............................................................................................. 15 3.1. Установка обновления ............................................................................................................ 15 1. 1.1. ОБЩИЕ СВЕДЕНИЯ Требования к аппаратному обеспечению Для обеспечения комфортной работы пользователей Система будет функционировать на серверах со следующими техническими характеристиками: o Сервер базы данных: Два двуядерных процессора с тактовой частотой 2 ГГц, Объем оперативной памяти 4Гб, Объем жесткого диска 200 Гб. o Web-сервер: Два двуядерных процессора с тактовой частотой 2 ГГц, Объем оперативной памяти 4Гб, Объем жесткого диска 100 Гб. Для клиентских машин, подключенных к серверам Системы с использованием удаленного доступа через Web-интерфейс, устанавливаются следующие требования: o Процессор с тактовой частотой 600 МГц; o Объем оперативной памяти 128 Мб; o Объем жесткого диска 15 Гб. Для клиентских машин, выполняющих функции администрирования Системы, устанавливаются следующие требования: o Процессор с тактовой частотой 1 ГГц; o Объем оперативной памяти 512 Мб; o Объем жесткого диска 30 Гб. Система обеспечивает комфортную работу при удаленном доступе в сетях передачи данных со скоростью 128 Кб/сек. Для мобильных систем (телефоны, коммуникаторы, КПК), подключаемых к серверам Системы с использованием удаленного доступа через Web-интерфейс устанавливаются следующие требования: o Поддержка технологи GPRS/EDGE/3G. 1.2. Программные средства Для функционирования обеспечение: серверной части Системы потребуется следующее программное Сервер базы данных: o Любая операционная система (Microsoft Windows, Unix, Mac OS и т.п.) поддерживаемая СУБД PostreSQL. Web-сервер: o Операционная система Microsoft Windows, Unix, Mac OS; o WEB сервер Apache с установленным модулем WSGI. o Интерпретатор Python с установленными библиотека psycopg2, libxml2 o JAVA Для клиентских машин потребуется следующее программное обеспечение: Для машин, подключенных к серверам Системы с использованием удаленного доступа через Web-интерфейс: o Любая операционная система (Microsoft Windows, Unix, Mac OS и т.п.); o Интернет-баузер совместимый с соответствующей операционной системой (рекомендуется Mozilla Firefox 3) c поддержкой JavaScript. 2. УСТАНОВКА СИСТЕМЫ Система может быть развернута на компьютере, который управляется одной из следующих операционных систем: Windows (XP, Srver, Vista, 7); Unix-совместимые OS; Mac OS. Важно! Нижеприведенная инструкция должна выполняться пользователем операционной системы, обладающим правами администратора. 2.1. Установка для Windows 2.1.1. Установка PostgreSQL PostgreeSQL Server является сервером базы данных, необходимой для хранения данных. PostgreSQL является бесплатным ПО. Дистрибутив поставляется вместе с системой Для установки сервера запустите файл m3_redistr/postgresql-8.4.4-1-windows.exe. Рис. 2.1.1.1. Установка компонента «PostgreSQL» Следуйте инструкциям установки, предложенные системой параметры можно оставить без изменений. На одном из этапов необходимо будет ввести пароль администратора базы данных, обязательно запомните его. На последнем шаге откажитесь от запуска Stack Builder После установки PostgreSQL необходимо установить утилиту администрирования сервера: PgAdmin, для этого запустите m3_redistr/pgadmin3.msi и следуйте указаниям программы установки. После установки pgadmin3 в меню «Пуск»/«программы» появится ярлык для запуска программы. Запустите pgadmin3. В левом окошке дважды щелкните на подключение к локальному серверу (localhost). В поле пароль введите введенный при установке PostrgeSQL пароль. Рис. 2.1.1.2. Подключение к PostgreSQL Создайте новую базу данных Рис. 2.1.1.2. Подключение к PostgreSQL Если у вас есть бэкап базы данных, мы можете восстановить его. В этом случае в системе уже будет содержать часть данных. Для восстановления бэкапа, необходимо щелкнуть правой кнопкой мыши на базу данных и выбрать пункт – «восстановить», после чего в появившемся окне выбрать путь до бэкапа базы данных (обычно с расширение *.backup) Рис. 2.1.1.3. Восстановление базы данных PostgreSQL 2.1.2. Установка приложения Для развертывания Web-приложения необходимо установить следующие компоненты: Python (m3_reditr/python-2.6.6.msi) psycopg2 (m3_reditr/psycopg2-2.0.14.win32-py2.6-pg8.4.3-release.exe) libxml2 (libxml2-python-2.7.3.win32-py2.6) openssl (Win32OpenSSL_Light-0_9_8r) pyxmlsec (pyxmlsec-0.3.0.win32-py2.6) PIL (PIL-1.1.7.win32-py2.6) JAVA (m3_reditr/ jre-6u21-windows-i586.exe) Python-LDAP (python-ldap-2.3.13.win32-py2.6) LXML (lxml-2.2.4.win32-py2.6) httpd-2.2.17-win32-x86-openssl-0.9.8o.msi (Web-сервер Apache) Для установки каждого компонента необходимо запустить соответствующий инсталлятор из прилагаемого пакета m3_reditr и следовать указаниям программы установки. После установки всех компонентов создайте папку c:/bars/web_edu В созданную папку распакуйте содержимое прилагаемых архивов m3.zip, web_edu.zip и скопируйте файлы: run_test_server.cmd, update_db.cmd В результате у вас должна получиться следующая структура каталогов Рис. 2.3.1.1. Структура приложения в каталоге c:/bars/web_edu 2.1.3. Настройка окружения Для бесконфликтной работы установленных библиотек, необходимо выполнить следующие действия: скопировать dll-библиотеки из папки, куда установлен Python2.6 (по умолчанию C:\Python26), а именно libexslt.dll, libxmlsec.dll, libxmlsec-openssl.dll, libxslt.dll в системную папку Windows: C:\WINDOWS\system32 Указать переменные окружения для Python2.6: в свойствах компьютера выбрать вкладку Дополнительно: в ней нажать кнопку Переменные среды, в появившемся окне в секции Системные переменные найти переменную Path, нажать Изменить: в поле Значение переменной в конец через точку с запятой добавить папку, куда установлен Python 2.6: 2.1.4. Настройка параметров соединения с базой данных Важно! После распаковки архивов необходимо изменить параметры соединения с базой данных. Эти параметры указываются в файле web_edu.conf Для изменения параметров соединения с базой данных необходимо выполнить следующую последовательность действий: Открыть подкаталог web_edu в каталоге C:\bars\web_edu\ Найти в нем файл «web_edu.conf.default» и переименовать его в web_edu.conf Рис. 2.3.1.1. Файл конфигурации в каталоге сервера Открыть найденный файл с помощью любого текстового редактора (например, программы «Блокнот»): Рис. 2.1.3.2. Файл конфигурации В открывшемся файле изменить следующие строки: o DATABASE_USER = postgres — имя пользователя СУБД, который является владельцем схемы приложения; o DATABASE_PASSWORD = 123456 — пароль пользователя СУБД, который является владельцем схемы приложения; o DATABASE_NAME = bars_web_edu — имя экземпляра базы данных на указанном сервере. После изменения файла, сохраните изменения. Важно! Если вы используете стандартный блокнот Windows, то вам необходимо сохранить файл в кодировке ANSI. Для этого используйте пункт меню «сохранить как…» и выберите кодировку в появившемся окне. Запустите фаил update_db.cmd для установки всех изменений в базе данных. 2.1.5. Настройка параметров соединения с сервисной базой данных Для ведения журнала всех изменений используется отдельная база данных. Подключение к ней аналогично подключению к основной базе данных. Для настройки подключения в конфигурационном файле необходимо добавить следующие строки: [service_database] # база данных для логирования и аудита ENGINE = postgresql_psycopg2 NAME = bars_web_edu HOST = localhost USER = bars_web_edu PASSWORD = bars_web_edu Для быстрого развертывания системы в качестве сервисной базы данных можно использовать основную. 2.1.6. Настройка параметров e-mail рассылки Для рассылки электронных писем необходимо настроить подключения к SMTP серверу, для изменения параметров подключения необходимо выполнить следующие действия: Открыть подкаталог web_edu в каталоге C:\bars\web_edu\ Найти в нем файл «web_edu.conf.default» и переименовать его в web_edu.conf Открыть найденный файл с помощью любого текстового редактора (например, программы «Блокнот»): В открывшемся файле изменить следующие строки: Важно! Если в вашем конфигурационном файле нет данных параметров, вы можете дописать их в конец файла. Предварительно нужно вставить строку [email] . Образец файла web_edu.conf поставляется вместе с обновлением. SEND_EMAILS = True — отправлять ли сообщения EMAIL_HOST = dev.bars-open.ru — smtp сервер отправки сообщений EMAIL_PORT = 25 — порт EMAIL_HOST_USER = notifier — пользователь для авторизации EMAIL_HOST_PASSWORD = 123123 — пароль EMAIL_USE_TLS = False — использовать ли SLL EMAIL_FROM = Система уведомлений БАРС Груп <notifier@bars-open.ru> — подпись в отправке почты 2.1.7. Настройка параметров Active Directory Система имеет возможность привязать пользователей из Active Directory. В интерфейсе системы для этого нужно указать логин пользователя из AD и отметить галочкой Пользователь Active Directory: Для того что бы иметь возможность привязать пользователя из AD, необходимо выполнить следующие действия; Открыть файл web_edu.conf, найти раздел [AD] Указать следующие параметры: USE_AD_USERS = True AD_DNS_NAME = имя или ip-адрес хоста AD AD_LDAP_PORT = порт хоста AD AD_SEARCH_DN = CN=Users,dc=bars # This is the NT4/Samba domain name AD_NT4_DOMAIN = bars домен AD AD_SEARCH_FIELDS = mail givenName sn sAMAccountName После изменений в файлах конфигурации необходимо перезапустить веб-сервер. 2.1.8. Установка КЛАДРа В pgAdmine в БД найти таблицу kladr_kladrgeo, нажать правой кнопкой мыши, выбрать пункт меню Восстановить. В окне выбора файла указать kladr_kladrgeo.backup: В pgAdmine в БД найти таблицу kladr_kladrstreet, нажать правой кнопкой мыши, выбрать пункт меню Восстановить. В окне выбора файла указать kladr_kladrstreet.backup: 2.1.9. Настройка проверки логина/пароля Настройка отключения проверки пароля и логина на латиницу + цифры и спец знаки: для того чтобы отключить в конфиге прописать/добавить в секции: [web_edu] PWD_VALIDATION_OFF = True SYMBOL_VALIDATION_OFF = True чтобы включить: [web_edu] PWD_VALIDATION_OFF = False SYMBOL_VALIDATION_OFF = False 2.1.10. Отключение КТП, настройка посещаемости Для блокирования (отключения КТП) необходимо прописать в конфиге в разделе [web_edu] следующее: DISABLE_SUBJECT_PLAN = True Для включения настройки отображения в дневнике посещаемости «был» необходимо в конфиге в разделе [web_edu] прописать следующее: PUPIL_EXIST_SHOW = True 2.1.11. Доступ администратора учреждения к редактированию полей ФИО и дата рождения в портфолио Для включения возможности редактирования администратору учреждения поле Фамилия, Имя, Отчество и Дата рождения в портфолио учащегося и сотрудника необходимо прописать в конфигфайле в разделе [web_edu] следующее: ADMIN_CAN_EDIT_NAME_IN_PORTFOLIO = True (для возможности редактирования) или False (для отключения возможности редактирования. 2.1.12. Настройка режима отладки Для включения режима отладки системы необходимо в конфиге установить параметр DEBUG = True, в противном случае — False. Важно! В целях сокрытия от пользователей системы отладочной информации при возникновении ошибок в системе, в т.ч. значения переменных, сессионных данных (логин, пароль), данных подключения к БД, значения переменных окружения операционной системы сервера приложений (все эти данные могут быть использованы злоумышленниками для атаки/взлома серверов), рекомендуем в настройках системы выключить режим отладки. При этом логи можно смотреть в папке log системы, а также из самой системы по адресу domain.ru/sentry (вход суперпользователем системы). 2.1.13. Запуск приложения Запустите файл run_test_server.cmd находящийся в (c:\bars\web_edu\run_test_server.cmd) для запуска тестового сервера Зайдите в браузере на адрес http://localhost:9009 каталоге приложения Важно! Тестовый сервер не является полнофункциональным. Его рекомендует использовать для демонстрации и тестирования системы, для развертывания реальной системы рекомендуется использовать web сервер Apache. 2.1.14. Развертывание системы под управлением webсервера Apache Для использования приложения под управлением сервера Apache, необходимо подключить прилагаемый модуль mod_wsgi.so. Для этого необходимо скопировать его в папку C:\Program Files\Apache Software Foundation\Apache2.2\modules Скопируйте файлы apache_site.conf и apache_wsgi.py в каталог приложения (c:\bars\web_edu) Внесите требуемые вам настройки в файл apache_site.conf Добавьте в ваш конфигурационный файл apache следующую строку: Include c:\bars\web_edu\apache_site.conf 2.2. Установка для unix совместимых ОС Для установки системы под Unix совместимые операционные системы необходимо установить требуемые компоненты из репозитария системы. Настройка и развертывания системы происходит аналогично с Windows. 2.2.1. Подписывание XML и проверка подписи Для того чтобы поставить соответствующие пакеты и собрать PyXMLSec из исходников достаточно поставить следующее (остальное подтянется через зависимости): sudo apt-get install libxmlsec1-dev python-libxml2 openssl python-dev cd /tmp wget http://labs.libre-entreprise.org/download.php/430/pyxmlsec-0.3.0.tar.gz --proxy-user=$USER --proxypassword=$PASS tar -xzf pyxmlsec-0.3.0.tar.gz cd pyxmlsec-0.3.0 sudo python setup.py install Важное замечание для debian amd64: Перед установкой pyxmlsec-0.3.0 необходимо внести изменения в setup.py: --- /home/andreas.knifh/setup.py 2009-10-28 08:45:30.000000000 +0000 +++ setup.py 2009-10-28 08:52:22.000000000 +0000 @@ -105,6 +105,8 @@ include_dirs.append(flag[2:]) elif flag[:2] == "-D": t = tuple(flag[2:].split('=')) + if len(t) == 1: + t = tuple([t[0],""]) if t not in define_macros: define_macros.append(t) else: 2.2.2. Настройка загрузки файлов с кириллическим названием Для возможности загрузки в систему файлов с названием, имеющим кириллические знаки, необходимо запускать веб-сервер с нужной кодировкой, т.к. именно он может исказить имя файла. Настройки для apache: Для запуска через apache2ctl в файл /etc/apache2/envvars нужно строку: export LANG=C заменить на следующую: export LANG=ru_RU.UTF-8 LANGUAGE=ru_RU.UTF-8 LC_ALL=ru_RU.UTF-8 LC_TYPE=ru_RU.UTF-8 LC_MESSAGES=ru_RU.UTF-8 Для запуска через /etc/init.d/apache2 там же строку: ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin" заменить на следующую: ENV="env -i LANG=ru_RU.UTF-8 LANGUAGE=ru_RU.UTF-8 LC_ALL=ru_RU.UTF-8 LC_TYPE=ru_RU.UTF-8 LC_MESSAGES=ru_RU.UTF-8 PATH=/usr/local/bin:/usr/bin:/bin" 3. 3.1. ОБНОВЛЕНИЕ СИСТЕМЫ Установка обновления Обновление поставляется в виде архива, содержащего каталоги web_edu и m3. Для установки обновления выполните следующие шаги: Сделайте резервную копию базы данных при помощи pgAdmin В каталоге c:/bars/web_edu переименуйте каталоги web_edu и m3, добавив им префиксы текущей даты (2011-01-01_web_edu, 2011-01-01_m3) Распакуйте архив в текущую папку. В результате должны появиться папки web_edu, m3. Скопируйте файл конфигурации web_edu.conf из старой папки web_edu (2011-0101_web_edu) в новую папку web_edu с заменой. При необходимости добавьте новые параметры конфигурации. Описания параметров представлены в разделах 2.1.3, 2.1.4 Скопируйте каталог пользовательского контента downloads из старой папки web_edu (201101-01_web_edu/static/downloads) в новую папку web_edu/static/downloads с заменой. Запустите update_db.cmd