本教程将向您展示如何安装 惊恐 在 Ubuntu 20.04 上 Apache 或 Nginx 网络服务器。 Akaunting 是一款免费的开源自托管会计软件。 您可以使用它来跟踪个人财务或小型企业会计。
令人敬畏的功能
- 完全免费和开源。
- 易于使用的基于 Web 的界面。 随时随地在 Mac、PC、平板电脑或手机上在线查看您的财务状况。
- 手机和平板电脑接口
- 多语言管理和客户面板
- 专为小型企业设计
- 100% 财务数据所有权
- 寿命 自由 更新
- 您可以创建客户并向他们发送发票。 您还可以设置密码,以便他们可以访问客户门户。
- 向客户发送专业发票并开始接受在线支付,无佣金/交易费。
- 在账户之间添加存款和转账,并保持您的银行账户余额处于活跃状态。
- 创建供应商,以便您可以向他们分配账单和付款,然后轻松过滤他们的交易。
- 创建和管理账单,让您的财务始终准确和健康。 知道什么以及何时付款。
- 将不可计费的费用添加为付款,以使您的银行/现金帐户余额保持最新。
- 使能够 库存跟踪 并在货物进出时进行管理。 项目还加快了开票速度。
- 创建无限的银行和现金账户,并跟踪他们的期初余额和当前余额。
- 以任何货币发送发票和添加费用,并让系统将它们转换为您的主要货币。
- 一站式管理多家公司的财务 admin 控制板。 将用户分配到不同的公司。
- 获取详细的财务报告,以帮助您更好地可视化改善业务所需的所有信息。
- 通过从应用商店安装应用来扩展 Akaunting,您可以安装或购买任何东西。
- 在角色级别配置权限以保护和简化他们的管理体验。
在 Ubuntu 20.04 上安装 Akaunting 的先决条件
首先,你需要一个至少有 512MB RAM 的 Ubuntu 服务器。 如果您正在寻找 VPS(虚拟专用服务器),那么您可以单击此特殊链接在 Vultr 上创建一个帐户以获得 50 美元的免费赠金(仅限新用户)。 在 Vultr 上拥有帐户后,在您的服务器上安装 Ubuntu 20.04 并按照以下说明进行操作。
Akaunting 需要 PHP 和 MySQL/MariaDB。 要学习本教程,您应该已经设置了 LAMP 堆栈或 LEMP 堆栈。 如果您更喜欢使用 Apache Web 服务器,然后安装 LAMP 堆栈。
- 如何安装 LAMP (Apache、MariaDB、PHP) 堆栈在 Ubuntu 20.04 上
如果您更喜欢使用 nginx Web 服务器,然后安装 LEMP 堆栈。
- 如何在 Ubuntu 20.04 上安装 LEMP(Nginx、MariaDB、PHP)堆栈
您还需要一个域名,以便您的客户可以通过您的域名查看发票。 我在 NameCheap 注册了我的域名,因为价格低廉,而且他们提供终身免费的 whois 隐私保护。
现在让我们安装 Akaunting。
步骤 1:在 Ubuntu 20.04 服务器上下载 Akaunting 安装 Zip 文件
登录您的 Ubuntu 20.04 服务器并使用以下命令下载 Akaunting 的最新稳定版本。
wget -O Akaunting.zip https://akaunting.com/download.php?version=latest
然后在 Web 根目录下为 Akaunting 创建一个目录。
sudo mkdir -p /var/www/akaunting/
使用以下命令解压缩 zip 存档 unzip
.
sudo apt install unzip sudo unzip Akaunting.zip -d /var/www/akaunting/
这 -d
选项指定目标目录。 Akaunting 网络文件将被提取到 /var/www/akaunting/
. 接下来,我们需要将此目录的所有者更改为 www-data
以便 Web 服务器可以写入此目录。
sudo chown www-data:www-data /var/www/akaunting/ -R
第 2 步:在 MariaDB 中创建数据库和用户
使用以下命令登录到 MariaDB 数据库服务器。 由于 MariaDB 现在正在使用 unix_socket
验证用户登录的插件,无需输入 MariaDB root 密码。 我们只需要添加前缀 mysql
命令与 sudo
.
sudo mysql -u root
然后为 Akaunting 创建一个数据库。 本教程命名数据库 akaunting
. 您可以使用任何您喜欢的名称。
create database akaunting;
创建数据库用户。 同样,您可以为此用户使用您的首选名称。 代替 your-password
使用您的首选密码。
create user 'accountant'@'localhost' identified by 'your-password';
授予此用户所有权限 akaunting
数据库。
grant all privileges on akaunting.* to 'accountant'@'localhost';
刷新权限并退出。
flush privileges; exit;
第 3 步:安装 PHP 模块
运行以下命令来安装 Akaunting 所需或推荐的 PHP 模块。
sudo apt install php-imagick php7.4-common php7.4-mysql php7.4-gd php7.4-bcmath php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl
然后重启 Apache. (如果使用 Nginx,则无需重启 Nginx。)
sudo systemctl restart apache2
第 4 步:设置 Web 服务器
我们可以用 Apache 或 Nginx 网络服务器。
Apache
若你宁可 Apache,使用像 Nano 这样的命令行文本编辑器为 Akaunting 创建一个虚拟主机文件。
sudo nano /etc/apache2/sites-available/akaunting.conf
将以下文本放入文件中。 代替 accounting.yourdomain.com
使用您真正的 Akaunting 子域。 不要忘记在域注册商的 DNS 管理器中为域名设置 DNS A 记录。
<VirtualHost *:80> ServerName accounting.yourdomain.com DocumentRoot /var/www/akaunting/ <Directory /var/www/akaunting/> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/akaunting.error.log CustomLog ${APACHE_LOG_DIR}/akaunting.access.log combined </VirtualHost>
Save 和 close 文件。 然后启用这个虚拟主机。
sudo a2ensite akaunting.conf
我们需要启用重写模块。
sudo a2enmod rewrite
重新开始 Apache 以使更改生效。
sudo systemctl restart apache2
现在访问 accounting.yourdomain.com
您将被重定向到设置向导页面(accounting.yourdomain.com/install/language
)。 如果你看到默认 Apache 页面而不是设置向导,那么您需要禁用默认的虚拟主机。
sudo a2dissite 000-default.conf
并重新启动 Apache.
在设置向导中输入任何信息之前,我们需要启用 HTTPS。
nginx
如果您更喜欢 Nginx,请创建一个 akaunting.conf
归档 /etc/nginx/conf.d/
目录。
sudo nano /etc/nginx/conf.d/akaunting.conf
将以下文本放入文件中。 代替 accounting.yourdomain.com
使用您真正的 Akaunting 子域。 不要忘记在域注册商的 DNS 管理器中为域名设置 DNS A 记录。
server { listen 80; listen [::]:80; server_name accounting.yourdomain.com; root /var/www/akaunting/; index index.php index.html index.htm; charset utf-8; error_log /var/log/nginx/akaunting.error; access_log /var/log/nginx/akaunting.access; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; location / { try_files $uri $uri/ /index.php?$query_string; } # Prevent Direct Access To Protected Files location ~ .(env|log) { deny all; } # Prevent Direct Access To Protected Folders location ~ ^/(^app$|bootstrap|config|database|resources|routes|storage|tests|artisan) { deny all; } # Prevent Direct Access To modules/vendor Folders Except Assets location ~ ^/(modules|vendor)/(.*).((?!ico|gif|jpg|jpeg|png|js|css|less|sass|font|woff|woff2|eot|ttf|svg).)*$ { deny all; } error_page 404 /index.php; location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /.(?!well-known).* { deny all; } }
Save 和 close 文件。 然后测试 Nginx 配置。
sudo nginx -t
如果测试成功,请重新加载 Nginx 以使更改生效。
sudo systemctl reload nginx
现在访问 accounting.yourdomain.com
您将被重定向到设置向导页面(accounting.yourdomain.com/setup
)。 在设置向导中输入任何信息之前,我们需要启用 HTTPS。
步骤 5:启用 HTTPS
为了加密 HTTP 流量,我们可以通过安装 Let’s Encrypt 颁发的免费 TLS 证书来启用 HTTPS。 运行以下命令在 Ubuntu 20.04 服务器上安装 Let’s Encrypt 客户端(certbot)。
sudo apt install certbot
如果你使用 Apache,你还需要安装Certbot Apache 插入。
sudo apt install python3-certbot-apache
并运行此命令以获取并安装 TLS 证书。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d accounting.yourdomain.com
如果你使用 nginx, 安装 Certbot Nginx 插件。
sudo apt install python3-certbot-nginx
接下来,运行以下命令获取并安装 TLS 证书。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d accounting.yourdomain.com
在哪里
--nginx
: 使用nginx插件。--apache
: 使用 Apache 插入。--agree-tos
: 同意服务条款。--redirect
: 通过 301 重定向强制 HTTPS。--hsts
:将 Strict-Transport-Security 标头添加到每个 HTTP 响应。 强制浏览器始终对域使用 TLS。 防御 SSL/TLS 剥离攻击。--staple-ocsp
:启用 OCSP 装订。 有效的 OCSP 响应被装订到服务器在 TLS 期间提供的证书。
现在应该获得并自动安装证书。