如何在 Ubuntu 22.04 上安装 SolidInvoice如何在 Ubuntu 22.04 上安装 SolidInvoice如何在 Ubuntu 22.04 上安装 SolidInvoice如何在 Ubuntu 22.04 上安装 SolidInvoice
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 22.04 上安装 SolidInvoice

发表 admin at 2025年2月28日
类别
  • 未分类
标签

SolidInvoice 是一个基于 PHP 的免费、简单、优雅的发票解决方案。它专为小型企业处理日常计费操作而设计。 SolidInvoice 提供 RESTful API 进行集成,并提供各种通知渠道,例如短信、电子邮件或 HipChat。

本指南将向您展示如何在 Ubuntu 22.04 服务器上安装 SolidInvoice。您将使用 LAMP Stack 设置 SolidInvoice,并使用 Certbot 和 Letsencrypt 保护安装。

先决条件

在开始之前,请确保您拥有:

  • Ubuntu 22.04 服务器。
  • 具有 sudo 权限的非 root 用户。
  • 域名指向服务器IP地址。

安装依赖项

SolidInvoice 是一个用 PHP 和 MySQL 编写的开源发票应用程序。要安装它,您必须在 Ubuntu 系统上安装 LAMP Stack。在第一步中,您将从默认的 Ubuntu 存储库安装 LAMP Stack。

使用以下命令更新您的 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 正在运行,您将看到输出活动(正在运行)。

最后,使用以下命令检查 PHP 版本。您将看到 Ubuntu 系统上安装了 PHP 8.x。

php -v

设置 MariaDB 服务器

安装 LAMP Stack 后,您需要设置 MariaDB 服务器安装。首先,您将保护 MariaDB 服务器的安全,然后创建 SolidInvoice 将使用的新数据库和用户。

要保护 MariaDB 服务器安装,请输入以下内容:

sudo mariadb-secure-installation

在此过程中,输入 Y 确认对 MariaDB 的更改,或输入 N 拒绝更改。以下是系统将提示您的 MariaDB 服务器配置:

  • 默认的 MariaDB 安装没有密码,当提示输入密码时按 ENTER。
  • 现在输入 Y 设置 MariaDB root 密码。然后,输入 MariaDB 的新密码并重复该密码。
  • 输入 Y 从 MariaDB 安装中删除匿名用户。
  • 当提示禁用 MariaDB root 用户远程登录时,再次输入 Y。
  • 输入 Y 从 MariaDB 中删除默认数据库测试。
  • 最后,输入 Y 重新加载表权限并应用新的更改。

现在您已经保护了 MariaDB,请输入以下内容以默认 root 用户身份登录 MariaDB。当询问时输入您的 MariaDB root 密码。

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。

使用 nano 编辑器打开默认 PHP 配置 /etc/php/8.1/apache2/php.ini。

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 目录并使用 wget 下载 SolidInvoice 源代码。检查 SolidInvoice 发布页面以获取最新版本。

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

将 SolidInvoice 源代码提取到 SolidInvoice 目录并将所有权更改为 www-data 用户。因此,SolidInvoice 安装的 DocumentRoot 或 Web-root 目录将是 /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 虚拟主机

为 SolidInvoice 配置 DocumentRoot 目录后,您需要创建一个新的 Apache 虚拟主机,用于运行安装。因此,请确保您已为 SolidInvoice 准备好域名。

首先,运行以下命令以启用 Apache 中的rewrite模块。

sudo a2enmod rewrite

使用下面的 nano 编辑器命令创建新的 Apache 虚拟主机配置 /etc/apache2/sites-available/solidinvoice.conf。

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

插入以下配置并确保将 ServerName 选项更改为您的目标域。

<VirtualHost *:80>
 ServerName invoice.hwdomain.io
 ServerAlias www.invoice.hwdomain.io
 DocumentRoot /var/www/solidinvoice/public
 <Directory //var/www/solidinvoice/public>
 # enable the .htaccess rewrites
 AllowOverride All
 Order allow,deny
 Allow from All
 </Directory>
 ErrorLog /var/log/apache2/solidinvoice.error.log
 CustomLog /var/log/apache2/solidinvoice.access.log combined
</VirtualHost>

保存文件并退出编辑器。

现在输入以下命令来激活虚拟主机文件 solidinvoice.conf 并检查您的 Apache 语法。如果语法正确,您将看到输出“语法正常”。

sudo a2ensite solidinvoice.conf
sudo apachectl configtest

最后,输入以下命令重新启动 Apache 并应用新的虚拟主机文件 solidinvoice.conf。执行后,您的 SolidInvoice 应该正在运行。

sudo systemctl restart apache2

使用 HTTPS 保护 SolidInvoice

在此示例中,您将通过 Certbot 和 LetsEncrypt 使用 SSL/TLS 证书保护 SolidInvoice。现在您将安装 Certbot 并为您的 SolidInvoice 域名生成 SSL/TLS 证书。

首先,使用以下命令安装 Certbot 和 Certbot Apache 插件。输入Y确认安装

sudo apt install certbot python3-certbot-apache

安装完成后,使用以下 certbot 命令生成 SSL/TLS 证书。请务必使用您的详细信息更改域名和电子邮件地址信息。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d hwdomain.io

该过程完成后,您的 SSL/TLS 证书应该在 /etc/letsencrypt/live/domain.com 目录中可用。此外,您的 SolidInvoice 安装应自动使用 HTTPS 进行保护。

安装 SolidInvoice

打开网络浏览器并访问您的域名,例如 https://invoice.hwdomain.io/。在系统要求检查中,确保一切正常,然后单击下一步进行确认。

选择 MySQL 的数据库驱动程序并输入 MariaDB 数据库和 SolidInvoice 用户的详细信息。完成后,再次单击下一步。

现在您可以看到 SolidInvouice 的数据库架构已创建,单击下一步继续。

对于系统设置,选择默认区域设置为英语并输入管理员用户、电子邮件和密码的详细信息。然后,再次点击下一步进行确认。

安装完成后,您将看到输出“您已成功安装 SolidInvoice!”以及创建 cron 作业的其他说明。

返回服务器终端并使用以下命令为用户 www-data 创建一个新的 cron 作业。

sudo crontab -u www-data -e

从页面粘贴 crontab 脚本,然后保存并关闭文件。

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

返回到您的网络浏览器并点击立即登录。

现在,您将被要求创建您的公司名称和默认货币。单击创建进行确认。

如果一切顺利,您应该会看到如下所示的 SolidInvoice 仪表板。

结论

恭喜!您已在 Ubuntu 22.04 服务器上安装了 SolidInvoice。您已在 Ubuntu 上使用 LAMP Stack(Apache、MySQL/MariaDB 和 PHP)运行 SolidInvoice,并通过 Letsencrypt 使用 HTTPS 保护您的安装。您现在可以将新组件(例如 SMTP 服务器)添加到 SolidInvoice 并使用它。

©2015-2025 Norria support@norria.com