Користувальницькькі налаштування

Налаштування сайту


server

Налаштування віртуальної машини для роботи з PMon

Налаштування для Debian 11

Встановіть необхідний пакет для використання sudo:

apt install sudo -y

Встановіть необхідні залежності для роботи з пакетами через HTTPS:

sudo apt install apt-transport-https lsb-release ca-certificates wget -y

Додайте GPG-ключ для репозиторію PHP:

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Додайте репозиторій PHP до списку джерел пакетів:

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Оновіть інформацію про пакети:

sudo apt update

Виконайте оновлення пакетів:

sudo apt upgrade -y

Встановіть PHP версії 8.2 та необхідний модуль Apache:

sudo apt install php8.2 libapache2-mod-php8.2

Встановлення Redis-Server:

sudo apt-get install redis-server

Ввімкніть автозапуск служби Apache:

sudo systemctl enable apache2

Перезапустіть службу Apache для застосування змін:

sudo systemctl restart apache2

Встановіть необхідні модулі PHP:

sudo apt install php8.2-{bcmath,snmp,xml,mysql,zip,intl,ldap,gd,cli,imagick,curl,mbstring,pgsql,opcache,soap,cgi} -y

Встановіть Subversion:

sudo apt install subversion -y
sudo apt install php8.2 php8.2-cli php8.2-fpm -y

Перезапустіть знову Apache для застосування змін:

sudo systemctl restart apache2

Встановіть локаль для системи:

localectl set-locale LANG=en_US.UTF-8

Встановіть сервер баз даних MariaDB:

sudo apt install mariadb-server

Перевірте статус служби MariaDB:

sudo systemctl status mariadb

Ввімкніть автозапуск служби MariaDB:

sudo systemctl enable mariadb

Запустіть службу MariaDB:

sudo systemctl start mariadb

Налаштуйте безпеку сервера MariaDB:

sudo mysql_secure_installation

Увійдіть до MySQL:

sudo mysql -u root -p

Створіть базу даних “dbmonitor”:

CREATE DATABASE dbmonitor DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Надайте всі права користувачу “pmonuser” на базу даних:

GRANT ALL PRIVILEGES ON dbmonitor.* TO "pmonuser"@"localhost" IDENTIFIED BY "password123";
GRANT ALL PRIVILEGES ON dbmonitor.* TO "pmonuser"@"localhost";
FLUSH PRIVILEGES;
exit;

Знову перезапустіть службу Apache:

sudo systemctl restart apache2
timedatectl set-timezone Europe/Kiev
chmod +x /var/www/html/poller.php

chmod +x /var/www/html/monitor.php

Фіксик api.php

<VirtualHost *:80>
    ServerName your_domain.com
    DocumentRoot /var/www/html
    SetEnvIf Request_URI "^/api\.php$" internal_request
    SetEnvIf Remote_Addr "127\.0\.0\.1" internal_request
    SetEnvIf Remote_Addr "::1" internal_request
    CustomLog ${APACHE_LOG_DIR}/access.log combined env=!internal_request
</VirtualHost>

Налаштування Cron

CronPon призначений для створення процесу CRON, який забезпечує можливість управління на рівні операційної системи, включаючи запуск, зупинку та перезавантаження. Цей модуль спрощує автоматизацію завдань у системі PMon шляхом взаємодії безпосередньо з керуванням процесами операційної системи

CRON - основий

nano /etc/systemd/system/cronpon.service

Вміст:

[Unit]
Description=Pmon Worker
Wants=cronpon.timer

[Service]
Type=simple
ExecStart=/usr/bin/php /var/www/html/cron.php
User=www-data
Group=www-data
WorkingDirectory=/var/www/html
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/cronpon.timer

Вміст:

[Unit]
Description=Run project-worker every 10 seconds
Requires=cronpon.service

[Timer]
Unit=cronpon.service
OnCalendar=*:*:0/10

[Install]
WantedBy=timers.target

Додатковий функції:

sudo nano /etc/systemd/system/worker.service

Вміст:

[Unit]
Description=Worker for processing tasks from Redis queue
After=network.target

[Service]
ExecStart=/usr/bin/php /var/www/html/worker.php
WorkingDirectory=/var/www/html
Restart=always
User=www-data
Group=www-data
RestartSec=5
StandardOutput=journal
StandardError=inherit

[Install]
WantedBy=multi-user.target

Збережіть файл і перезавантажте конфігурацію systemd

sudo systemctl daemon-reload

Активуйте та запустіть сервіс

sudo systemctl enable cronpon.service
sudo systemctl start cronpon.service
sudo systemctl enable worker
sudo systemctl start worker

Перевірка статусу

systemctl status cronpon

Налаштування Mod_Rewrite

Включити mod_rewrite

sudo a2enmod rewrite

Перезапустити службу Apache

sudo systemctl restart apache2

Редагувати apache2.conf:

Знайти в файлі /etc/apache2/apache2.conf:

AllowOverride none

Замінити на

AllowOverride All

Встановлення Composer

cd /var/www/html/
wget https://getcomposer.org/composer.phar
chmod a+x composer.phar
sudo mv composer.phar /usr/local/bin/composer

Встановлення Symfony, Spatie, JJG\Ping

cd /var/www/html/
composer require symfony/process
composer require predis/predis
composer require enqueue/redis 
composer require enqueue/simple-client

Використовується для моніторингу Ip-address

composer require geerlingguy/ping
server.txt · Востаннє змінено: 2024/08/23 12:27 повз momotuk88

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki