DiState:Организатор ЭДО и DiState:Оператор ЭДО
Установка Серверного ПО
Вопросы и ответы
DiState:Организатор ЭДО и DiState:Оператор ЭДО
Установка Серверного ПО
Вопросы и ответы
Установка программного продукта 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
Настройка 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; }
Создание символической ссылки:
ln -s /etc/nginx/sites-available/diflow3.conf /etc/nginx/sites-enabled/
Дистрибутив системы выкачивается при помощи 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
Установка 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
Заполнение справочника БИК, справочника налоговых органов, данных оператора ЭДО и очистка кэша:
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