Установка InvoicePlane на Ubuntu 18.04 LTS
Этот пошаговый гид объясняет, как установить и настроить 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-модули).
- Введите данные базы данных, созданной ранее.
- После успешного подключения мастер создаст таблицы.
- Создайте учётную запись администратора через веб-форму.
- После завершения установки войдите в панель управления.












Проверка и отладка
Если веб-мастер указывает ошибки, выполните следующие проверки:
- Проверьте права на директории и владельца 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, резервным копиям и ограничению доступа.
Ссылки
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента