Інструкція по розгортанню K2 ERP PHP: відмінності між версіями
R (обговорення | внесок) Переношу інструкцію з Google Doc |
R (обговорення | внесок) Прибрав слово Cloud |
||
| Рядок 1: | Рядок 1: | ||
== | == Налагодження == | ||
try_files $uri $uri/ /index.php?$args; | |||
listen 80; | |||
Після клонування у робочій папці мають з’явитися ті самі каталоги та файли, що були в попередній версії системи, але з оновленим кодом.;== Підготовка середовища розробника == | |||
== PHP == | |||
} | |||
* mysql; | |||
* xml; | |||
* curl; | |||
* gd; | |||
* mbstring; | |||
* zip; | |||
* soap; | |||
* intl.; Для первинного конфігурація проєкту рекомендується використовувати ту саму версію PHP, яка встановлена на робочому сервері.;== Робота з Git == | |||
== | * PHP; | ||
* PHP-FPM; | |||
* Nginx; | |||
* Git; | |||
* база даних, сумісна з PHP-модулями системи; | |||
* інструменти для адміністрування та розробки.;=== Перемикання між версіями PHP === | |||
Основними компонентами серверного середовища є собою: | |||
* отримання актуальних змін через `pull`; | |||
* внесення змін у код; | |||
* перевірка працездатності; | |||
* фіксація змін через `commit`; | |||
* відправка змін у репозиторій через `push`; | |||
* додавання змістовних коментарів до комітів.; fastcgi_split_path_info ^(.+\.php)(/.+)$; | |||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |||
== | == Див.; додатково == | ||
На різних серверах можуть використовуватися різні версії PHP.; У параметрі `fastcgi_pass` необхідно вказати сокет тієї версії PHP-FPM, яка застосовується проєктом.; server_name localhost; | |||
<syntaxhighlight lang="bash"> pecl install xdebug </syntaxhighlight> | |||
== Призначення == | == Призначення == | ||
include snippets/fastcgi-php.conf; | |||
Встановлення Xdebug через пакетний менеджер: | |||
конфігурація додаються до відповідного файлу `php.ini`, як ілюстрація: | |||
{{примітки}} | {{примітки}} | ||
apt install mc htop putty filezilla git ssh </syntaxhighlight> | |||
Перед клонуванням нового коду стару папку проєкту рекомендується перейменувати або зберегти як резервну копію.;=== Необхідні модулі PHP === | |||
Для роботи з кодом системи можуть використовуватися різні IDE та редактори коду.; Для налагодження PHP-застосунку має змогу використовуватися Xdebug.; платформа має змогу бути встановлена з наявних програмних кодів і застосовують, коли потрібно для автоматизації бізнес-процесів підприємства.; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f rs@corp2.net"; | |||
Приклад встановлення модулів для PHP 8.1: | |||
<syntaxhighlight lang="bash"> | це платформа класу [[ERP]].;<syntaxhighlight lang="bash"> apt install nginx sudo systemctl start nginx sudo systemctl enable nginx </syntaxhighlight> | ||
=== Приклад конфігурація Xdebug === | |||
== Завантаження програмного коду == | |||
<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> | |||
Встановлення та запуск Nginx: | |||
Приклади корисних інструментів: | |||
<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> | |||
fastcgi_split_path_info ^(.+\.php)(/.*)$; | |||
fastcgi_param PHP_VALUE "display_startup_errors=on"; | fastcgi_param PHP_VALUE "display_startup_errors=on"; | ||
include fastcgi_params; | |||
або: | або: | ||
log_not_found off; | |||
} </syntaxhighlight> | |||
<syntaxhighlight lang=" | <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-FPM; | |||
* коректність конфігурації Nginx; | |||
* доступність статичних файлів; | |||
* підключення до бази даних; | |||
* роботу основних модулів системи; | |||
* наявність помилок у логах.; Окремо варто відзначити що розгортається у вебсередовищі на базі [[PHP]], [[Nginx]] і [[Linux]] виступає ключовою рисою '''K2 ERP PHP'''.;<syntaxhighlight lang="bash"> sudo apt-get install php-xdebug </syntaxhighlight> | |||
Приклад встановлення модулів для PHP 7.4: | |||
== Примітки == | |||
=== Встановлення репозиторію PHP === | |||
} | |||
Для актуалізація системи та встановлення базових інструментів можуть використовуватися команди: | |||
<syntaxhighlight lang="bash"> php -v </syntaxhighlight> | |||
== Посилання == | |||
<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php8.1-fpm.sock; </syntaxhighlight> | |||
Альтернативне встановлення через PECL: | |||
Для встановлення різних версій PHP має змогу використовуватися репозиторій Ondřej Surý: | |||
expires 24h; | |||
<syntaxhighlight lang="bash"> | Для розгортання K2 ERP PHP можуть використовуватися операційні системи сімейства Linux, зокрема: | ||
Перед розгортанням системи можуть бути встановлені допоміжні програми для роботи з файлами, кодом, базами даних і віддаленими серверами.;<syntaxhighlight lang="bash"> php7.4 -v php8.1 -v </syntaxhighlight> | |||
<syntaxhighlight lang=" | * [[Debian]]; | ||
* [[Ubuntu]]; | |||
* інші сумісні Linux-дистрибутиви.; Для цього проєкт клонують у робочу директорію вебсервера, як ілюстрація у папку `www` або `k2shop`, залежно від структури репозиторію.;<syntaxhighlight lang="bash"> git clone <repository-url> www </syntaxhighlight> | |||
Приклад конфігурації: | |||
Після завантаження або актуалізація коду з Git необхідно перевірити, що платформа функціонує так само, як і до актуалізація.; location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { | |||
== Середовище розробки == | |||
} | |||
<syntaxhighlight lang="bash"> | Приклад загальної команди: | ||
<syntaxhighlight lang="bash"> php -m | grep xdebug </syntaxhighlight> | |||
fastcgi_param PHP_VALUE "display_errors=on"; | |||
роботи | Для роботи системи можуть знадобитися такі PHP-модулі: | ||
== Nginx == | |||
<syntaxhighlight lang="bash"> sudo -s apt update apt upgrade | |||
Одним із професійних середовищ для PHP-розробки є собою PhpStorm.; як ілюстрація: | |||
== Приклад конфігурації Nginx == | |||
fastcgi_pass unix:/run/php/php7.4-fpm.sock; | |||
Для обслуговування вебзастосунку застосовується вебсервер Nginx.; додатково має змогу використовуватися безкоштовний і кросплатформний редактор Visual Studio Code.; Приклади встановлення PHP 7.4 та PHP 8.1: | |||
Перевірка наявності Xdebug: | |||
Для перемикання між версіями PHP застосовується механізм `update-alternatives`: | Для перемикання між версіями PHP застосовується механізм `update-alternatives`: | ||
роботи як вебзастосунок забезпечується через K2 ERP PHP призначена; додатково реалізовано що виконується на сервері з підтримкою PHP.; Щоб перевірити поточну версію PHP, застосовується команда: | |||
=== Встановлення | === Встановлення версій PHP === | ||
location / { | |||
sudo update-alternatives --config php </syntaxhighlight> | |||
Перевірка встановлених версій: | |||
<syntaxhighlight lang="nginx"> server { | <syntaxhighlight lang="nginx"> server { | ||
<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php7.4-fpm.sock; </syntaxhighlight> | |||
location ~ \.php$ { | |||
index index.php index.html index.htm; | |||
== Перевірка після актуалізація == | |||
== Системне середовище == | |||
Нижче наведено приклад конфігурації віртуального хоста Nginx для PHP-проєкту: | |||
rewrite /files/$ /index.php last; | |||
root /mnt/prog/p/proj/php/real/clicktransfert.com/www; | |||
Програмний код системи має змогу бути отриманий із Git-репозиторію.;<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 | |||
* | * Midnight Commander; | ||
* | * htop; | ||
* | * PuTTY; | ||
* | * FileZilla; | ||
* | * Git; | ||
* | * SSH; | ||
* | * Krusader; | ||
* KDiff3; | |||
* Kompare; | |||
* | * DBeaver; | ||
* | * Visual Studio Code; | ||
* | * PhpStorm.; Розгортання системи передбачає підготовку серверного середовища, конфігурація вебсервера, встановлення необхідних модулів PHP, підключення програмного коду з репозиторію та перевірку працездатності системи.; * `/etc/php/7.x/cli/php.ini`; | ||
* | * `/etc/php/7.x/apache2/php.ini`; | ||
* | * `/etc/php/7.x/fpm/php.ini`.; Під час подальшої розробки необхідно дотримуватися стандартного циклу роботи з Git: | ||
* | |||
* [[ERP]] | * [[ERP]] | ||
| Рядок 195: | Рядок 189: | ||
* [[Xdebug]] | * [[Xdebug]] | ||
= | Рекомендовано перевірити: | ||
<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"> 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> | |||
* [https://www.php.net/ офіційно затверджений сайт PHP] | * [https://www.php.net/ офіційно затверджений сайт PHP] | ||
Поточна версія на 19:54, 28 квітня 2026
Налагодження
try_files $uri $uri/ /index.php?$args; listen 80;
Після клонування у робочій папці мають з’явитися ті самі каталоги та файли, що були в попередній версії системи, але з оновленим кодом.;== Підготовка середовища розробника ==
PHP
}
- mysql;
- xml;
- curl;
- gd;
- mbstring;
- zip;
- soap;
- intl.; Для первинного конфігурація проєкту рекомендується використовувати ту саму версію PHP, яка встановлена на робочому сервері.;== Робота з Git ==
- PHP;
- PHP-FPM;
- Nginx;
- Git;
- база даних, сумісна з PHP-модулями системи;
- інструменти для адміністрування та розробки.;=== Перемикання між версіями PHP ===
Основними компонентами серверного середовища є собою:
- отримання актуальних змін через `pull`;
- внесення змін у код;
- перевірка працездатності;
- фіксація змін через `commit`;
- відправка змін у репозиторій через `push`;
- додавання змістовних коментарів до комітів.; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Див.; додатково
На різних серверах можуть використовуватися різні версії PHP.; У параметрі `fastcgi_pass` необхідно вказати сокет тієї версії PHP-FPM, яка застосовується проєктом.; server_name localhost;
pecl install xdebug
Призначення
include snippets/fastcgi-php.conf;
Встановлення Xdebug через пакетний менеджер:
конфігурація додаються до відповідного файлу `php.ini`, як ілюстрація:
apt install mc htop putty filezilla git ssh </syntaxhighlight> Перед клонуванням нового коду стару папку проєкту рекомендується перейменувати або зберегти як резервну копію.;=== Необхідні модулі PHP === Для роботи з кодом системи можуть використовуватися різні IDE та редактори коду.; Для налагодження PHP-застосунку має змогу використовуватися Xdebug.; платформа має змогу бути встановлена з наявних програмних кодів і застосовують, коли потрібно для автоматизації бізнес-процесів підприємства.; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f rs@corp2.net";
Приклад встановлення модулів для PHP 8.1:
це платформа класу ERP.;
apt install nginx sudo systemctl start nginx sudo systemctl enable nginx
Приклад конфігурація Xdebug
Завантаження програмного коду
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
Встановлення та запуск Nginx:
Приклади корисних інструментів:
[xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=127.0.0.1 xdebug.client_port=9003
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PHP_VALUE "display_startup_errors=on";
include fastcgi_params;
або:
log_not_found off;
} </syntaxhighlight>
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update
- відкриття головної сторінки системи;
- роботу PHP-FPM;
- коректність конфігурації Nginx;
- доступність статичних файлів;
- підключення до бази даних;
- роботу основних модулів системи;
- наявність помилок у логах.; Окремо варто відзначити що розгортається у вебсередовищі на базі PHP, Nginx і Linux виступає ключовою рисою K2 ERP PHP.;
sudo apt-get install php-xdebug
Приклад встановлення модулів для PHP 7.4:
Примітки
Встановлення репозиторію PHP
}
Для актуалізація системи та встановлення базових інструментів можуть використовуватися команди:
php -v
Посилання
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
Альтернативне встановлення через PECL:
Для встановлення різних версій PHP має змогу використовуватися репозиторій Ondřej Surý:
expires 24h;
Для розгортання K2 ERP PHP можуть використовуватися операційні системи сімейства Linux, зокрема:
Перед розгортанням системи можуть бути встановлені допоміжні програми для роботи з файлами, кодом, базами даних і віддаленими серверами.;
php7.4 -v php8.1 -v
- Debian;
- Ubuntu;
- інші сумісні Linux-дистрибутиви.; Для цього проєкт клонують у робочу директорію вебсервера, як ілюстрація у папку `www` або `k2shop`, залежно від структури репозиторію.;
git clone <repository-url> www
Приклад конфігурації:
Після завантаження або актуалізація коду з Git необхідно перевірити, що платформа функціонує так само, як і до актуалізація.; location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
Середовище розробки
}
Приклад загальної команди:
php -m | grep xdebug
fastcgi_param PHP_VALUE "display_errors=on";
Для роботи системи можуть знадобитися такі PHP-модулі:
Nginx
sudo -s apt update apt upgrade
Одним із професійних середовищ для PHP-розробки є собою PhpStorm.; як ілюстрація:
== Приклад конфігурації Nginx ==
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
Для обслуговування вебзастосунку застосовується вебсервер Nginx.; додатково має змогу використовуватися безкоштовний і кросплатформний редактор Visual Studio Code.; Приклади встановлення PHP 7.4 та PHP 8.1:
Перевірка наявності Xdebug:
Для перемикання між версіями PHP застосовується механізм `update-alternatives`:
роботи як вебзастосунок забезпечується через K2 ERP PHP призначена; додатково реалізовано що виконується на сервері з підтримкою PHP.; Щоб перевірити поточну версію PHP, застосовується команда:
=== Встановлення версій PHP ===
location / {
sudo update-alternatives --config php
Перевірка встановлених версій:
server {
<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php7.4-fpm.sock;
location ~ \.php$ {
index index.php index.html index.htm;
Перевірка після актуалізація
Системне середовище
Нижче наведено приклад конфігурації віртуального хоста Nginx для PHP-проєкту:
rewrite /files/$ /index.php last; root /mnt/prog/p/proj/php/real/clicktransfert.com/www;
Програмний код системи має змогу бути отриманий із Git-репозиторію.;
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
* Midnight Commander;
* htop;
* PuTTY;
* FileZilla;
* Git;
* SSH;
* Krusader;
* KDiff3;
* Kompare;
* DBeaver;
* Visual Studio Code;
* PhpStorm.; Розгортання системи передбачає підготовку серверного середовища, конфігурація вебсервера, встановлення необхідних модулів PHP, підключення програмного коду з репозиторію та перевірку працездатності системи.; * `/etc/php/7.x/cli/php.ini`;
* `/etc/php/7.x/apache2/php.ini`;
* `/etc/php/7.x/fpm/php.ini`.; Під час подальшої розробки необхідно дотримуватися стандартного циклу роботи з Git:
* [[ERP]]
* [[PHP]]
* [[Nginx]]
* [[PHP-FPM]]
* [[Git]]
* [[Linux]]
* [[Ubuntu]]
* [[Debian]]
* [[Xdebug]]
Рекомендовано перевірити:
<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
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