Інструкція по розгортанню K2 ERP PHP

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Версія від 19:54, 28 квітня 2026, створена R (обговорення | внесок) (Прибрав слово Cloud)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

K2 ERP PHP — це система класу ERP, що розгортається у вебсередовищі на базі PHP, Nginx та Linux. Система може бути встановлена з наявних програмних кодів і використовується для автоматизації бізнес-процесів підприємства.

Призначення

K2 ERP PHP призначена для роботи як вебзастосунок, що виконується на сервері з підтримкою PHP. Розгортання системи передбачає підготовку серверного середовища, налаштування вебсервера, встановлення необхідних модулів PHP, підключення програмного коду з репозиторію та перевірку працездатності системи.

Системне середовище

Для розгортання K2 ERP PHP можуть використовуватися операційні системи сімейства Linux, зокрема:

  • Debian;
  • Ubuntu;
  • інші сумісні Linux-дистрибутиви.

Основними компонентами серверного середовища є:

  • PHP;
  • PHP-FPM;
  • Nginx;
  • Git;
  • база даних, сумісна з PHP-модулями системи;
  • інструменти для адміністрування та розробки.

Підготовка середовища розробника

Перед розгортанням системи можуть бути встановлені допоміжні програми для роботи з файлами, кодом, базами даних і віддаленими серверами.

Приклади корисних інструментів:

  • Midnight Commander;
  • htop;
  • PuTTY;
  • FileZilla;
  • Git;
  • SSH;
  • Krusader;
  • KDiff3;
  • Kompare;
  • DBeaver;
  • Visual Studio Code;
  • PhpStorm.

Для оновлення системи та встановлення базових інструментів можуть використовуватися команди:

<syntaxhighlight lang="bash"> sudo -s apt update apt upgrade

apt install mc htop putty filezilla git ssh </syntaxhighlight>

PHP

На різних серверах можуть використовуватися різні версії PHP. Для первинного налаштування проєкту рекомендується використовувати ту саму версію PHP, яка встановлена на робочому сервері.

Щоб перевірити поточну версію PHP, використовується команда:

<syntaxhighlight lang="bash"> php -v </syntaxhighlight>

Встановлення репозиторію PHP

Для встановлення різних версій PHP може використовуватися репозиторій Ondřej Surý:

<syntaxhighlight lang="bash"> sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update </syntaxhighlight>

Встановлення версій PHP

Приклади встановлення PHP 7.4 та PHP 8.1:

<syntaxhighlight lang="bash"> sudo apt-get install php7.4 php7.4-cli php7.4-fpm sudo apt-get install php8.1 php8.1-cli php8.1-fpm </syntaxhighlight>

Перевірка встановлених версій:

<syntaxhighlight lang="bash"> php7.4 -v php8.1 -v </syntaxhighlight>

Перемикання між версіями PHP

Для перемикання між версіями PHP використовується механізм `update-alternatives`:

<syntaxhighlight lang="bash"> sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74 sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 81

sudo update-alternatives --config php </syntaxhighlight>

Необхідні модулі PHP

Для роботи системи можуть знадобитися такі PHP-модулі:

  • mysql;
  • xml;
  • curl;
  • gd;
  • mbstring;
  • zip;
  • soap;
  • intl.

Приклад встановлення модулів для PHP 8.1:

<syntaxhighlight lang="bash"> sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-xml php8.1-curl php8.1-gd php8.1-mbstring php8.1-zip php8.1-soap php8.1-intl </syntaxhighlight>

Приклад встановлення модулів для PHP 7.4:

<syntaxhighlight lang="bash"> sudo apt install php7.4-fpm php7.4-cli php7.4-mysql php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-zip php7.4-soap php7.4-intl </syntaxhighlight>

Nginx

Для обслуговування вебзастосунку використовується вебсервер Nginx.

Встановлення та запуск Nginx:

<syntaxhighlight lang="bash"> apt install nginx sudo systemctl start nginx sudo systemctl enable nginx </syntaxhighlight>

Приклад конфігурації Nginx

Нижче наведено приклад конфігурації віртуального хоста Nginx для PHP-проєкту:

<syntaxhighlight lang="nginx"> server {

   listen 80;
   server_name localhost;
   root /mnt/prog/p/proj/php/real/clicktransfert.com/www;
   index index.php index.html index.htm;
   location / {
       try_files $uri $uri/ /index.php?$args;
   }
   location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
       expires 24h;
       log_not_found off;
   }
   rewrite /files/$ /index.php last;
   location ~ \.php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_split_path_info ^(.+\.php)(/.*)$;
       fastcgi_pass unix:/run/php/php7.4-fpm.sock;
       fastcgi_param PHP_VALUE "display_errors=on";
       fastcgi_param PHP_VALUE "display_startup_errors=on";
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f rs@corp2.net";
   }

} </syntaxhighlight>

У параметрі `fastcgi_pass` необхідно вказати сокет тієї версії PHP-FPM, яка використовується проєктом. Наприклад:

<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php7.4-fpm.sock; </syntaxhighlight>

або:

<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php8.1-fpm.sock; </syntaxhighlight>

Налагодження

Для налагодження PHP-застосунку може використовуватися Xdebug.

Перевірка наявності Xdebug:

<syntaxhighlight lang="bash"> php -m | grep xdebug </syntaxhighlight>

Встановлення Xdebug через пакетний менеджер:

<syntaxhighlight lang="bash"> sudo apt-get install php-xdebug </syntaxhighlight>

Альтернативне встановлення через PECL:

<syntaxhighlight lang="bash"> pecl install xdebug </syntaxhighlight>

Приклад налаштування Xdebug

Налаштування додаються до відповідного файлу `php.ini`, наприклад:

  • `/etc/php/7.x/cli/php.ini`;
  • `/etc/php/7.x/apache2/php.ini`;
  • `/etc/php/7.x/fpm/php.ini`.

Приклад конфігурації:

<syntaxhighlight lang="ini"> [xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=127.0.0.1 xdebug.client_port=9003 </syntaxhighlight>

Середовище розробки

Для роботи з кодом системи можуть використовуватися різні IDE та редактори коду.

Одним із професійних середовищ для PHP-розробки є PhpStorm. Також може використовуватися безкоштовний і кросплатформний редактор Visual Studio Code.

Завантаження програмного коду

Програмний код системи може бути отриманий із Git-репозиторію. Для цього проєкт клонують у робочу директорію вебсервера, наприклад у папку `www` або `k2shop`, залежно від структури репозиторію.

Перед клонуванням нового коду стару папку проєкту рекомендується перейменувати або зберегти як резервну копію.

Приклад загальної команди:

<syntaxhighlight lang="bash"> git clone <repository-url> www </syntaxhighlight>

Після клонування у робочій папці мають з’явитися ті самі каталоги та файли, що були в попередній версії системи, але з оновленим кодом.

Перевірка після оновлення

Після завантаження або оновлення коду з Git необхідно перевірити, що система працює так само, як і до оновлення.

Рекомендовано перевірити:

  • відкриття головної сторінки системи;
  • роботу PHP-FPM;
  • коректність конфігурації Nginx;
  • доступність статичних файлів;
  • підключення до бази даних;
  • роботу основних модулів системи;
  • наявність помилок у логах.

Робота з Git

Під час подальшої розробки необхідно дотримуватися стандартного циклу роботи з Git:

  • отримання актуальних змін через `pull`;
  • внесення змін у код;
  • перевірка працездатності;
  • фіксація змін через `commit`;
  • відправка змін у репозиторій через `push`;
  • додавання змістовних коментарів до комітів.

Див. також

Примітки

Шаблон:Примітки

Посилання