Установка для версии 3.18
ВНИМАНИЕ: Данная инструкция актуальна для версий 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 - echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" | sudo tee -a /etc/apt/sources.list.d/pgdg.list wget --quiet -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add - echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee -a /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 snmp-mibs-downloader postgresql-10 postgis nginx sudo apt install -y 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 sudo download-mibs
- выполните настройку 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" sudo sed -i "s@max_execution_time.*@max_execution_time = 120@" "/etc/php/7.1/fpm/php.ini" sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7.1/fpm/php.ini" sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7.1/fpm/pool.d/www.conf
- создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог /var/www/userside.
sudo mkdir -p /var/www/userside/userside3
- создайте сайт для nginx (или отредактируйте имеющийся сайт по умолчанию). Для этого создайте файл /etc/nginx/conf.d/userside.conf и поместите в него текст:
server { listen 80; server_name userside.mycompany.com; charset utf-8; client_max_body_size 50M; access_log /var/log/nginx/userside-access.log; error_log /var/log/nginx/userside-error.log; root /var/www/userside/userside3; index index.php; location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } location / { try_files $uri $uri/ =404; } location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires 1d; add_header Cache-Control "public"; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 600; include fastcgi_params; } location ~ /\.ht { deny all; } error_page 404 /404.php?type=404; error_page 403 /404.php?type=403; error_page 500 /404.php?type=500; location = /404.php { root /var/www/userside/userside3/main/error/; internal; } }
- выполните установку и/или настройку Redis
- перезапустите стек
sudo systemctl restart postgresql.service sudo systemctl restart nginx.service sudo systemctl restart php7.1-fpm.service
Инсталлятор
См. также: Инсталлятор
1) перейти в каталог системы (/var/www/userside)
2) запустить команду
php -r "copy('https://my.userside.eu/install', 'userside_install.phar');"
ЛИБО
скачать инсталлятор с личного кабинета https://my.userside.eu и положить его в каталог системы
3) запускаем инсталлятор
sudo -u www-data php userside_install.phar
В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы
По окончанию работы инсталлятора будет выведено сообщение об успешной установке.
Настройка системы
- открыть страницу системы http://userside.mydomain.com/oper/ и убедиться в работоспособности системы (имя пользователя: Admin, пароль: 1234)
- доступ к файлу API "/userside/userside3/api.php" рекомендуется ограничить на уровне веб-сервера для доступа лишь с разрешённых IP-адресов
- прописать планировщик UserSide в cron.
cat << EOF > /etc/cron.d/userside * * * * * www-data php /var/www/userside/userside cron > /dev/null 2>&1 EOF
- настроить взаимодействие с биллингом в соответствии с инструкциями
- в разделе "Настройка - Основная" изучите основные разделы, параметры и настройте систему под себя.
Крайне рекомендуется после установки системы установить периодическое (лучше - ежедневное) создание резервной копии штатными средствами PostgeSQL и её хранение НА ДРУГОМ ХОСТЕ. Например:
sudo -u postgres pg_dump -c -Fc userside > /backup/userside.dump
Восстановить сделанную таким образом резервную копию можно двумя способами:
1. Поверх существующей базы данных:
sudo -u postgres pg_restore -c --if-exists -d userside /backup/userside.dump
2. Или же восстановить вместе с созданием базы данных
sudo -u postgres pg_restore -c -C -d postgres /backup/userside.dump
Рекомендуется ознакомиться с инструкциями на странице: С чего начать?
Частозадаваемые вопросы (FAQ)
Ошибка 404 при проверке URL. Вероятней всего неверно настроен WEB-сервер. root (DocumentRoot) WEB-сервера должен указывать на каталог /var/www/userside/userside3