УТВЕРЖДАЮ
От Заказчика
Заместитель директора
Сводного департамента анализа и регулирования внешнеэкономической деятельности Минэкономразвития России
Мартинкевич Г.Г.
________________________
« » _____________ 2009 г.
|
|
УТВЕРЖДАЮ
От Исполнителя
Генеральный директор
ООО «Интегрум Медиа»
Кузнецов К.В.
________________________
« » _____________ 2009 г.
|
Единый портал внешнеэкономической информации Минэкономразвития России
Руководство программиста
|
Шифр темы: 1607-05-09
|
Листов
|
Москва,
|
СОДЕРЖАНИЕ
1.1. Требования к техническим средствам 3
1.2. Требования к общему программному обеспечению (ОПО) 3
-
Условия применения программы
1.1.Требования к техническим средствам
Требования к техническим средствам ИС «Единый портал внешнеэкономической информации Минэкономразвития России».
Для работы Портала необходимы два высокопроизводительных сервера с конфигурацией не ниже:
Proliant DL380 G5 5160 (Rack2U XeonDC 3.0Ghz(4Mb/) 2х1Gb/P400(256Mb/RAID5/1/0)/noHDD(8)SFF/noCD.noFDD/iLO2std/2xGigEth
Proliant DL380 G5 X5160 (3.00GHz-1x4Mb) Processor Option Kit;
Slimline CD-RW/DWD-ROM Combo Option Kit;
HP 72 Gb SFF SAS 10k rpm Hot Plug Hard Drive (2,5”);
Redundant Power Supply 350/370/380 G5 Worldwide Kit.
1.2.Требования к общему программному обеспечению (ОПО)
Требования к общему программному обеспечению (ОПО), необходимому для ИС «Единый портал внешнеэкономической информации Минэкономразвития России», представлены в таблице 2.
Таблица 1.2. Требования к ОПО
Наименование
|
Кол-во
|
1. ОС Debian Server
|
1
|
2. PostgreSQL 8.4
|
1
|
3. Программные зависимости
|
1
|
-
Характеристика программы
Система рассчитана на круглосуточный режим работы в течение 365 дней в году.
Средствами контроля и мониторинга являются автоматизированные встроенные в платформу программные компоненты, которые самостоятельно выполняют следующие действия в случае ошибки
Система автоматически перезапускает себя в случае некритической ошибки
Посылает администратору сообщение об ошибке в письме на электронную почту
Записывают ошибку в журнал, который находится в файловой системе в файле /var/log/messages
В случае невозможности совершить вышеуказанные действия, система выведет администратору ошибки прямо в браузер с конкретными данными о том, где, почему и что произошло.
Для восстановления системы необходимо обратиться к документу «Руководство администратора», в котором находится раздел «Восстановление системы после сбоя»
-
Обращение к программе
Внешнее управление содержимым системы осуществляется через веб-интерфейс, описанный в документе «руководство пользователя». Для того чтобы передать полное управление всесторонними функциями портала, необходимо создать учетную запись с ролью «администратор» и по зашифрованному каналу сообщить логин и пароль нужному человеку.
Внутреннее управление порталом происходит на сервере.
Структура проекта находится в папке /var/www/projects/rus-export и является полноценным набором файлов и программных компонентов для управления логикой, функциональной частью системы и ее работой.
Процесс запуска портала
Чтобы запустить портал программисту необходимо выполнить ряд шагов:
Авторизоваться в терминале сервера под ролью root
Перейти в папку проекта с помощью команды cd /var/www/projects/rus-export
Запустить сервер приложения: script/server
Портал должен запуститься на 80ом порту, после вывода следующих строчек:
bash-3.2# script/server
=> Booting Mongrel
=> Rails 2.3.4 application starting on http://0.0.0.0:80
=> Call with -d to detach
=> Ctrl-C to shutdown server
Входящие запросы будут приниматься по любым интернет-адресам, которые адресуют пользователя на данный сервер.
Проект состоит из следующих папок:
app – исходные коды динамической составляющей сайта разбитой по паттерну MVC
controllers – исходные коды контроллеров. Каждый контроллер управляет одной или несколькими сущностями, содержа в себе набор дейтвий. Каждое действие формирует один URL-адрес.
Для генерации нового контроллера можно использовать команду ~/script/generate controller 'имя контроллера'
helpers – исходные коды динамичных помошников для представлений. В текущей версии сайта дополнительные помощники определены только в глобальном файле – application_helper.rb.
models – исходные коды моделей сущностей. Каждая модель в указанной папке – отображений таблицы в базе данных с привязкой бизнес-логики.
views – исходные коды представлений сайта.
config – конфигурационные файлы проекта
database.yml – описание конфигурации СУБД. Примеры конфигурации можно посмотреть в инструкции по установке.
locales – содержит список локализационных настроек. Каждый язык, поддерживающийся сайтом должен быть определен как 'двухбуквенный код языка'.yml, например ru.yml или jp.yml.
routes.rb – настройки маршрутизации. Файл содержит список соответствий запрашиваемых URL к действиям контроллеров (app/controllers).
db – директория, содержащая файлы, необходимые для работы с СУБД. В случае использования SQLite, эта папка по-умолчанию будет содержать в себе файлы базы данных.
migrate – директория, содержащая миграции, скрипты наката структуры базы данных. Каждый скрипт – отдельная часть структуры. Для доработки структуры на боевой базе, необходимо создать очередной скрипт по примеру существующих. Вызов команды rake db:migrate выполнит у конкретной инсталляции все свежие скрипты. Для генерации миграцией можно использовать команду ~/script/generate migration 'имя миграции'
doc – директория, зарезервированная под хранение внутренней документации
index – зарезервирована расширением ferret для хранения поисковых индексов
lib – отдельные классы Ruby, не подходящие для определения в моделях.
tasks – набор задач для исполнение с помощью команды rake.
log – файлы с полным логом запросов. act_as_ferret.log содержит в себе лог работы Ferret.
public – исходные коды статической части сайта
images – картинки сайта и административной панели
javascripts – JS-скрипты сайта и административной панели
stylesheets – CSS-стили сайта и административной панели
script – набор автоматизирующих скриптов, использующихся для генерации, тестирования, снятия бэкапов
test – директория для хранения тестов, как Unit, так и приемочных.
tmp – директория для хранения временных файлов
vendor – внешние зависимости
plugins – интегрированные в поставку расширения: ACL_System2, paperclip и другие
-
Входные и выходные данные
В данном разделе приводится описание организации используемой входной и выходной информации.
Внесение изменений в инсталляцию
Внесение изменений в работающую версию будет принято после перезапуска сервера. Перезапуск сервера может быть осуществлен как с остановкой HTTP-сервера и прерыванием соединений, так и без них.
Полная перезагрузка HTTP-сервера nginx в среде Linux выполняется с помощью команды /etc/init.d/nginx restart. Для мягкой перегрузки программной среды, необходимо выполнить команду touch ~/tmp/restart.txt.
Полная перезагрузка требуется в крайне редких случаях и в условиях эксплуатации к использованию рекомендована мягкая перегрузка.
Процедура автоматизированного внедрения изменений
Для автоматизации внесения изменений при активной разработки, в поставке сайта содержатся настройки утилиты Capistrano. Для автоматизации обновления при постоянных изменениях ее можно использовать без перенастройки со следующим окружением:
• nginx
• mod_passenger
• ssh-ключ для выкладывающего пользователя
• система контроля версий Git
Для выкладывания необходимо использовать команду cap deploy. Основные настройки выкладывания расположены в файле ~/config/deploy/staging.rb.
Их описание:
set :repository, "svn+ssh://"
Расположение репозитория Git.
set :deploy_to, "/var/www/#{application}"
Путь расположения на сервере.
set :user, "deployer"
Имя пользователя, от лица которого Capistrano будет действовать на сервере. Этот пользователь должен иметь возможность получить исходные коды из системы контроля версий и быть доступным тому, кто запускает команду cap deploy.
server "rus-export.dv-t.net", :app, :web
server "rus-export.dv-t.net", :db, :primary => true
Имена серверов для программного окружения и СУБД.
-
Сообщения
В ходе выполнения программы, программисту выдаются сообщения. Здесь приводится описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
Возможные ошибки, которые могут появиться при заходе на веб-страницу единого портала:
dispatch.fcgi
505 Rails application failed to start
Решение: мягкая перезагрузка http-сервера
Возможные ошибки в журнале ошибок (файл /var/log/messages в файловой системе сервера):
[warn] mod_fcgid: Read data error, fastcgi server has close connection
[error] [client xxx.xxx.xxx.xxx] Premature end of script headers: dispatch.fcgi
Решение: мягкая перезагрузка http-сервера
Возможные ошибки в любом из мест:
PGSQL: Connection pool ended
IO: Too much open files
Решение: необходимо ввести в терминале сервера команду fs.filemax=16452
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
ППО
|
Прикладное программное обеспечение
|
ИС
|
Информационная система «Единый портал внешнеэкономической информации Минэкономразвития России»
|
СУБД
|
Система Управления Базами Данных
|
|