Установка: различия между версиями

Материал из WiKi - UserSide
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
== Подготовительные работы ==
== Подготовительные работы ==


* рекомендуется выполнять установку на FreeBSD/Linux-системы. Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера.
* рекомендуется выполнять установку на любые Unix-системы. Рекомендуем использовать дистрибутивы Linux попроще и понадежнее, вроде Debian, CentOS или Ubuntu Server (FreeBSD тоже подойдет, если вы знаете, с чем имеете дело). Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера. Далее рассматривается пример установки на Linux Debian 9 Stretch с web-сервером nginx


* убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]]
* убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]]


* настроить веб-сервер и добавить в него доменное имя/проект для UserSide
* установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Мы рекомендуем использовать php7.1 и web-сервер nginx. Пример для Debian 9 (Stretch):


* опционально настроить виртуальный хост следующим образом ''(пример для Apache24 Debian/Ubuntu)''
  sudo apt update
  sudo apt install -y apt-transport-https lsb-release ca-certificates
  wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list
  wget --quiet -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
  sudo echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" >> /etc/apt/sources.list.d/nginx.list
  sudo echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" >> /etc/apt/sources.list.d/nginx.list
  sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
  sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
  sudo apt update
  sudo apt remove -y nginx-common apache2
  sudo apt autoremove -y
  sudo apt install -y postgresql-10 nginx php7.1-fpm php7.1-cli php7.1-common php7.1-curl php7.1-intl php7.1-json php7.1-mbstring php7.1-opcache php7.1-pgsql php7.1-readline php7.1-xml php7.1-zip php7.1-snmp php7.1-gd php7.1-soap
 
* выполните настройку PHP (укажите свой часовой пояс и желаемый объем POST-данных, если 50 Мб мало) и базовую настройку nginx, выполнив следующие команды:


  Исходные данные следующие:
  sudo sed -i "s@.*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.1/fpm/php.ini"
а) файлы и каталоги приложения USERSIDE расположены в каталоге /var/www/userside/
  sudo sed -i "s@.*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.1/cli/php.ini"
  б) адрес сайта виртуального хоста userside.mydomain.com
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.1/fpm/php.ini"
sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.1/fpm/php.ini"
<VirtualHost *:80>
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.1/fpm/php.ini"
    ServerAdmin webmaster@yourdomain.name
sudo sed -i "s@user.*;@user  www-data www-data;@" "/etc/nginx/nginx.conf"
    DocumentRoot "/var/www/userside/userside3"
    ServerName userside.mydomain.com
    ErrorLog "/var/log/apache2/userside-main-error.log"
    CustomLog "/var/log/apache2/userside-main-access.log" common
    <Directory "/var/www/userside/userside3">
        Options -Indexes
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>


* в MySQL-сервере переменную ''max_allowed_packet'' нужно увеличить до "10M" ''(файл my.cnf/my.ini)''
* создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог '''/var/www/usersude'''.


* создать базу данных на сервере MySQL с названием '''userside''' и кодировкой '''utf8'''
  mkdir -p /var/www/userside/userside3


* выполнить [[Установка PostgreSQL|установку и/или настройку PostgreSQL]]
* создайте сайт для nginx (или отредактируйте имеющийся сайт по умолчанию) выполнив команду:


* установить PostGIS ''(apt-get install postgis)'' (http://postgis.net/install/)
  sudo cat << EOF > /etc/nginx/conf.d/userside.conf
  ....
  EOF


* выделить отдельный каталог ''(напр. /var/www/userside/)''
* выполните[[Установка PostgreSQL|установку и/или настройку PostgreSQL и расширения Postgis]]


== Инсталлятор ==
== Инсталлятор ==
Строка 56: Строка 62:
3) запускаем инсталлятор
3) запускаем инсталлятор


  php userside_install.phar
  sudo -u www-data php userside_install.phar


В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы
В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы
[[Файл:20170702_2.png|thumb|800px|center]]


