Электронная очередь в ДОУ
JavaScript Python HTML CSS

README.rst

Требования к программному обеспечению

Операционная система GNU/Linux.

Для установки программы «Электронная очередь в ДОУ» в операционной системе должно быть установлено следующее ПО:

  • python2.7
  • git
  • postgresql ==9.1
  • postgresql-9.1-postgis
Пакеты python:
  • gdal ==1.9.0
  • psycopg2 ==2.4.1
  • Django ==1.4
  • pytils ==0.2.3
  • dateutil ==1.5
  • django-south ==0.7.5
  • httplib2 ==0.7.4
  • openid ==2.2.5
  • crypto ==2.6
  • imaging ==1.1.7
  • pisa ==3.0
  • xlrd ==0.6.1
  • xlwt ==0.7.4
  • xlutils ==1.3.2
  • django-zenforms >=0.1,<0.2
  • redsolutioncms.django-chunks >=0.2,<0.3
  • django-classy-tags ==0.3.4.1
  • redsolutioncms.django-trusted-html >=0.1,<0.2
  • ordereddict ==1.1
  • redsolutioncms.django-tinymce-attachment >=0.4, <0.5
  • django-social-auth ==0.7.23
  • redsolutioncms.django-hex-storage >=0.1, <0.2
  • djangorestframework ==2.4

1. Подготовка

  1. Для работы программы требуется создать для нее отдельную учетную запись в операционной системе.
  2. Создайте новую учетную запись СУБД без пароля и без прав создания учетной записи с таким же именем, как у учетной записи в операционной системе. При совпадении имен учетной записи в СУБД и ОС будет возможен доступ к СУБД без указания пароля, это позволит ограничить доступ из под других учетных записей.
  3. Создайте пустую базу данных в PostgreSQL, указав в качестве владельца учетную запись СУБД, созданную в пункте 2.
  4. Настройте географические расширения postgis для созданной БД.
  5. Назначьте все привелегии всем пользователем для таблиц geometry_columns, spatial_ref_sys и для представления geography_columns.
  6. Для проверки того, что учетные записи и БД были созданы правильно, попробуйте произвести подключение к созданной БД из под учетной записи программы в ОС. Подключение должно произойти без запроса пароля.

2. Установка и настройка

Установку дистрибутива следует выполнять под учётной записью программы.

  1. С помощью git клонируйте репозиторий программы (git://github.com/redsolution/electroochered.git) в каталог django (в дальнейшем называемый каталог программы), располагающийся в домашнем каталоге учетной записи программы.

  2. Параметры системы должны указываться в файле electroochered.conf, расположенном в каталоге .config/electroochered/, который расположен в домашнем каталоге учетной записи программы. В дистрибутив включен шаблон файла настроек с именем electroochered.conf.example, измените его имя на electroochered.conf и переместите в нужный каталог. Правами на чтение и изменение файла должна обладать только учетная запись приложения, это позволит ограничить доступ к параметрам системы из под других учетных записей.

  3. Настройте параметры соединения с БД. Для этого в файле electroochered.conf в каталоге программы укажите значения параметров для подключения к БД, которые перечислены ниже:

    - DATABASE_USER - имя учетной записи СУБД. Укажите имя созданной учетной записи в СУБД.
    - DATABASE_PORT - порт для подключения к СУБД. Укажите порт для подключения к БД(стандартный порт для PostgreSQL - 5432)
    - DATABASE_NAME - имя БД. Укажите имя созданной БД.
    
  4. Для проверки правильности настроек соединения с БД в каталоге программы выполните команду python manage.py dbshell. В результате должно произойти подключение к БД(будет запущен терминал psql).

  5. Для автоматического изменения статуса заявок настройте ежедневное выполнение команды manage.py auto_change_status из каталога программы.

  6. Для создания каталога со статическими файлами выполните команду python manage.py collectstatic --noinput из каталога программы.

  7. Убедитесь, что в результате выполнения предыдущего пункта в каталоге программы был создан каталог static со статическими файлами.

3. Настройка параметров системы “Электронной очереди”

В конфигурационном файле electroochered.conf необходимо указать значение для параметров:

  • SECRET_KEY - секретный ключ. Запустите в консоли команду python manage.py get_secret_key, которая генерирует уникальный ключ для текущей установки системы. Внимание! Данный ключ должен использоваться только для текущей установки системы. В целях безопасности этот ключ не должен быть известен посторонним людям. Несоблюдение этого требования может привести к повышению привелегий и удаленному выполнению кода.
  • SERVER_EMAIL - адрес, с которого будут отсылаться сообщения об ошибках.
  • WEBMASTER - адрес, на который будут высылаться сообщения об ошибках.
  • MUNICIPALITY_OCATO - номер окато муниципалитета (8 цифр).
  • REGION_NAME - название региона (используется при геокодировании адреса).
  • VK_APP_ID, VK_API_SECRET - идентификатор и секретный ключ приложения ВКонтакте. Создайте приложение ВКонтакте на странице http://vk.com/editapp?act=create, при создании необходимо указать тип приложения “Веб-сайт”. Данные параметры будут указаны в настройках приложения.
  • MAP_CENTER - координаты центра карты (широта и долгота).
  • MAP_ZOOM - уровень масштабирования карты. Подробности определения масштаба карты вы можете узнать на странице.

4. Начальное наполнение базы данных

Все действия следует выполнять в каталоге программы из под учетной записи программы.

  1. Для начального наполнения БД в каталоге программы выполните команды:

    python manage.py syncdb --noinput --migrate
    python manage.py update_initial_data
    python manage.py loaddata sadiki/core/fixtures/chunks_initial.json
    
  2. Для проверки правильности наполнения БД в каталоге программы выполните команду python manage.py validate_db_initial. Результатом выполнения должно быть сообщение Ошибок не обнаружено.

  3. Создайте учетную запись администратора в системе “Электронной очереди” с помощью команды:

    python manage.py create_administrator
    

Вам нужно будет ввести имя учетной записи, имя и фамилию пользователя и пароль учетной записи.

5. Настройка веб-сервера

Настройте веб-сервер следующим образом:

  1. По адресу, начинающемуся с /media/upload/ должны быть доступны статические файлы из каталога media/upload, расположенного в каталоге программы.
  2. По адресу, начинающемуся со /static/ должны быть доступны статические файлы из каталога static, расположенного в каталоге программы.
  3. Все остальные запросы должны обрабатываться скриптом wsgi.py из каталога программы, расположенном в каталоге sadiki, который должен быть запущен от имени учетной записи программы в ОС.

6. Проверка работы системы

  1. В браузере откройте страницу http://example.com/adm, заменив example.com на доменное имя, указанное при настройке веб-сервера. На странице должна отображаться форма для входа.
  2. Введите логин и пароль администратора системы, который был создан в разделе 4 пункте 2. После этого вы должны попасть в административный интерфейс. Если вам не удалось войти в административный интерфейс, то попробуйте снова создать учетную запись администратора.

7. Утилита для проверки импортируемых данных

Для проверки данных в дистрибутив системы включена утилита import_validation.py. Проверка файла для импорта должна происходить на клиентской машине, тем самым исключается попадание файла с персональными данными на сервер. Для работы данной утилиты в операционной системе должен быть установлены: python==2.7 пакеты python: xlrd==0.9 xlwt==0.7.5 xlutils==1.3.2 BeautifulSoup==3.2.1 Утилита не требует установки, достаточно просто скопировать ее из дистрибутива системы.

Для дальнейшей работы с системой вы можете ознакомиться с руководством пользователя.