Установка для версии 3.18: различия между версиями
Admin (обсуждение | вклад) |
Uscld2 (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
* убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]] | * убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]] | ||
* установите postgresql, postgis, php, все необходимые расширения и веб-сервер. | * установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Для версии USERSIDE 3.13 мы рекомендуем использовать php7.2, для 3.11 - php7.1. Также рекомендуем использовать web-сервер nginx. Пример для Debian 9 (Stretch): | ||
sudo apt update | sudo apt update | ||
Строка 21: | Строка 21: | ||
sudo apt remove -y nginx-common apache2 | sudo apt remove -y nginx-common apache2 | ||
sudo apt autoremove -y | sudo apt autoremove -y | ||
sudo apt install -y snmp-mibs-downloader postgresql- | sudo apt install -y snmp-mibs-downloader postgresql-11 postgresql-11-postgis-2.5 nginx | ||
sudo apt install -y php7. | sudo apt install -y php7.2-fpm php7.2-cli php7.2-common php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-pgsql php7.2-readline php7.2-xml php7.2-zip php7.2-snmp php7.2-gd php7.2-soap | ||
sudo download-mibs | sudo download-mibs | ||
* выполните настройку PHP: укажите свой часовой пояс, желаемый объем POST-данных (если 50 Мб мало - укажите ваше предпочитаемое значение) и максимальное время выполнения (если в будущем будет мало, сможете изменить); и базовую настройку nginx, выполнив следующие команды: | * выполните настройку PHP: укажите свой часовой пояс, желаемый объем POST-данных (если 50 Мб мало - укажите ваше предпочитаемое значение) и максимальное время выполнения (если в будущем будет мало, сможете изменить); и базовую настройку nginx, выполнив следующие команды: | ||
sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7. | sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7. | sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/cli/php.ini" | ||
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7. | sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7. | sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7. | sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i "s@^user.*;@user www-data www-data;@" "/etc/nginx/nginx.conf" | 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. | sudo sed -i "s@max_execution_time.*@max_execution_time = 120@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7. | sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7.2/fpm/php.ini" | ||
sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7. | sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7.2/fpm/pool.d/www.conf | ||
* создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог '''/var/www/userside'''. | * создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог '''/var/www/userside'''. | ||
Строка 45: | Строка 45: | ||
server { | server { | ||
listen 80; | listen 80; | ||
server_name userside.mycompany.com; | server_name userside.mycompany.com; # ИЗМЕНИТЕ ЭТО ИМЯ | ||
charset utf-8; | charset utf-8; | ||
client_max_body_size 50M; | client_max_body_size 50M; | ||
Строка 58: | Строка 58: | ||
} | } | ||
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)$ { | 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; | access_log off; | ||
log_not_found off; | log_not_found off; | ||
expires | expires max; | ||
add_header Cache-Control "public"; | add_header Pragma public; | ||
add_header Cache-Control "public"; | |||
} | } | ||
location ~ \.php$ { | location ~ \.php$ { |
Версия от 09:31, 15 мая 2019
ВНИМАНИЕ: Данная инструкция актуальна для версий ERP "UserSide" 3.11 и выше. Для версии ниже 3.11 - используйте отдельную инструкцию по установке.
Подготовительные работы
- рекомендуется выполнять установку на любые Unix-системы. Рекомендуем использовать дистрибутивы Linux попроще и понадежнее, вроде Debian, CentOS или Ubuntu Server (FreeBSD тоже подойдет, если вы знаете, с чем имеете дело). Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера. Далее рассматривается пример установки на Linux Debian 9 Stretch с web-сервером nginx
- убедитесь, что ваша система соответствует необходимым техническим требованиям
- установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Для версии USERSIDE 3.13 мы рекомендуем использовать php7.2, для 3.11 - 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-11 postgresql-11-postgis-2.5 nginx sudo apt install -y php7.2-fpm php7.2-cli php7.2-common php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-pgsql php7.2-readline php7.2-xml php7.2-zip php7.2-snmp php7.2-gd php7.2-soap sudo download-mibs
- выполните настройку PHP: укажите свой часовой пояс, желаемый объем POST-данных (если 50 Мб мало - укажите ваше предпочитаемое значение) и максимальное время выполнения (если в будущем будет мало, сможете изменить); и базовую настройку nginx, выполнив следующие команды:
sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/fpm/php.ini" sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/cli/php.ini" sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.2/fpm/php.ini" sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.2/fpm/php.ini" sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.2/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.2/fpm/php.ini" sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7.2/fpm/php.ini" sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7.2/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 max; add_header Pragma public; 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