如何在 Ubuntu 22.04 上安装 SolidInvoice

如何在 Ubuntu 22.04 上安装 SolidInvoice

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

检查PHP

设置 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 根目录将是 /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 中的重写模块。

sudo a2enmod rewrite

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

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

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


ServerName invoice.hwdomain.io
ServerAlias www.invoice.hwdomain.io

DocumentRoot /var/www/solidinvoice/public

# enable the .htaccess rewrites
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 语法。 如果语法正确,您将看到输出“语法正常”。

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 protected] -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 并使用它。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