Гид по технологиям

Установка InvoicePlane на CentOS 7

• 5 min read • Инструкции • Обновлено 28 Nov 2025
Установка InvoicePlane на CentOS 7
Установка InvoicePlane на CentOS 7

Коротко о том, что такое InvoicePlane

InvoicePlane — бесплатное и открытое приложение для выставления счётов. Код проекта доступен на GitHub. Это руководство описывает установку на чистую CentOS 7 с Nginx, PHP-FPM и MariaDB.

Важные термины

  • PHP-FPM: менеджер процессов PHP для работы с веб-серверами.
  • Nginx: веб-сервер и обратный прокси.
  • MariaDB: совместимая с MySQL система управления базами данных.

Требования

  • Веб-сервер: Nginx (в руководстве используется Nginx). Apache — альтернативный вариант.
  • MariaDB или MySQL версии 5.5 и выше.
  • PHP 7.0 или выше с установленными расширениями:
    • php-gd
    • php-hash
    • php-json
    • php-mbstring
    • php-mcrypt
    • php-mysqli
    • php-openssl
    • php-recode
    • php-xmlrpc
    • php-zlib

Необходимые условия перед началом

  • Сервер с CentOS 7.
  • Непользователь root с правами sudo.

Начальные шаги

Проверьте версию CentOS:

cat /etc/centos-release  
# CentOS Linux release 7.6.1810 (Core)

Настройте временную зону (пример: Europe/Moscow или нужный вам регион):

timedatectl list-timezones  
sudo timedatectl set-timezone 'Region/City'

Обновите пакеты ОС:

sudo yum update -y

Установите базовые утилиты:

sudo yum install -y vim wget curl git bash-completion unzip

Шаг 1 — Установка PHP и расширений

InvoicePlane требует PHP 7.0+. В стандартных репозиториях CentOS 7 обычно старые версии PHP, поэтому используем сторонний репозиторий Webtatic для установки PHP 7.2.

Добавьте репозиторий Webtatic:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Установите PHP и нужные расширения:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-gd php72w-json php72w-mbstring php72w-mcrypt php72w-mysql php72w-xmlrpc php72w-recode

Проверьте версию PHP:

php --version  

# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )

Запустите и включите автозапуск PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Важно: при смене пользователя в настройках PHP-FPM убедитесь, что совпадают права с пользователем веб-сервера (далее в разделе установки).

Шаг 2 — Установка MariaDB

Установите сервер баз данных MariaDB:

sudo yum install -y mariadb-server

Проверьте версию:

mysql --version  
# mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

Запустите и включите автозапуск:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Запустите скрипт безопасной настройки MariaDB и установите пароль root:

sudo mysql_secure_installation

Обычно отвечайте утилите так, чтобы удалить анонимных пользователей, запретить удалённый вход для root и удалить тестовую базу:

Enter current password for root (enter for none):
Set root password? [Y/n]: Y
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Войдите в MariaDB и создайте базу и пользователя для InvoicePlane:

mysql -u root -p  
# Введите пароль

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

quit

Запомните имя базы, юзера и пароль — они нужны при веб-инсталляции.

Шаг 3 — Установка Nginx

Установите Nginx:

sudo yum install -y nginx

Проверьте версию:

nginx -v  
# nginx version: nginx/1.12.2

Запустите и включите автозапуск:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Создайте конфигурацию для InvoicePlane: откройте /etc/nginx/conf.d/invoiceplane.conf и вставьте:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /var/www/invoiceplane;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
    }
}

Проверьте конфигурацию и перезагрузите Nginx:

sudo nginx -t
sudo systemctl reload nginx.service

Примечание: при использовании unix-сокета fastcgi_pass может быть типа unix:/run/php-fpm/www.sock — проверьте настройки php-fpm и согласуйте путь.

Шаг 4 — Установка InvoicePlane

Скачайте последнюю стабильную версию и распакуйте в /var/www:

sudo mkdir -p /var/www
cd /var/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane

Перейдите в каталог приложения:

cd /var/www/invoiceplane

Создайте файл конфигурации на основе примера:

sudo cp ipconfig.php.example ipconfig.php

Откройте ipconfig.php и укажите URL вашего сайта:

sudo vim ipconfig.php
# Пример
IP_URL=http://example.com

Измените владельца каталога на пользователя веб-сервера nginx:

sudo chown -R nginx:nginx /var/www/invoiceplane

Отредактируйте файл /etc/php-fpm.d/www.conf и смените пользователя и группу на nginx (вместо apache):

# в /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Установите временную зону в /etc/php.ini:

date.timezone = Region/City

Перезапустите PHP-FPM чтобы изменения вступили в силу:

sudo systemctl restart php-fpm.service

Запустите веб-инсталлятор в браузере:

http://example.com/index.php/setup

Следуйте шагам мастера: укажите данные базы, создайте администратора и завершите установку. После успешной установки рекомендуется отключить веб-установщик, установив в ipconfig.php:

