如何在Debian 10 Buster上安装Akaunting自托管会计软件

本教程将向您展示如何使用Apache或Nginx Web服务器在Debian 10 Buster上安装Akaunting。 Akaunting是一种免费的,开源的,可自行托管的会计软件。 您可以使用它来跟踪个人财务或小型企业会计。

攻击功能

  • 完全免费和开源。
  • 易于使用的基于Web的界面。 随时随地在Mac,PC,平板电脑或手机上在线查看财务状况。
  • 手机和平板电脑就绪界面
  • 多语言管理和客户端面板
  • 专为小型企业而设计
  • 100%财务数据所有权
  • 一生 自由 更新
  • 您可以创建客户并将发票发送给他们。 您还可以设置密码,以便他们可以访问客户端门户。
  • 向客户发送专业发票,并开始接受在线付款,无需支付佣金/交易费。
  • 向帐户中添加存款和在帐户之间进行转帐,并保持银行帐户余额有效。
  • 创建供应商,以便您可以向他们分配账单和付款,然后轻松过滤它们的交易。
  • 创建和管理账单,使您的财务始终准确,健康。 知道什么以及何时付款。
  • 添加非计费费用作为付款,以使您的银行/现金帐户余额保持最新。
  • 启用库存跟踪并管理进出货物。 项目还可以加快开票速度。
  • 创建无限的银行和现金帐户,并跟踪其期初和经常余额。
  • 以任何货币发送发票并增加费用,然后让系统将其转换为您的主要货币。
  • 通过一个管理面板管理多个公司的财务。 将用户分配给其他公司。
  • 获取详细的财务报告,以帮助您更好地可视化改善业务所需的所有信息。
  • 通过从应用商店中安装应用来扩展Akaunting,您可以安装或购买任何东西。
  • 在角色级别配置权限,以保护和简化其管理体验。

在Debian 10 Buster上安装Akaunting的先决条件

首先,您需要一台至少具有512MB RAM的Debian服务器。 如果您要查找VPS(虚拟专用服务器),则可以单击此特殊链接在Vultr上创建一个帐户,以获取50美元的免费信用(仅限于新用户)。 在Vultr拥有一个帐户后,在您的服务器上安装Debian 10 Buster并按照以下说明进行操作。

Akaunting需要PHP和MySQL / MariaDB。 要遵循本教程,您应该已经设置了LAMP堆栈或LEMP堆栈。 如果您更喜欢使用Apache Web服务器,请安装LAMP堆栈。

  • 如何在Debian 10 Buster上安装LAMP(Apache,MariaDB,PHP)堆栈

如果您更喜欢使用Nginx Web服务器,请安装LEMP堆栈。

  • 如何在Debian 10 Buster上安装LEMP(Nginx,MariaDB,PHP)堆栈

您还需要一个域名,以便您的客户可以通过您的域名查看发票。 我在NameCheap上注册了我的域名,因为价格低廉,并且终身免费提供Whois隐私保护。

现在,让我们安装Akaunting。

第1步:在Debian 10 Buster Server上下载Akaunting安装Zip文件

登录到Debian 10服务器,并使用以下命令下载最新的稳定版本的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 选项指定目标目录。 避免网络文件提取到 /var/www/akaunting/。 然后,我们需要将此目录的所有者更改为 www-data 以便Web服务器可以写入此目录。

sudo chown www-data:www-data /var/www/akaunting/ -R

步骤2:在MariaDB中创建数据库和用户

使用以下命令登录MariaDB数据库服务器。 由于MariaDB现在正在使用 unix_socket 身份验证用户登录的插件,无需输入MariaDB根密码。 我们只需要在 mysql 用命令 sudo

sudo mysql

然后创建一个数据库用于Akaunting。 本教程为数据库命名 akaunting。 您可以使用任何喜欢的名称。

create database akaunting;

创建数据库用户。 同样,您可以为该用户使用您的首选名称。 更换 your-password 使用您的首选密码。

create user [email protected] identified by 'your-password';

授予该用户所有的权限 akaunting 数据库。

grant all privileges on akaunting.* to [email protected];

刷新特权并退出。

flush privileges;

exit;

步骤3:安装PHP模块

运行以下命令以安装Akaunting所需或推荐的PHP模块。

sudo apt install php-imagick php7.3-common php7.3-mysql php7.3-gd php7.3-bcmath php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl

然后重新启动Apache。 (如果使用Nginx,则无需重新启动Nginx。)

sudo systemctl restart apache2

步骤4:设置Web服务器

我们可以使用Apache或Nginx Web服务器。

阿帕奇

如果您更喜欢Apache,请使用命令行文本编辑器(如Nano)为Akaunting创建一个虚拟主机文件。

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

将以下文本放入文件中。 将红色文本替换为您的实际数据。 不要忘记在域名注册商的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>

保存并关闭文件。 然后启用此虚拟主机。

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

将以下文本放入文件中。 将红色文本替换为您的实际数据。 不要忘记在DNS管理器中为域名设置DNS A记录。

server {
    listen      80;
    server_name accounting.yourdomain.com;

    root /var/www/akaunting/;
    index index.php index.html index.htm;
    charset utf-8;

    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;

    access_log  /var/log/nginx/akaunting.access.log;
    error_log   /var/log/nginx/akaunting.error.log;

    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /.(?!well-known).* {
        deny all;
    }

}

保存并关闭文件。 然后测试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。 运行以下命令以在Debian 10 Buster服务器上安装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期间提供的证书。

现在应该获得证书并自动安装。

步骤6:使用安装向导完成安装

现在去 accounting.yourdomain.com 然后将出现安装向导。 第一步是选择您的语言。

安装akaunting debian 10破坏者

然后输入数据库信息。 使用您先前创建的数据库名称和数据库用户。

用Apache Web服务器安装akaunting

接下来,输入公司名称并创建一个管理员帐户。

使用nginx Web服务器安装akaunting

完成后,您可以登录到管理面板。

akaunting debian 10破坏者

登录后,您需要按照向导创建您的第一家公司。

akaunting安装向导

现在,您可以在基于Web的管理面板中管理财务。

嘲笑小型企业的自托管会计

步骤7:配置SMTP

要发送电子邮件(例如帐户注册,密码重置,向客户发送发票等),您需要配置SMTP服务器。 SMTP设置位于 Settings -> Email -> Protocol。 使用以下设置。

  • 协议:SMTP
  • SMTP主机:您的邮件服务器的主机名,例如mail.linuxbabe.com
  • SMTP端口:587
  • 在邮件服务器上创建一个电子邮件地址,然后输入SMTP用户名和密码。
  • SMTP安全:TLS

akaunting SMTP设置

如果您想使用自己的邮件服务器向客户发送电子邮件,请查看以下文章以设置您自己的邮件服务器。 注意 我强烈建议在全新的干净操作系统上运行iRedMail邮件服务器。 在具有其他Web应用程序的OS上安装iRedMail可能会失败,并可能破坏现有应用程序。

  • 如何使用iRedMail在Debian 10上快速设置电子邮件服务器

如果您想使用SMTP中继服务,建议您使用Mailjet。 您可以按照下面的教程在Akaunting服务器上设置SMTP中继,并且应该可以将发票发送给客户端。

  • 如何使用Mailjet在Debian上设置Postfix SMTP中继

包起来

我希望本教程可以帮助您在Debian 10 Buster服务器上安装Akaunting。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 保重🙂

Sidebar