Actual Budget là phần mềm quản lý tài chính nguồn mở tập trung vào quyền riêng tư và được xây dựng dựa trên "Envelope Style Budgeting". Actual được viết bằng Node.js và có thể cài đặt cục bộ trong thời gian ngắn. Nó hỗ trợ đồng bộ hóa nhiều thiết bị và tùy chọn mã hóa đầu cuối.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Actual Budgeting System trên máy chủ Debian 12. Bạn sẽ cài đặt Actual với Nginx làm proxy ngược và bảo mật nó bằng HTTPS thông qua Certbot và Letsencrypt.
Trước tiên, hãy chạy lệnh 'apt' bên dưới để cập nhật chỉ mục gói Debian của bạn và cài đặt các gói cơ bản như Node.js, NPM và Git. Nhập 'Y' để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22315%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy cài đặt trình quản lý gói Yarn bằng lệnh 'npm' bên dưới. Trong ví dụ này, bạn sẽ cài đặt Yarn trên toàn cầu hoặc trên toàn hệ thống.
Khi hoàn tất, hãy kiểm tra phiên bản Node.js và Yarn bằng lệnh bên dưới.
Trong kết quả bên dưới, bạn có thể thấy Node.js 18 và Yarn 1.22 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22354%22%3E%3C/svg%3E
Đăng nhập vào người dùng của bạn bằng lệnh bên dưới.
Tải xuống mã nguồn Actual Budget bằng lệnh 'git' bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22275%22%3E%3C/svg%3E
Đi đến thư mục 'actual-server' và cài đặt các phụ thuộc JavaScript bằng lệnh 'yarn' bên dưới.
Bạn có thể xem bên dưới quá trình cài đặt các phụ thuộc JavaScript thông qua trình quản lý gói Yarn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22281%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo tệp mới 'config.json' bằng trình chỉnh sửa 'nano'.
Chèn cấu hình bên dưới để chạy Actual trên địa chỉ IP cục bộ với cổng mặc định 5006.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Cuối cùng, chạy lệnh 'yarn start' bên dưới để khởi động phần mềm thực tế. Thao tác này sẽ mở cổng 5006 trên máy chủ cục bộ của bạn hoặc địa chỉ '127.0.0.1' sẽ được ứng dụng sử dụng.
Nhấn Ctrl+c để kết thúc quá trình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22187%22%3E%3C/svg%3E
Tạo một tệp dịch vụ systemd mới '/etc/systemd/system/actual.service' với 'nano' sau editor.
Chèn cấu hình bên dưới để chạy Actual ở chế độ nền như một dịch vụ systemd. Đảm bảo thay đổi 'User' và 'Group' mặc định bằng tên người dùng của bạn, sau đó thay đổi 'WorkingDirectory' bằng đường dẫn phù hợp của bạn.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Bây giờ hãy chạy lệnh 'systemctl' bên dưới để tải lại trình quản lý systemd và áp dụng các thay đổi của bạn.
Sau đó, khởi động và kích hoạt 'actual.service' bằng lệnh sau. Lệnh này sẽ khởi động 'actual.service' ở chế độ nền và cho phép nó tự động chạy khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22194%22%3E%3C/svg%3E
Kiểm tra trạng thái 'actual.service' bằng lệnh bên dưới. Bạn sẽ thấy rằng 'actual.service' đang chạy và được bật trên hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22239%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh 'apt' bên dưới để cài đặt Nginx, Certbot và plugin Python3 Certbot Nginx. Nhập 'Y' để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22448%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo tệp khối máy chủ Nginx mới '/etc/nginx/sites-available/actual-budget' với trình soạn thảo 'nano'.
Chèn cấu hình bên dưới và đảm bảo thay đổi tham số 'server_name' bằng tên miền của bạn.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình soạn thảo.
Bây giờ hãy chạy lệnh bên dưới để kích hoạt 'actual-budget' khối máy chủ và xác minh cấu hình Nginx của bạn. Nếu không có lỗi, bạn sẽ nhận được đầu ra như 'cú pháp ok - thử nghiệm thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22184%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh bên dưới để khởi động lại và xác minh trạng thái dịch vụ Nginx. Đảm bảo rằng máy chủ web Nginx đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22222%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL và bảo mật cài đặt phần mềm thực tế của bạn. Đảm bảo thay đổi tên miền và địa chỉ email trong lệnh sau.
Khi quá trình hoàn tất, cài đặt Actual của bạn sẽ được bảo mật bằng HTTPS thông qua Certbot và Letsencrypt. Chứng chỉ SSL của bạn có sẵn trong thư mục '/etc/letsencrypt/live/domain.com' và HTTPS được tự động bật trên tệp khối máy chủ của bạn.
Nhập mật khẩu mới của bạn và lặp lại, sau đó nhấp vào 'OK'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22537%22%20height=%22452%22%3E%3C/svg%3E
Sau khi cấu hình xong mật khẩu, hãy nhập mật khẩu của bạn để đăng nhập vào Bảng điều khiển Actual.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22622%22%20height=%22308%22%3E%3C/svg%3E
Lần đầu tiên, bạn sẽ được yêu cầu xem dữ liệu demo hoặc bắt đầu lại.
Nếu bạn đã quen với Actual, bạn có thể nhấp vào 'Bắt đầu lại', nhưng nếu bạn mới sử dụng Actual, hãy nhấp vào 'Xem bản demo' để nắm được cách sử dụng cơ bản của Actual.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22630%22%20height=%22456%22%3E%3C/svg%3E
Dưới đây là ví dụ về dữ liệu demo từ Hệ thống lập ngân sách thực tế.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Actual Budgeting System trên máy chủ Debian 12. Bạn sẽ cài đặt Actual với Nginx làm proxy ngược và bảo mật nó bằng HTTPS thông qua Certbot và Letsencrypt.
Điều kiện tiên quyết
Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có:- Máy chủ Debian 12
- Người dùng không phải root có quyền quản trị viên
- Tên miền được trỏ đến địa chỉ IP của máy chủ
Cài đặt Node.js và Yarn
Trước khi cài đặt Actual, bạn phải đảm bảo rằng trình quản lý gói Node.js, Git và Yarn đã được cài đặt trên hệ thống của bạn. Hiện tại, Actual yêu cầu Node v18 trở lên, có thể cài đặt từ kho lưu trữ Debian chính thức.Trước tiên, hãy chạy lệnh 'apt' bên dưới để cập nhật chỉ mục gói Debian của bạn và cài đặt các gói cơ bản như Node.js, NPM và Git. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt update
sudo apt install nodejs npm git
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22315%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy cài đặt trình quản lý gói Yarn bằng lệnh 'npm' bên dưới. Trong ví dụ này, bạn sẽ cài đặt Yarn trên toàn cầu hoặc trên toàn hệ thống.
Mã:
npm install --global yarn
Mã:
node --version
yarn --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22354%22%3E%3C/svg%3E
Tải xuống mã nguồn Actual Budget
Sau khi các phần phụ thuộc được cài đặt, bạn đã sẵn sàng tải xuống mã nguồn Actual, cài đặt các phần phụ thuộc thông qua Yarn, cấu hình Actual bằng tệp 'config.json', sau đó chạy Actual thông qua dòng lệnh. Ngoài ra, bạn cần một người dùng chuyên dụng để cài đặt và chạy Actual trên hệ thống của bạn.Đăng nhập vào người dùng của bạn bằng lệnh bên dưới.
Mã:
su - username
Mã:
git clone https://github.com/actualbudget/actual-server.git
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22275%22%3E%3C/svg%3E
Đi đến thư mục 'actual-server' và cài đặt các phụ thuộc JavaScript bằng lệnh 'yarn' bên dưới.
Mã:
cd actual-server
yarn install
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22281%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo tệp mới 'config.json' bằng trình chỉnh sửa 'nano'.
Mã:
nano config.json
Mã:
{
"hostname": "127.0.0.1",
"port": 5006
}
Cuối cùng, chạy lệnh 'yarn start' bên dưới để khởi động phần mềm thực tế. Thao tác này sẽ mở cổng 5006 trên máy chủ cục bộ của bạn hoặc địa chỉ '127.0.0.1' sẽ được ứng dụng sử dụng.
Mã:
yarn start
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22187%22%3E%3C/svg%3E
Chạy Actual ở chế độ nền như một dịch vụ Systemd
Bây giờ bạn đã cài đặt và cấu hình Actual, hãy tạo một tệp dịch vụ systemd mới để chạy Actual ở chế độ nền như một dịch vụ systemd.Tạo một tệp dịch vụ systemd mới '/etc/systemd/system/actual.service' với 'nano' sau editor.
Mã:
sudo nano /etc/systemd/system/actual.service
Mã:
[Unit]
Description=Actual-Server (https://actualbudget.org)
After=network.target
[Service]
User=flash
Group=flash
WorkingDirectory=/home/flash/actual-server/
ExecStart=/usr/local/bin/yarn start
Restart=on-watchdog
[Install]
WantedBy=multi-user.target
Bây giờ hãy chạy lệnh 'systemctl' bên dưới để tải lại trình quản lý systemd và áp dụng các thay đổi của bạn.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable --now actual.service
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22194%22%3E%3C/svg%3E
Kiểm tra trạng thái 'actual.service' bằng lệnh bên dưới. Bạn sẽ thấy rằng 'actual.service' đang chạy và được bật trên hệ thống của bạn.
Mã:
sudo systemctl status actual.service
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22239%22%3E%3C/svg%3E
Thiết lập Nginx dưới dạng Reverse Proxy
Lúc này, Actual đang chạy ở chế độ nền như một dịch vụ systemd. Trong phần này, bạn sẽ cài đặt Nginx và cấu hình nó như một proxy ngược cho Actual. Sau đó, bạn sẽ tạo chứng chỉ SSL cho triển khai Actual của mình thông qua Certbot và Letsencrypt.Trước tiên, hãy chạy lệnh 'apt' bên dưới để cài đặt Nginx, Certbot và plugin Python3 Certbot Nginx. Nhập 'Y' để tiếp tục cài đặt.
Mã:
sudo apt install nginx certbot python3-certbot-nginx -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22448%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo tệp khối máy chủ Nginx mới '/etc/nginx/sites-available/actual-budget' với trình soạn thảo 'nano'.
Mã:
sudo nano /etc/nginx/sites-available/actual-budget
Mã:
server {
listen 80;
server_name budget.howtoforge.local;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
set $upstream_app 127.0.0.1;
set $upstream_port 5006;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
Bây giờ hãy chạy lệnh bên dưới để kích hoạt 'actual-budget' khối máy chủ và xác minh cấu hình Nginx của bạn. Nếu không có lỗi, bạn sẽ nhận được đầu ra như 'cú pháp ok - thử nghiệm thành công'.
Mã:
sudo ln -s /etc/nginx/sites-available/actual-budget /etc/nginx/sites-enabled/
sudo nginx -t
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22184%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh bên dưới để khởi động lại và xác minh trạng thái dịch vụ Nginx. Đảm bảo rằng máy chủ web Nginx đang chạy.
Mã:
sudo systemctl restart nginx
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22222%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL và bảo mật cài đặt phần mềm thực tế của bạn. Đảm bảo thay đổi tên miền và địa chỉ email trong lệnh sau.
Mã:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email -d budget.howtoforge.local
Truy cập Actual Budget thông qua Trình duyệt web
Truy cập tên miền của cài đặt Actual của bạn như https://budget.howtoforge.local. Nếu thành công, bạn sẽ thấy thông báo chào mừng đến Actual và được yêu cầu thiết lập mật khẩu.Nhập mật khẩu mới của bạn và lặp lại, sau đó nhấp vào 'OK'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22537%22%20height=%22452%22%3E%3C/svg%3E
Sau khi cấu hình xong mật khẩu, hãy nhập mật khẩu của bạn để đăng nhập vào Bảng điều khiển Actual.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22622%22%20height=%22308%22%3E%3C/svg%3E
Lần đầu tiên, bạn sẽ được yêu cầu xem dữ liệu demo hoặc bắt đầu lại.
Nếu bạn đã quen với Actual, bạn có thể nhấp vào 'Bắt đầu lại', nhưng nếu bạn mới sử dụng Actual, hãy nhấp vào 'Xem bản demo' để nắm được cách sử dụng cơ bản của Actual.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22630%22%20height=%22456%22%3E%3C/svg%3E
Dưới đây là ví dụ về dữ liệu demo từ Hệ thống lập ngân sách thực tế.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E