在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上安装 Firefly III。 对于那些不知道的人,Firefly III 是一款用 PHP 编写的免费、开源的个人财务管理软件。 它可以帮助您从您家中和环境中的自托管服务器跟踪您的开支、收入、预算和其他方面的财务状况。 Firefly III 支持使用预算、类别和标签。 它可以从外部来源导入数据,并提供许多简洁的财务报告。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将站点托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo
‘ 到获得 root 权限的命令。 我将向您展示如何在 Ubuntu 20.04 (Focal Fossa) 上逐步安装 Firefly III。 您可以按照针对 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint)的相同说明进行操作。
在 Ubuntu 20.04 LTS Focal Fossa 上安装 Firefly III
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update sudo apt upgrade
步骤 2. 安装 LAMP 堆栈。
需要 Ubuntu 20.04 LAMP 服务器。 如果您没有安装 LAMP,您可以在此处按照我们的指南进行操作。
步骤 3. 安装 PHP Composer。
必须安装 Composer 才能安装 Firefly 的依赖项。 执行以下操作来设置 Composer:
cd ~ curl -sS https://getcomposer.org/installer -o composer-setup.php sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
步骤 3. 在 Ubuntu 20.04 上安装 Firefly III。
现在我们从官网下载最新版本的Firefly:
cd /var/www/ sudo composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.2.8
接下来编辑 .env
文件。 因此,打开文件并根据您的环境进行更改:
sudo nano /var/www/firefly-iii/.env
打开文件后,在文件中进行以下突出显示的更改:
Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq If you use Docker or similar, you can set these variables from a file by appending them with _FILE Use "mysql" for MySQL and MariaDB. Use "sqlite" for SQLite. DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=firefly DB_USERNAME=fireflyuser DB_PASSWORD=your-stronge-password-here
之后,切换回 Firefly III 根目录并使用命令更新所有包和要求:
cd /var/www/firefly-iii sudo php artisan migrate:refresh --seed sudo php artisan firefly-iii:upgrade-database sudo php artisan passport:install
在同一目录中,修复新文件的访问权限:
sudo chown -R www-data:www-data /var/www/firefly-iii/ sudo chmod -R 755 /var/www/firefly-iii/
步骤 4. 配置 MariaDB。
默认情况下,MariaDB 未加固。 您可以使用以下方法保护 MariaDB mysql_secure_installation
脚本。 您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB 的权限:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
接下来,我们需要登录到 MariaDB 控制台并为 Firefly III 创建一个数据库。 运行以下命令:
mysql -u root -p
这将提示您输入密码,因此请输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Firefly III 安装创建一个数据库:
CREATE DATABASE firefly; CREATE USER 'fireflyuser'@'localhost' IDENTIFIED BY 'Your-Strong-Passwd'; GRANT ALL PRIVILEGES ON `firefly`.* TO 'fireflyuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
步骤 5. 配置 Apache PrestaShop 的网络服务器。
在中创建一个新的虚拟主机指令 Apache. 例如,创建一个新的 Apache 名为’的配置文件firefly.conf
‘ 在您的虚拟服务器上:
touch /etc/apache2/sites-available/firefly.conf ln -s /etc/apache2/sites-available/firefly.conf /etc/apache2/sites-enabled/firefly.conf nano /etc/apache2/sites-available/firefly.conf
添加以下几行:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/firefly-iii/public/ ServerName your-domain.com ServerAlias www.your-domain.com <Directory /var/www/firefly-iii/public/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/your-domain.com-error_log CustomLog /var/log/apache2/your-domain.com-access_log common </VirtualHost>
现在,我们可以重新启动 Apache 网络服务器,以便进行更改:
sudo a2enmod rewrite sudo a2ensite firefly.conf sudo systemctl restart apache2.service
步骤 6. 设置 HTTPS。
我们应该在 PrestaShop 上启用安全的 HTTPS 连接。 我们可以从 Let’s Encrypt 获得免费的 TLS 证书。 从 Ubuntu 20.04 存储库安装 Let’s Encrypt 客户端 (certbot):
sudo apt install certbot python3-certbot-apache
接下来,运行以下命令以使用以下命令获取免费的 TLS 证书 Apache 插入:
sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d example.com
如果测试成功,重新加载 Apache 使更改生效:
sudo apache2ctl -t sudo systemctl reload apache2
步骤 7. 访问 Firefly III Web 界面。
默认情况下,Firefly III 将在 HTTP 端口 80 上可用。 打开您最喜欢的浏览器并导航到 https://your-domain.com/
并完成所需的步骤以完成安装。 如果您使用防火墙,请打开端口 80 以启用对控制面板的访问。
恭喜! 您已成功安装 Firefly。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 Firefly III。 如需更多帮助或有用信息,我们建议您查看 萤火虫官方网站.