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

Установка InvoicePlane на Ubuntu 18.04 LTS

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

Этот пошаговый гид объясняет, как установить и настроить InvoicePlane на сервере с Ubuntu 18.04: подготовить LAMP (Apache, PHP, MariaDB), создать базу данных, развернуть файлы в /var/www, настроить виртуальный хост Apache и пройти веб-мастер установки. Включены рекомендации по правам, безопасности, отладке и базовый чек-лист для администраторов.

  • Сервер с Ubuntu 18.04.
  • Нератовый пользователь с правами sudo.

Краткий обзор решения

InvoicePlane — бесплатное open source решение для выставления счетов, управления клиентами и оплатами, рассчитанное на самохостинг. Оно написано на PHP и хранит данные в MariaDB. Этот гид ведёт от установки LAMP до успешного входа в веб-интерфейс.

Важно: в примерах используется версия PHP 7.2 и InvoicePlane v1.5.9. Перед установкой проверьте совместимость с вашей версией ОС и PHP.

Установка LAMP

InvoicePlane работает в веб-среде, написан на PHP и использует MariaDB для хранения данных. Сначала установим Apache и MariaDB:

sudo apt-get install apache2 mariadb-server -y

Добавим репозиторий ondrej для современных сборок PHP:

sudo apt-get install software-properties-common -y  
sudo add-apt-repository ppa:ondrej/php

Обновите списки пакетов и установите PHP с требуемыми расширениями:

sudo apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql wget unzip php7.2-cli php7.2-mcrypt php7.2-zip php7.2-curl -y

После установки откройте конфигурационный файл php.ini и внесите изменения:

sudo nano /etc/php/7.2/apache2/php.ini

В файле внесите следующие настройки, если их нет или они ниже требуемых значений:

memory_limit = 256M
upload_max_filesize = 128M
max_execution_time = 360
date.timezone = Asia/Kolkata

Сохраните и закройте файл.

Запустите и включите запуск Apache и MariaDB при старте системы:

sudo systemctl start apache2  
sudo systemctl enable apache2  
sudo systemctl start mariadb  
sudo systemctl enable mariadb

Настройка MariaDB

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

sudo mysql_secure_installation

Следующий мастер предложит настроить root-пароль, удалить анонимных пользователей, закрыть удалённый доступ для root и удалить тестовую базу данных. Примеры ответов показаны в исходном руководстве.

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

mysql -u root -p

Затем выполните SQL-команды:

MariaDB [(none)]> CREATE DATABASE invplane_db;  
MariaDB [(none)]> CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON invplane_db.* TO 'invplane'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT

Замените ‘password’ на надёжный пароль и при желании используйте другой пользовательский логин и имя базы.

Загрузка и установка InvoicePlane

Скачайте последнюю версию InvoicePlane. В примере используется v1.5.9:

wget -c -O v1.5.9.zip https://invoiceplane.com/download/v1.5.9

Распакуйте архив и переместите файлы в корень сайта Apache:

mkdir invoiceplane  
unzip v1.5.9.zip -d invoiceplane

cd invoiceplane  
sudo mv ip /var/www/html/invoiceplane  
cd /var/www/html/invoiceplane  
sudo cp ipconfig.php.example ipconfig.php  
sudo cp htaccess .htaccess

Установите права и владельца каталога так, чтобы веб-сервер мог читать и записывать нужные файлы:

sudo chown -R www-data:www-data /var/www/html/invoiceplane/  
sudo chmod -R 755 /var/www/html/invoiceplane/

Создайте виртуальный хост Apache для InvoicePlane:

sudo nano /etc/apache2/sites-available/invoiceplane.conf

Добавьте конфигурацию виртуального хоста:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/invoiceplane
     ServerName example.com
     ServerAlias www.example.com

     
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

После сохранения включите сайт и модуль перезаписи URL:

sudo a2ensite invoiceplane.conf  
sudo a2enmod rewrite

Перезапустите Apache:

sudo systemctl restart apache2

Доступ к мастеру установки

Откройте браузер и перейдите по адресу вашего сервера, например http://example.com. Вы попадёте в веб-мастер установки InvoicePlane. Последовательность шагов:

  • Нажмите “Setup” для запуска мастера.
  • Выберите язык и продолжите.
  • Пройдите проверку предварительных требований (permissions, PHP-модули).
  • Введите данные базы данных, созданной ранее.
  • После успешного подключения мастер создаст таблицы.
  • Создайте учётную запись администратора через веб-форму.
  • После завершения установки войдите в панель управления.

Логотип и панель установки InvoicePlane

Экран установщика InvoicePlane

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

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

Ввод данных базы данных

Подтверждение корректности данных базы

Установка таблиц базы данных завершена

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

Форма с дополнительными параметрами установки

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

Форма входа в InvoicePlane

Панель управления InvoicePlane

Проверка и отладка

Если веб-мастер указывает ошибки, выполните следующие проверки:

  • Проверьте права на директории и владельца www-data.
  • Убедитесь, что расширения PHP установлены и активны (mbstring, xml, curl, gd, intl, mysql).
  • Просмотрите логи Apache: /var/log/apache2/error.log
  • Проверьте, что MariaDB запущена и база доступна по данным, указанным в ipconfig.php.

Полезные команды для диагностики:

systemctl status apache2
systemctl status mariadb
tail -n 100 /var/log/apache2/error.log
php -v
mysql -u invplane -p -D invplane_db

Безопасность и SSL

  • Настройте HTTPS с помощью Let’s Encrypt или другого сертификата. Для автоматической выдачи и обновления используйте Certbot.
  • Закройте прямой доступ к панелям, где это возможно, с помощью брандмауэра и ограничения по IP, если у вас статический адрес.
  • Не используйте простые пароли для базы и администратора. Храните резервную копию конфигурации отдельно.

Пример включения HTTPS с Certbot:

sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com

Резервное копирование и восстановление

Рекомендации по бэкапам:

  • Регулярно экспортируйте базу данных (mysqldump).
  • Копируйте каталог /var/www/html/invoiceplane и пользовательские вложения.
  • Храните резервные копии вне сервера (облачное хранилище, удалённый NAS).

Пример экспорта базы:

mysqldump -u invplane -p invplane_db > invplane_db_$(date +%F).sql

Чек-лист ролей

Администратор приложения:

  • Проверить доступ к веб-интерфейсу
  • Создать и проверить учётную запись администратора
  • Настроить логотип и параметры компании

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

  • Установить и обновлять пакеты сервера
  • Настроить HTTPS и бэкапы
  • Контролировать права на файлы и SELinux/AppArmor при необходимости

Разработчик / интегратор:

  • Настроить автоматическое резервное копирование
  • Настроить интеграцию с почтой и платежными шлюзами
  • Тестировать обновления на тестовом окружении

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

Считайте установку завершённой, когда выполнены пункты:

  • Веб-мастер завершён без ошибок
  • Успешный вход в админ-панель
  • Создана и доступна база данных InvoicePlane
  • HTTPS настроен и действует
  • Создан план регулярных бэкапов

Частые ошибки и способы устранения

  • 500 Internal Server Error: проверьте логи Apache и права на файлы. Часто решается установкой AllowOverride All и корректными правами www-data.
  • Ошибка подключения к базе: убедитесь в правильности hostname, имени базы, пользователя и пароля; проверьте, что MariaDB слушает локальные подключения.
  • Отсутствие модулей PHP: установите недостающие расширения php и перезапустите Apache.

Альтернативные подходы и миграция

  • Docker: для изоляции окружения удобнее использовать контейнеры с готовыми образами Apache/PHP/MariaDB и монтированием данных.
  • Актуализация PHP: при необходимости используйте более новую версию PHP, проверив совместимость InvoicePlane.
  • Миграция с другой системы выставления счетов требует экспорта клиентов и счетов и их импорта через CSV или API, если доступно.

Короткий набор команд-резюме

sudo apt-get update
sudo apt-get install apache2 mariadb-server -y
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php7.2 libapache2-mod-php7.2 ... -y
sudo mysql_secure_installation
mysql -u root -p
CREATE DATABASE invplane_db; CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON invplane_db.* TO 'invplane'@'localhost'; FLUSH PRIVILEGES;
wget -c -O v1.5.9.zip https://invoiceplane.com/download/v1.5.9
unzip v1.5.9.zip -d invoiceplane
sudo mv ip /var/www/html/invoiceplane
sudo chown -R www-data:www-data /var/www/html/invoiceplane/
sudo a2ensite invoiceplane.conf; sudo a2enmod rewrite; sudo systemctl restart apache2

Заключение

InvoicePlane можно быстро развернуть на Ubuntu 18.04 при наличии рабочего LAMP-стека. Основные этапы: установка PHP и расширений, защита и настройка MariaDB, перемещение файлов, права доступа, конфигурация виртуального хоста и проход веб-мастера. После установки уделите внимание 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 быстро