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

Установка InvoicePlane на Debian 9 (Stretch)

• 4 min read • Инфраструктура • Обновлено 23 Nov 2025
Установка InvoicePlane на Debian 9
Установка InvoicePlane на Debian 9

Скриншот интерфейса InvoicePlane

Краткое описание

Этот пошаговый гид объясняет, как установить бесплатное приложение для выставления счетов InvoicePlane на Debian 9 (stretch). Приведены команды, конфигурация NGINX, создание базы данных и советы по безопасности и устранению неполадок.

Основные требования

  • Веб-сервер: NGINX (в руководстве) или Apache.
  • MariaDB / MySQL версии 5.5+.
  • PHP 7.0, 7.1 или 7.2 с расширениями: php-gd, php-hash, php-json, php-mbstring, php-mcrypt, php-mysqli, php-openssl, php-recode, php-xmlrpc, php-zlib.

Важно: php-mcrypt в новых релизах может быть недоступен — для современных установок проверяйте совместимость InvoicePlane с текущими расширениями.

Предварительные требования

  • Сервер с Debian 9.
  • Неразовый пользователь с sudo-привилегиями.

Первые шаги

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

lsb_release -ds  
# Debian GNU/Linux 9 (stretch)

Настройте часовой пояс:

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y

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

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

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

InvoicePlane требует PHP 7.0+. Установите PHP и нужные расширения:

sudo apt install -y php-cli php-fpm php-common php-gd php-json php-mbstring php-mysql php-xmlrpc php-recode

Просмотреть загруженные модули PHP:

php -m  
  
ctype  
curl  
exif  
fileinfo  
. . .  
. . .

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

php --version  
  
# PHP 7.0.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies  
# with Zend OPcache v7.0.9-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Запустите и включите php-fpm:

sudo systemctl start php7.0-fpm.service  
sudo systemctl enable php7.0-fpm.service

Примечание: если ваш пакет называется php7.1-fpm или php7.2-fpm — используйте соответствующее имя сервиса.

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

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

sudo apt install -y mariadb-server

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

mysql --version

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

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

Укрепите безопасность и задайте пароль root:

sudo mysql_secure_installation

Обычно отвечают так:

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 и создайте базу/пользователя:

mysql -u root -p  
# Enter password

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

quit

Замените dbname, username и password на свои значения.

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

sudo apt install -y nginx

Проверка версии:

nginx -v  
# nginx version: nginx/1.10.3

Запуск и включение:

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

Создайте файл конфигурации: /etc/nginx/sites-available/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$ {  
        include snippets/fastcgi-php.conf;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }
}

Активируйте конфигурацию:

sudo ln -s /etc/nginx/sites-available/invoiceplane.conf /etc/nginx/sites-enabled/

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

sudo nginx -t
sudo systemctl reload nginx.service

Совет: если вы используете php7.1 или php7.2 — укажите соответствующий сокет в fastcgi_pass.

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

Скачайте стабильную версию и распакуйте:

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

Скопируйте конфигурацию и задайте URL:

sudo cp ipconfig.php.example ipconfig.php

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

Измените владельца на www-data:

sudo chown -R www-data:www-data /var/www/InvoicePlane

Установите часовой пояс в конфигурации PHP (php.ini):

# Откройте php.ini
sudo vim /etc/php.ini
# Установите
date.timezone = Region/City

Рекомендуемая локаль — например, date.timezone = Europe/Moscow для Москвы.

Перезапустите PHP-FPM:

sudo systemctl restart php7.0-fpm.service

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

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

После завершения установки войдите в панель, используя созданные учётные данные. Чтобы закрыть установщик, в ipconfig.php установите DISABLE_SETUP=true.

Шаг 5 — Завершение настройки через веб

Откройте http://example.com — вы будете перенаправлены в веб-установщик.

Веб-установщик InvoicePlane

Нажмите кнопку Setup, выберите язык и следуйте инструкциям.

Выбор языка в установщике InvoicePlane

Проверка системных требований

Введите данные базы данных, проверьте соединение и создайте администратора.

Параметры базы данных

Успешное соединение с базой данных

Создание учетной записи администратора

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

Страница входа в InvoicePlane

Важные замечания

Важно: после завершения установки отключите веб-установщик (DISABLE_SETUP=true) и настройте HTTPS.

Частые проблемы и способы их решения

  • Ошибка 502 Bad Gateway: обычно означает, что NGINX не может связаться с PHP-FPM. Проверьте сокет в конфигурации (fastcgi_pass unix:/var/run/php/php7.0-fpm.sock) и запущен ли php-fpm.
  • 500 Internal Server Error: проверьте логи NGINX и PHP-FPM (/var/log/nginx/error.log, /var/log/php7.0-fpm.log). Частая причина — неправильные права доступа.
  • Невозможно подключиться к базе данных: проверьте правильность имени базы, пользователя и пароля, а также что MariaDB слушает локальные подключения.
  • Отсутствующие PHP-расширения: проверьте php -m и установите отсутствующие пакеты.

Альтернативный путь: Apache вместо NGINX

Если вы предпочитаете Apache, замените секцию установки NGINX установкой Apache, включите модуль php-fpm (или libapache2-mod-php) и настройте VirtualHost для /var/www/invoiceplane. Apache-конфигурация проще для тех, кто знаком с .htaccess.

Безопасность и жёсткие настройки

Рекомендуемые шаги:

  • Включите HTTPS — используйте Let’s Encrypt и certbot.
  • Отключите установщик (DISABLE_SETUP=true).
  • Установите права: каталоги должны принадлежать www-data, разрешения 750/640.
  • Отключите показ ошибок в продакшене (display_errors = Off).
  • Настройте fail2ban для защиты SSH и веб-сервиса.
  • Регулярные бэкапы базы и файлов — минимум ежедневные.

Контрольный список по ролям

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

  • Обновить систему и пакеты.
  • Настроить брандмауэр (ufw) и fail2ban.
  • Включить HTTPS и автоматическое обновление сертификатов.

DevOps:

  • Настроить systemd-тайминги и мониторинг сервисов.
  • Настроить ротацию логов и резервные копии базы.

Бизнес-пользователь:

  • Проверить создание и отправку счетов.
  • Настроить шаблоны и валюту.

Решения для сложных случаев

  • Если php-mcrypt недоступен, проверьте, поддерживает ли версия InvoicePlane альтернативные расширения или примените полифил.
  • При миграции с другой ОС проверьте версии PHP/MariaDB и тестируйте миграцию на staging.

Диаграмма принятия решения

flowchart TD
  A[Есть Debian 9?] -->|Нет| B[Установите Debian или выберите другую ОС]
  A -->|Да| C[Установить веб-сервер]
  C --> D{Выберите NGINX или Apache}
  D -->|NGINX| E[Следовать инструкции NGINX]
  D -->|Apache| F[Использовать альтернативную конфигурацию Apache]
  E --> G[Настроить PHP-FPM и MariaDB]
  G --> H[Установить InvoicePlane и пройти веб-установку]
  H --> I[Отключить setup и усилить безопасность]

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

  • Веб-инсталлятор доступен и завершает установку.
  • Вход в панель администратора выполняется успешно.
  • Созданные счета сохраняются в базе данных и доступны после перезапуска сервиса.
  • HTTPS работает и установщик отключён.

Справочные материалы

Краткое резюме

InvoicePlane легко развернуть на Debian 9, если правильно установить NGINX (или Apache), PHP 7.x и MariaDB. Главное — проверить соответствие версий, установить требуемые расширения, настроить права доступа и защитить сервер HTTPS и бэкапами.

Короткое объявление: Установите InvoicePlane на Debian 9 за 30–60 минут при наличии базовых навыков системного администрирования. Проверьте права, PHP-FPM и базу данных, отключите инсталлятор и настройте HTTPS для продакшена.

Поделиться: 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 быстро