Установка ПО · 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 для подтверждения установки.

После завершения установки выполните следующую команду, чтобы проверить статус служб Apache и MariaDB, чтобы убедиться, что обе службы работают.
sudo systemctl status apache2
sudo systemctl status mysqlЕсли Apache или MariaDB работают, вы увидите вывод active(running).

Наконец, проверьте версию 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;
Теперь выполните запрос ниже, чтобы проверить привилегии для пользователя solidinvoice. Убедитесь, что пользователь solidinvoice может получить доступ к базе данных solidinvoicedb.
SHOW GRANTS FOR solidinvoice@localhost;Наконец, введите quit, чтобы выйти из сервера MariaDB.

Настройка 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/logssudo 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
Обеспечение безопасности 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/. В Проверке системных требований убедитесь, что все в порядке, затем нажмите Далее, чтобы подтвердить.

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

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

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

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

Вернитесь в терминал сервера и создайте новое задание cron для пользователя www-data с помощью команды ниже.
sudo crontab -u www-data -eВставьте скрипт crontab со страницы, затем сохраните и закройте файл.
* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -nВернитесь в веб-браузер и нажмите Войти сейчас.

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

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

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