DISABLE_SETUP=true

Шаг 5 — Завершение установки и первые шаги

Откройте в браузере http://example.com — вы попадёте на веб-инсталлятор. Пройдите пункты: выбор языка, проверка требований, настройка базы данных, создание пользователя, финализация. После окончания нажмите “Login” и войдите под созданным администратором.

Инсталлятор InvoicePlane на вебе

Выбор языка в инсталляторе

Успешная проверка предварительных условий

Настройка базы данных в инсталляторе

База данных подготовлена

Создание администратора

Установка завершена

Вход в InvoicePlane

Дополнительные рекомендации по эксплуатации и безопасности

  • Отключите веб-инсталлятор: DISABLE_SETUP=true в ipconfig.php.
  • Ограничьте доступ к панели администратора по IP или настройте двухфакторную аутентификацию сторонними средствами.
  • Делайте регулярное резервное копирование базы данных и каталога приложений (например, cron + mysqldump).
  • Обновляйте систему и пакеты PHP/MariaDB/Nginx, отслеживайте CVE для используемых компонентов.
  • Настройте SSL/TLS (Let’s Encrypt) и перенаправление HTTP на HTTPS.

Когда эта инструкция может не подойти

  • Вы используете CentOS Stream или другую версию RHEL — пакеты и репозитории могут отличаться.
  • Вы предпочитаете Apache вместо Nginx — конфигурация виртуального хоста будет другой.
  • Вам нужна кластерная или высокодоступная архитектура — здесь описана базовая одиночная инсталляция.

Альтернативные подходы

  • Установка через Apache + mod_php или PHP-FPM под сокетом unix:/run/php-fpm/www.sock.
  • Развертывание в контейнерах (Docker): полезно для изоляции и упрощённого обновления.
  • Использование управляемого хостинга с поддержкой PHP 7.x и MySQL/MariaDB.

Быстрый чеклист по ролям

Администратор сервера:

  • Обновить ОС, установить зависимости, настроить репозитории.
  • Настроить брандмауэр и SSL.

Разработчик/DevOps:

  • Автоматизировать развертывание (Ansible, Terraform).
  • Настроить мониторинг и бэкапы.

Оператор/Бухгалтер:

  • Настроить шаблоны счётов, налоговые настройки и валюты.
  • Проверить корректность налоговых правил и шаблонов печати.

Критерии приёмки

  • Веб-инсталлятор проходит проверку предварительных условий.
  • Приложение загружается по HTTPS без ошибок.
  • Администратор может войти и создать/просмотреть счёт.
  • Резервное копирование и права доступа настроены.

Краткая методология развертывания (mini SOP)

  1. Подготовить сервер: обновление, базовые утилиты.
  2. Установить PHP и расширения, настроить PHP-FPM.
  3. Установить и обезопасить MariaDB, создать базу и пользователя.
  4. Установить Nginx и настроить виртуальный хост.
  5. Развернуть файлы InvoicePlane, настроить права и ipconfig.php.
  6. Пройти веб-инсталлятор, отключить setup, включить резервное копирование.

Безопасность и соответствие приватности

  • Храните резервные копии в зашифрованном виде и ограничьте доступ.
  • Если в системе обрабатываются персональные данные граждан ЕС, учтите требования GDPR: регистрация целей обработки, ограничение сроков хранения, права субъектов данных.
  • Минимизируйте права доступа к базе данных: выделите отдельного пользователя с минимально необходимыми правами.

Короткий глоссарий

  • SSL/TLS: протоколы шифрования для веба.
  • FPM: FastCGI Process Manager для PHP.
  • mysqldump: утилита для экспорта баз данных.

Шаблон бэкапа (пример)

  • Полный дамп базы: ежесуточно mysqldump dbname > /backups/dbname-$(date +%F).sql
  • Копирование каталога приложения: rsync -a /var/www/invoiceplane /backups/
  • Хранение бэкапов: минимум 14 дней или по политике компании.

Короткое объявление (для рассылки или Slack, 100–200 слов)

InvoicePlane установлен на сервере CentOS 7 и готов к использованию. В приложении настроены база на MariaDB, PHP 7.2 (PHP-FPM) и Nginx. Для доступа используйте URL, указанный в ipconfig.php. Не забудьте заменить временные данные в конфигурации, отключить веб-установщик (DISABLE_SETUP=true) и настроить SSL. Рекомендовано настроить регулярное резервное копирование базы данных и каталогов, а также ограничить доступ к административной панели. По вопросам интеграции с существующей учётной системой обращайтесь к администратору.

Ссылки

Резюме

InvoicePlane успешно разворачивается на CentOS 7 при соблюдении требований к PHP, MariaDB и конфигурации Nginx. После установки важно завершить базовые шаги по безопасности: SSL, бэкапы, отключение setup и ограничения доступа.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро