Установка ПО · 6 min read · Nov 22, 2025

Как установить SolidInvoice на Ubuntu 22.04

SolidInvoice — это бесплатное, простое и элегантное решение для выставления счетов на основе PHP. Оно предназначено для малых предприятий для управления их повседневными операциями по выставлению счетов. SolidInvoice предоставляет RESTful API для интеграции и различные каналы уведомлений, такие как текстовые сообщения, электронные письма или HipChat.

Этот гид покажет вам, как установить SolidInvoice на сервере Ubuntu 22.04. Вы настроите SolidInvoice с помощью LAMP Stack и обеспечите безопасность установки с помощью Certbot и letsencrypt.

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

Перед тем как начать, убедитесь, что у вас есть:

  • Сервер Ubuntu 22.04.
  • Пользователь без прав root с привилегиями sudo.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

SolidInvoice — это приложение для выставления счетов с открытым исходным кодом, написанное на PHP и MySQL. Чтобы установить его, вам необходимо установить LAMP Stack на вашу систему Ubuntu. На этом первом этапе вы будете устанавливать LAMP Stack из стандартного репозитория Ubuntu.

Обновите индекс пакетов Ubuntu с помощью команды ниже.

sudo apt update

Теперь установите зависимости LAMP Stack (Linux, Apache, MySQL/MariaDB и PHP) с помощью следующей команды. В этом примере вы будете использовать стандартную версию PHP 8.x для установки SolidInvoice.

sudo apt install apache2 mariadb-server mariadb-client php php-curl php-common php-mbstring php-json php-mysql php-opcache php-bcmath php-intl php-gd php-xml php-soap php-zip php-apcu

Введите Y для подтверждения установки.

install deps

После завершения установки выполните следующую команду, чтобы проверить статус служб Apache и MariaDB, чтобы убедиться, что обе службы работают.

sudo systemctl status apache2  
sudo systemctl status mysql

Если Apache или MariaDB работают, вы увидите вывод active(running).

check apache

Наконец, проверьте версию PHP с помощью команды ниже. Вы увидите установленную версию PHP 8.x на вашей системе Ubuntu.

php -v

Настройка сервера MariaDB

После установки LAMP Stack вам нужно настроить установку сервера MariaDB. Сначала вы обеспечите безопасность сервера MariaDB, затем создадите новую базу данных и пользователя, которые будет использовать SolidInvoice.

Чтобы обеспечить безопасность установки сервера MariaDB, введите следующее:

sudo mariadb-secure-installation

В процессе введите Y, чтобы подтвердить изменения в MariaDB, или N, чтобы отклонить их. Ниже приведены настройки сервера MariaDB, которые вам будут предложены:

  • Стандартная установка MariaDB идет без пароля, нажмите ENTER, когда будет предложено ввести пароль.
  • Теперь введите Y, чтобы установить пароль root для MariaDB. Затем введите новый пароль для MariaDB и повторите пароль.
  • Введите Y, чтобы удалить анонимного пользователя из вашей установки MariaDB.
  • Введите Y снова, когда будет предложено отключить удаленный вход для пользователя root MariaDB.
  • Введите Y, чтобы удалить стандартную базу данных test из вашей MariaDB.
  • Наконец, введите Y, чтобы перезагрузить привилегии таблиц и применить новые изменения.

Теперь, когда вы обеспечили безопасность MariaDB, введите следующее, чтобы войти в MariaDB как пользователь root по умолчанию. Введите свой пароль root MariaDB, когда будет предложено.

sudo mariadb -u root -p

После входа выполните следующие запросы, чтобы создать новую базу данных solidinvoicedb, пользователя solidinvoice с паролем p4ssword. Убедитесь, что вы изменили данные на свои, эти данные базы данных будут использоваться SolidInvoice.

CREATE DATABASE solidinvoicedb;  
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';  
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;  
FLUSH PRIVILEGES;

create datbase and user

Теперь выполните запрос ниже, чтобы проверить привилегии для пользователя solidinvoice. Убедитесь, что пользователь solidinvoice может получить доступ к базе данных solidinvoicedb.

SHOW GRANTS FOR solidinvoice@localhost;

Наконец, введите quit, чтобы выйти из сервера MariaDB.

check db

Настройка PHP

С учетом того, что сервер MariaDB защищен и настроен, вы теперь настроите свою установку PHP. В этом случае вам нужно изменить файл конфигурации PHP по умолчанию php.ini.

Откройте файл конфигурации PHP по умолчанию /etc/php/8.1/apache2/php.ini с помощью редактора nano.

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

Измените стандартные настройки PHP на следующие, и убедитесь, что вы настроили memory_limit и date.timezone в соответствии с вашей серверной средой.

date.timezone = Europe/Amsterdam  
memory_limit=512M  
upload_max_filesize=64M  
post_max_size=120M  
max_execution_time=120

Сохраните файл и выйдите.

Теперь перезапустите службу Apache, чтобы применить ваши изменения к PHP с помощью следующей команды.

sudo systemctl restart apache2

Загрузка SolidInvoice

Теперь, когда MariaDB и PHP настроены, вы можете загрузить исходный код SolidInvoice и настроить установку с правильными правами и владельцем.

Перейдите в директорию /var/www и загрузите исходный код SolidInvoice с помощью wget. Проверьте страницу релизов SolidInvoice, чтобы получить последнюю версию.

cd /var/www/  
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zip

Извлеките исходный код SolidInvoice в директорию solidinvoice и измените владельца на пользователя www-data. Таким образом, DocumentRoot или Web-root директория для установки SolidInvoice будет /var/www/solidinvoice.

unzip SolidInvoice-2.2.5.zip -d solidinvoice  
sudo chown -R www-data:www-data /var/www/solidinvoice

Теперь выполните команду ниже, чтобы убедиться, что пользователь www-data может записывать в некоторые директории и файлы SolidInvoice.

sudo chmod u+rw /var/www/solidinvoice/app/cache  
sudo chmod u+rw /var/www/solidinvoice/app/logs  
sudo chmod u+rw /var/www/solidinvoice/var/cache  
sudo chmod u+rw /var/www/solidinvoice/var/logs
sudo chmod u+rw /var/www/solidinvoice/web/upload  
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.yml

Настройка виртуального хоста Apache

После того как вы настроили директорию DocumentRoot для SolidInvoice, вам нужно создать новый виртуальный хост Apache, который будет использоваться для запуска установки. Убедитесь, что вы подготовили свое доменное имя для SolidInvoice.

Сначала выполните команду ниже, чтобы включить модуль rewrite в Apache.

sudo a2enmod rewrite

Создайте новую конфигурацию виртуального хоста Apache /etc/apache2/sites-available/solidinvoice.conf с помощью команды редактора nano ниже.

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

Вставьте следующую конфигурацию и убедитесь, что вы изменили опцию ServerName на ваше целевое доменное имя.

  
 ServerName invoice.howtoforge.local  
 ServerAlias www.invoice.howtoforge.local  
  
 DocumentRoot /var/www/solidinvoice/public  
   
 # включить перезаписи .htaccess  
 AllowOverride All  
 Order allow,deny  
 Allow from All  
   
  
 ErrorLog /var/log/apache2/solidinvoice.error.log  
 CustomLog /var/log/apache2/solidinvoice.access.log combined  

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

Теперь введите следующую команду, чтобы активировать файл виртуального хоста solidinvoice.conf и проверить синтаксис Apache. Если у вас правильный синтаксис, вы увидите вывод ‘Syntax OK‘.

sudo a2ensite solidinvoice.conf  
sudo apachectl configtest

Наконец, введите команду ниже, чтобы перезапустить Apache и применить новый файл виртуального хоста solidinvoice.conf. После выполнения SolidInvoice должен работать.

sudo systemctl restart apache2

setup apache

Обеспечение безопасности SolidInvoice с помощью HTTPS

В этом примере вы обеспечите безопасность SolidInvoice с помощью сертификатов SSl/TLS через Certbot и letsencrypt. Теперь вы установите Certbot и сгенерируете SSL/TLS сертификаты для вашего доменного имени SolidInvoice.

Сначала установите Certbot и плагин Certbot для Apache с помощью следующей команды. Введите Y для подтверждения установки.

sudo apt install certbot python3-certbot-apache

После завершения установки сгенерируйте SSL/TLS сертификаты с помощью следующей команды certbot. Убедитесь, что вы изменили информацию о доменном имени и адресе электронной почты на свои данные.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

После завершения процесса ваши SSL/TLS сертификаты должны быть доступны в директории /etc/letsencrypt/live/domain.com. Также ваша установка SolidInvoice должна быть автоматически защищена с помощью HTTPS.

Установка SolidInvoice

Откройте веб-браузер и посетите ваше доменное имя, например https://invoice.howtoforge.local/. В Проверке системных требований убедитесь, что все в порядке, затем нажмите Далее, чтобы подтвердить.

requirements

Выберите драйвер базы данных MySQL и введите данные вашей базы данных MariaDB и пользователя для SolidInvoice. После завершения нажмите Далее снова.

db configuration

Теперь вы можете увидеть, что схема базы данных для SolidInvoice создана, нажмите Далее, чтобы продолжить.

db migrations

Для системных настроек выберите язык по умолчанию — английский, и введите данные вашего администратора, адрес электронной почты и пароль. Затем нажмите Далее снова, чтобы подтвердить.

setup admin

После завершения установки вы увидите вывод ‘Вы успешно установили SolidInvoice!‘ и дополнительные инструкции по созданию задания cron.

installation finished

Вернитесь в терминал сервера и создайте новое задание cron для пользователя www-data с помощью команды ниже.

sudo crontab -u www-data -e

Вставьте скрипт crontab со страницы, затем сохраните и закройте файл.

* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -n

Вернитесь в веб-браузер и нажмите Войти сейчас.

login

Теперь вам будет предложено создать название вашей компании и валюту по умолчанию. Нажмите Создать, чтобы подтвердить.

create orgz

Если все прошло хорошо, вы должны увидеть панель управления SolidInvoice, как показано ниже.

dashboard

Заключение

Поздравляем! Вы установили SolidInvoice на сервер Ubuntu 22.04. У вас работает SolidInvoice с LAMP Stack (Apache, MySQL/MariaDB и PHP) на Ubuntu, и вы обеспечили безопасность вашей установки с помощью HTTPS через Letsencrypt. Теперь вы можете добавлять новые компоненты, такие как SMTP-сервер, в SolidInvoice и использовать его.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.