Лицензирование отдельных видов деятельности

advertisement
============================================================
Лицензирование отдельных видов деятельности
============================================================
------------------------------Инструкция по установке системы
-------------------------------
Требования к оборудованию и программному обеспечению
====================================================
Система состоит из трех компонент:
1. Клиент, в качестве которого выступает веб-браузер (рекомендуется
Firefox версии 7 и выше, устанавливается клиентом).
2. Сервер базы данных PostgreSQL (версии 9 или выше, устанавливается
администратором системы).
3. Сервер приложений (устанавливается администратором системы в
соответствии с этой инструкцией).
Для работы клиента годится любая современная операционная система. Для
комфортной работы рекомендуется:
* процессор – от 1 Ghz;
* оперативная память – от 1 Gb;
* свободное место на жестком диске – от 20 Gb.
Для сервера базы данных:
* процессор – от 2.5Ghz;
* оперативная память – от 4 Gb.
Для сервера приложений:
* процессор – от 2.5 Ghz, 64 бит;
* оперативная память – от 4 Gb.
Сервер базы данных и сервер приложений, могут устанавливаться на одном
физическом сервере.
Состав дистрибутива
===================
Дистрибутив состоит из 3-х файлов:
1. lod.txt – этот файл;
2. lod.zip – архив системы;
3. lod.pybundle – библиотеки.
Установка и настройка
=====================
Ниже предполагается что сервер приложений и база данных устанавливаются на
одном физическом сервере с операционной системой Linux Ubuntu Server 11.10.
Подготовка системы
------------------
1. Определяем пользователя, от которого будет производиться установка
и настройка (homeuser). Пользователь должен иметь возможность
выполнять административные действия в системе (sudo). Предполагаем
что дистрибутив находится в домашнем каталоге пользователя.
2. Проверяем, что при локализации сервера выбран русский язык в
кодировке utf-8::
$ echo $LANG
ru_RU.UTF-8
$ $ grep ^lc_ /etc/postgresql/9.1/main/postgresql.conf
lc_messages = 'ru_RU.UTF-8'
# locale for system error message
lc_monetary = 'ru_RU.UTF-8'
# locale for monetary formatting
lc_numeric = 'ru_RU.UTF-8'
# locale for number formatting
lc_time = 'ru_RU.UTF-8'
# locale for time formatting
3. Устанавливаем необходимые пакеты::
$ sudo apt-get install \
build-essential python python-dev subversion postgresql \
apache2 libapache2-mod-wsgi \
python-virtualenv libreoffice-common libreoffice-java-common \
openjdk-6-jre libpq-dev libjpeg-dev \
libapache2-mod-xsendfile python-uno unzip python-virtualenv libpq-dev \
emacs sqlite3 libxml2-dev libxslt-dev libxmlsec1-dev \
python-sqlite python-psycopg2
4. Проверяем что запущен веб-сервер::
$ sudo /etc/init.d/apache2 status
Apache2 is running (pid 16523).
Установка дистрибутива
----------------------
1. Распаковываем архив lod.zip в каталог /home/homeuser::
$ cd /home/homeuser
$ ls
lod.pybundle lod.zip
$ unzip lod.zip
2. Выполняем::
$ cd lod
$ virtualenv . --no-site-packages
$ source bin/activate
$ pip install ../lod.pybundle
$ cd lod
$ cp conf.template conf
3. Редактируем файл conf. Он должен выглядеть примерно так::
's|__ROOT__|/home/homeuser/lod|'
's|__ADMIN_EMAIL__|incoming.chtdnet@gmail.com|'
's|__SERVER_NAME__|lod.chtd.org|'
's|__USER__|homeuser|g'
Здесь:
:__ROOT__: абсолютный путь к каталогу lod (/home/homeuser/lod)
:__ADMIN_EMAIL__: почтовый ящик администратора системы
:__SERVER_NAME__: имя сервера, на котором будет установлена система
:__USER__: имя пользователя, от которого установлена система (homeuser)
4. Генерируем конфигурационные файлы::
$ make
И получаем:
:conf.py: файл настроек программной части;
:httpd.conf: конфигурационный файл веб-сервера Apache;
:crontab: конфигурационный файл cron, для запуска уведомлений по email;
:lod.wsgi: wsgi-скрипт запуска системы, используется в httpd.conf.
Настраиваем доступ пользователя к СУБД PostgreSQL
-------------------------------------------------
1. Редактируем /etc/postgresql/<версия>/main/pg_hba.conf дописываем
после строчки:
local all
postgres peer
строку:
local all
homeuser
password
2. Перезапускаем postgres:
$ sudo /etc/init.d/postgresql restart
3. Регистрируем пользователя в СУБД и создаем рабочую базу::
$ sudo -u postgres psql
и в консоли БД::
create user homeuser with password '<пароль>' createdb;
create database lod_db owner homeuser;
create database homeuser owner homeuser;
grant all privileges on tablespace pg_default to homeuser;
4. Редактируем conf.py – указываем пароль для доступа к базе::
...
'NAME': 'lod_db',
# Or path to database file if using sqlite3.
'USER': 'homeuser',
'PASSWORD': '<пароль>',
# Not used with sqlite3.
# Not used with sqlite3.
...
Настраиваем веб-сервер
----------------------
1. Проверяем, что включен модуль mod_xsendfile::
$ ls /etc/apache2/mods-enabled/x*
/etc/apache2/mods-enabled/xsendfile.load
В противном случае выполняем::
$ sudo ln -s /etc/apache2/mods-available/xsendfile.load \
/etc/apache2/mods-enabled
2. httpd.conf – часть конфигурационного файла Apache (система
запускается на виртуальном хосте), надо включить в главный
конфигурационный файл директивой include, либо, для Ubuntu::
$ sudo ln -s /home/homeuser/lod/lod/httpd.conf \
/etc/apache2/sites-available/lod
$ sudo a2ensite lod
$ sudo /etc/init.d/apache2 reload
3. Веб-серверу нужны права на доступ к файлам системы, права на запись
в каталоги ./media/attachments, ./media/collect_requests,
./media/xls_templates для сохранения файлов-приложений.
Самый простой способ::
$ chmod -R a+rw ../
Инициализация
-------------
Выполняем::
$ ./init
Рестарт
-------
Например, после изменения параметров в conf.py::
$ sudo apache2ctl graceful
Дополнительные параметры системы
================================
Для рабочей системы в conf.py::
DEBUG = False
FAKE_EMAIL = None
Отключает выдачу отладочной информации при сбоях и отправляет
уведомления на реальные адреса пользователей.
Для работы формирования шаблонов из odf нужно запустить::
$ nohup soffice "--accept=socket,host=localhost,port=2002;urp;" --headless &
Для работы рассылки::
$ crontab crontab
Резервное копирование
=====================
Резервное копирование БД осуществляется средствами СУБД::
$ pg_dump -U homeuser -C lod_db > lod.dump
Получили дамп БД. Резервное копирование загруженных файлов (каталог
media) и дампа надо проводить средствами системы в соответствии с
принципами организации.
Для восстановления надо настроить систему (пропустив запуск ./init),
восстановить БД и загруженные файлы. Восстановление БД::
$ psql -U homeuser < lod.dump
.. local variables:
.. mode: rst
.. end:
FAQ
1.
Вопрос: при инициализации БД пошли жалобы на отсутствие юзера CHTD
Ответ: Этот пользователь не нужен, там инициализируется база данных и должно
подключаться к пользователю, которого Вы создали в базе данных postgres. Это, скорее
всего, вы просто не поставили правильного пользователя в conf.py для базы данных.
Проверьте его.
Если таки поставили всё верно, то уберите в конце файла init строку с pgsql и
пользователем chtd, где он мелькает как раз.
2.
Вопрос: при инсталляции pytona он установился версии 2.7 , а в конфигурационном файле
пути прописаны как 2.6
Ответ: необходимо исправить путь в конфигурационном файле.
Download