Инструменты пользователя

Инструменты сайта


diflow_install

Установка Серверного Программного Обеспечения

Установка программного продукта DiState DiFlow v3 на ОС Ubuntu Linux.
Подразумевается, что система устанавливается на «чистую» ОС.

Установка PostgreSQL

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

Установка Git

sudo apt-get install git-core

Установка PHP 5.6

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php-pear php5.6-cli php5.6-common php5.6-curl php5.6-dev php5.6-gd php5.6-mcrypt php5.6-pgsql php5.6-xdebug php5.6-intl php5.6-fpm php5.6-common php5.6-json php5.6-xml php5.6-zip

Установка DBase

sudo apt-get install build-essential
sudo pecl install dbase

Установка Nginx

sudo apt-get install nginx

Настройка Серверного Программного Обеспечения

Создание директорий

mkdir -p /var/www/diflow
mkdir -p  /var/www/files/bik

Установка прав на директории:

chown -R www-data:www-data /var/www/diflow
chown -R www-data:www-data /var/www/files

Создание БД и пользователя БД

Запуск утилиты psql из под пользователя postgresql:

su postgres -c psql

Создание БД и пользователя:

CREATE DATABASE diflow3;
CREATE USER diflow WITH PASSWORD 'myPassword';
ALTER USER diflow CREATEDB;
GRANT ALL PRIVILEGES ON DATABASE diflow3 to diflow;
\q

myPassword необходимо заменить на любой другой надежный пароль

Настройка PHP

Для настройки интерпретатора php и менеджера процессов php-fpm необходимо отредактировать их конфигурационные файлы.

nano /etc/php/5.6/cli/php.ini:

short_open_tag = Off
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Europe/Moscow
cgi.fix_pathinfo = 0

Аналогично изменить файл /etc/php/5.6/fpm/php.ini

FPM

nano /etc/php/5.6/fpm/pool.d/www.conf:

Раскомментировать строки
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

DBase

echo "extension=dbase.so" > /etc/php/5.6/mods-available/dbase.ini
ln -s /etc/php/5.6/mods-available/dbase.ini /etc/php/5.6/cli/conf.d/
ln -s /etc/php/5.6/mods-available/dbase.ini /etc/php/5.6/fpm/conf.d/

Настройка Nginx

В директории /etc/nginx/sites-available необходимо создать файл diflow3.conf со следующим содержимым:

server {
    listen		 0.0.0.0:80;
    server_name 	DNS_NAME;
    root /var/www/diflow/web;

    location / {
    try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config)\.php(/|$) {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    error_log /var/log/nginx/diflow_error.log;
    access_log /var/log/nginx/diflow_access.log;
}

DNS_NAME необходимо заменить на адрес, по которому планируется обращаться к ресурсу

Создание символической ссылки:

ln -s /etc/nginx/sites-available/diflow3.conf /etc/nginx/sites-enabled/

Установка и настройка системы DiFlow

Дистрибутив системы выкачивается при помощи git клиента:

git clone –b RELEASE_VERSION https://USERNAME:PASSWD@dl-git.distate.ru/diflow-TYPE.git /var/www/diflow

Параметры:

RELEASE_VERSION
USERNAME
PASSWD
TYPE

необходимо указывать в соответствии с данными, которые были переданы вам вместе с информацией по лицензии

Основной конфигурационный файл системы:

cp /var/www/diflow/app/config/parameters.yml.dist /var/www/diflow/app/config/parameters.yml

В конфигурационной файле /var/www/diflow/app/config/parameters.yml необходимо обязательно установить следующие параметры в соответствии с вашими данными:

database_name
database_user
database_password
mailer_host
app.console_server_name
email_sender.default_from
di_server.uri
di_server.token

Параметры di_server.token и di_server.uri выдаются вместе с лицензией.

Значение остальных параметров, указанных в файле, детально в нем описано

Установка Composer

cd /var/www/diflow
curl -sS https://getcomposer.org/installer | php
php composer.phar install

Установка данных в БД

Для настройки БД создайте и выполните bash скрипт с следующим содержимым:

export PGPASSWORD="myPassword"
Bundles=("CoreBundle" "MultiBundle" "TariffBundle")
for i in "${Bundles[@]}"; do
 for dumpfile in /var/www/diflow/src/DiFlow/$i/Resources/database/schema/*; do
  psql -h localhost -U diflow diflow3 < $dumpfile
 done
done
unset PGPASSWORD

myPassword - пароль для пользователя БД, указанный выше.

Заполнение справочника БИК, справочника налоговых органов, данных оператора ЭДО и очистка кэша:

cd /var/www/diflow/app
./console diflow:bik:update
./console diflow:tax_authorities:update
./console diflow:operator:update
./console diflow:tariff:migrate
./migrate.sh
./cleardtp_prod.sh
chown -R www-data:www-data /var/www/diflow

Настройка frontend

Установка менеджера версий npm

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
source /etc/profile

Установка нужной версии npm

nvm install v5.1.1

Установка фронтенд:

cd app/grunt/
npm install
npm install -g grunt
grunt build

Настройка планировщика задач

Для запуска периодических задач в системе, например таких как отправка почтовых уведомлений, необходимо настроить задачи cron. Для этого необходимо создать файл www-data в директории /var/spool/cron/crontabs/ со следующим содержимым:

*/5  *  * * * /var/www/diflow/app/console diflow:emails:send # запуск отправки почтовых уведомлений
30  1  * * * /var/www/diflow/app/console diflow:notification:renew # прерывание документооборота по пакетам
30  2  * * * /var/www/diflow/app/console diflow:flow:remove:expired # удаление истекших
0  0  1 * * /var/www/diflow/app/console diflow:bik:update #  Обновление справочника БИК
0  0  1 * * /var/www/diflow/app/console diflow:operator:update # проверка и обновление информации о операторе ЭДО

Далее необходимо назначить владельцем файла пользователя www-data:

chown www-data:crontab www-data
diflow_install.txt · Последние изменения: 2019/09/24 17:03 — madina