По окончанию работы инсталлятора будет выведено сообщение об успешной установке.
По окончанию работы инсталлятора будет выведено сообщение об успешной установке.

Версия от 10:56, 27 февраля 2018

ВНИМАНИЕ: Данная инструкция актуальна для версий ERP "UserSide" 3.11 и выше. Для версии ниже 3.11 - используйте отдельную инструкцию по установке.

Подготовительные работы

  • рекомендуется выполнять установку на любые Unix-системы. Рекомендуем использовать дистрибутивы Linux попроще и понадежнее, вроде Debian, CentOS или Ubuntu Server (FreeBSD тоже подойдет, если вы знаете, с чем имеете дело). Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера. Далее рассматривается пример установки на Linux Debian 9 Stretch с web-сервером nginx
  • установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Мы рекомендуем использовать php7.1 и web-сервер nginx. Пример для Debian 9 (Stretch):
 sudo apt update
 sudo apt install -y apt-transport-https lsb-release ca-certificates
 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list
 wget --quiet -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
 sudo echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" >> /etc/apt/sources.list.d/nginx.list
 sudo echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" >> /etc/apt/sources.list.d/nginx.list
 sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
 sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
 sudo apt update
 sudo apt remove -y nginx-common apache2
 sudo apt autoremove -y
 sudo apt install -y postgresql-10 nginx php7.1-fpm php7.1-cli php7.1-common php7.1-curl php7.1-intl php7.1-json php7.1-mbstring php7.1-opcache php7.1-pgsql php7.1-readline php7.1-xml php7.1-zip php7.1-snmp php7.1-gd php7.1-soap
 
  • выполните настройку PHP (укажите свой часовой пояс и желаемый объем POST-данных, если 50 Мб мало) и базовую настройку nginx, выполнив следующие команды:
sudo sed -i "s@.*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.1/fpm/php.ini"
sudo sed -i "s@.*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.1/cli/php.ini"
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.1/fpm/php.ini"
sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.1/fpm/php.ini"
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.1/fpm/php.ini"
sudo sed -i "s@user.*;@user  www-data www-data;@" "/etc/nginx/nginx.conf"
  • создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог /var/www/usersude.
 mkdir -p /var/www/userside/userside3
  • создайте сайт для nginx (или отредактируйте имеющийся сайт по умолчанию) выполнив команду:
 sudo cat << EOF > /etc/nginx/conf.d/userside.conf
 ....
 EOF 

Инсталлятор

См. также: Инсталлятор

1) перейти в каталог системы (/var/www/userside)

2) запустить команду

php -r "copy('http://my.userside.eu/install', 'userside_install.phar');" 

ЛИБО

скачать инсталлятор с личного кабинета http://my.userside.eu и положить его в каталог системы

3) запускаем инсталлятор

sudo -u www-data php userside_install.phar

В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы

По окончанию работы инсталлятора будет выведено сообщение об успешной установке.

Настройка системы

  • открыть страницу системы http://userside.mydomain.com/oper/ и убедиться в работоспособности системы (имя пользователя: Admin, пароль: 1234)
  • на уровне файла .htaccess запретить просмотр листинга каталогов
  • доступ к файлу API "/userside/userside3/api.php" рекомендуется ограничить на уровне веб-сервера для доступа лишь с разрешённых IP-адресов
  • прописать планировщик UserSide в cron.
* * * * *   www-data   php /var/www/userside/userside cron > /dev/null 2>&1

Крайне рекомендуется после установки системы установить периодическое (лучше - ежедневное) создание резервной копии штатными средствами MySQL и PostgeSQL и её хранение НА ДРУГОМ КОМПЬЮТЕРЕ. Например:

mysqldump -uroot -pPASS userside > /var/www/userside.sql
pg_dump userside > /var/www/userside_pg.sql


Рекомендуется ознакомиться с инструкциями на странице: С чего начать?