FOSSBilling là giải pháp thanh toán miễn phí và mã nguồn mở được thiết kế để khách hàng và người bán dễ dàng sử dụng. FOSSBilling là một nhánh của BoxBilling. Giải pháp này cung cấp trải nghiệm tuyệt vời cho khách hàng với giao diện trực quan và hỗ trợ nhiều cổng thanh toán. FOSSBilling phù hợp với nhiều doanh nghiệp, từ doanh nghiệp nhỏ đến doanh nghiệp vừa hoặc thậm chí là doanh nghiệp lớn. FOSSBilling có thể giúp bạn tự động hóa việc lập hóa đơn, thanh toán đến, quản lý khách hàng và giao tiếp.
Trong hướng dẫn này, bạn sẽ cài đặt giải pháp thanh toán mã nguồn mở FossBilling trên máy chủ Debian 11. Bạn sẽ thiết lập FossBilling với LEMP Stack (Linux, Nginx, MariaDB và PHP-FPM) và bảo mật FossBilling bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.
Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói Debian của bạn.
Sau khi kho lưu trữ được cập nhật, hãy cài đặt máy chủ web Nginx thông qua lệnh apt bên dưới. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22748%22%20height=%22301%22%3E%3C/svg%3E
Sau khi Nginx được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để xác minh trạng thái dịch vụ Nginx và đảm bảo rằng nó đang chạy.
Đầu ra sau đây xác nhận rằng dịch vụ Nginx đang chạy và được bật, điều này có nghĩa là nó sẽ tự động khởi động khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22264%22%3E%3C/svg%3E
Trong bước này, bạn sẽ cài đặt UFW và mở các dịch vụ SSH, HTTP và HTTPS để cho phép người dùng/máy khách truy cập.
Cài đặt UFW bằng cách thực hiện lệnh apt bên dưới. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22679%22%20height=%22300%22%3E%3C/svg%3E
Sau khi UFW được cài đặt, hãy chạy lệnh ufw bên dưới để mở các ứng dụng OpenSSH và 'WWW Full'. Các ứng dụng OpenSSH sẽ mở cổng SSH mặc định 22 và các ứng dụng 'WWW Full' sẽ mở cả dịch vụ HTTP và HTTPS trên các cổng 80 và 443.
Khi thành công, bạn sẽ nhận được đầu ra như 'Quy tắc đã cập nhật'.
Tiếp theo, hãy chạy lệnh ufw bên dưới để khởi động và bật tường lửa UFW. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Đầu ra 'Tường lửa đang hoạt động và được bật khi khởi động hệ thống' xác nhận rằng tường lửa UFW đang chạy và sẽ tự động chạy khi khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22244%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để xác minh trạng thái tường lửa UFW. Bạn sẽ thấy tường lửa UFW đang 'hoạt động' với các ứng dụng OpenSSH và 'WWW Full' được thêm vào trên cùng.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22516%22%20height=%22210%22%3E%3C/svg%3E
Với tường lửa UFW được cài đặt và được cấu hình, bạn sẽ bắt đầu cài đặt máy chủ cơ sở dữ liệu MariaDB.
Cài đặt máy chủ MariaDB bằng lệnh apt sau. Khi được nhắc, hãy nhập y và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22378%22%3E%3C/svg%3E
Sau khi MariaDB được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để xác minh dịch vụ MariaDB và đảm bảo rằng dịch vụ đang chạy.
Đầu ra sau đây xác nhận rằng máy chủ MariaDB đang chạy và được bật, nghĩa là máy chủ sẽ tự động khởi động khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Khi máy chủ MariaDB đang chạy, tiếp theo bạn sẽ bảo mật việc triển khai MariaDB thông qua Lệnh 'mariadb-secure-installation'. Chạy lệnh 'mariadb-secure-installation' bên dưới để bắt đầu bảo mật máy chủ MariaDB của bạn.
Bạn sẽ được hỏi về một số cấu hình MariaDB bên dưới:
Để bắt đầu, hãy chạy lệnh 'mariadb' bên dưới để đăng nhập vào shell MariaDB. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu gốc MariaDB của bạn.
Tiếp theo, hãy chạy các truy vấn bên dưới để tạo cơ sở dữ liệu và người dùng mới cho Fossbilling. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới 'fossbillingdb' và người dùng MariaDB 'fossbilling'. Ngoài ra, hãy đảm bảo thay đổi mật khẩu trong các truy vấn bên dưới.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22241%22%3E%3C/svg%3E
Bây giờ hãy xác minh các đặc quyền của người dùng MariaDB 'fossbilling' và đảm bảo rằng người dùng có đặc quyền truy cập cơ sở dữ liệu 'fossbillingdb'.
Bây giờ hãy nhập quit để thoát.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22176%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã cài đặt máy chủ MariaDB, cấu hình người dùng gốc MariaDB và tạo cơ sở dữ liệu và người dùng cho FossBilling. Ở bước tiếp theo, bạn sẽ cài đặt và cấu hình PHP-FPM trên máy chủ Debian.
Trước đó, bạn phải thêm kho lưu trữ PHP của bên thứ ba vào máy chủ Debian của mình. Lý do là vì PHP 8.0 vẫn chưa có trên kho lưu trữ Debian 11.
Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các phụ thuộc cơ bản vào hệ thống Debian của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22277%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh wget bên dưới để tải xuống khóa GPG cho PHP kho lưu trữ.
Tiếp theo, chạy lệnh bên dưới để thêm kho lưu trữ PHP vào máy chủ Debian của bạn.
Sau đó, làm mới và cập nhật chỉ mục gói bằng lệnh apt bên dưới. Lệnh này sẽ tải xuống chỉ mục danh sách gói cho kho lưu trữ PHP mới.
sudo apt update
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt các gói PHP và PHP-FPM. Nhập y khi được nhắc và nhấn ENTER để tiếp tục. Ngoài ra, hãy đảm bảo phiên bản PHP mà bạn sẽ cài đặt là PHP 8.1 hoặc 8.2.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Sau đó, bạn có thể cài đặt các tiện ích mở rộng PHP theo yêu cầu của FossBilling thông qua lệnh apt bên dưới. Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Khi các gói PHP được cài đặt, hãy mở tệp '/etc/php/8.2/fpm/php.ini' bằng trình chỉnh sửa nano bên dưới lệnh.
Thay đổi cấu hình PHP mặc định bằng các dòng sau.
Lưu và thoát khỏi tệp '/etc/php/8.2/fpm/php.ini' khi hoàn tất.
Tiếp theo, chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ PHP-FPM và áp dụng thay đổi.
Sau đó, hãy xác minh dịch vụ PHP-FPM để đảm bảo rằng dịch vụ đã được bật và đang chạy. Đầu ra 'active (running)' xác nhận rằng dịch vụ PHP-FPM đang chạy và đầu ra 'loaded (.../php8.2.service; enabled;..)' xác nhận rằng dịch vụ đã được bật và sẽ tự động chạy khi hệ thống khởi động.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22272%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để xác minh phiên bản PHP và danh sách các tiện ích mở rộng được bật trên hệ thống Debian của bạn. Trong terminal của bạn, bạn sẽ thấy một đầu ra như 'PHP 8.2' xác nhận rằng bạn đã cài đặt PHP 8.2. Và đối với danh sách các tiện ích mở rộng PHP, hãy đảm bảo rằng các tiện ích mở rộng 'pdo_mysql', 'curl', 'openssl' và 'zlib' được bật.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22637%22%20height=%22292%22%3E%3C/svg%3E
Bạn đã cài đặt LEMP Stack với máy chủ web Nginx, máy chủ cơ sở dữ liệu MariaDB và PHP-FPM. Bây giờ bạn đã sẵn sàng tải xuống và cài đặt FossBilling.
Trước tiên, hãy chạy lệnh apt bên dưới để cài đặt gói giải nén.
Tiếp theo, hãy tạo một thư mục mới '/var/www/fossbilling' và di chuyển thư mục làm việc của bạn vào đó. Sau đó, tải xuống phiên bản ổn định mới nhất của FossBilling thông qua lệnh curl bên dưới.
Sau khi tải xuống FossBilling, bạn sẽ nhận được tệp mới 'FOSSBilling.zip' trong thư mục làm việc hiện tại của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22138%22%3E%3C/svg%3E
Chạy lệnh giải nén bên dưới để giải nén tệp 'FOSSBilling.zip'. Sau đó, thay đổi quyền sở hữu thư mục cài đặt FossBilling '/var/www/fossbilling' thành người dùng và nhóm 'www-data'.
Sau khi tải xuống mã nguồn FossBilling và cấu hình thư mục cài đặt đúng cách. Tiếp theo, bạn sẽ tạo cấu hình khối máy chủ Nginx mới sẽ được sử dụng để chạy FossBilling.
Chạy lệnh nano editor bên dưới để tạo cấu hình khối máy chủ Nginx mới '/etc/nginx/sites-available/fossbilling'.
Thêm cấu hình khối máy chủ sau vào tệp. Hãy nhớ thay đổi tên miền 'fossbilling.howtoforge.local' và đảm bảo rằng bạn có đường dẫn đúng đến tệp sock PHP-FPM của mình.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Tiếp theo, chạy lệnh bên dưới để kích hoạt tệp khối máy chủ Nginx '/etc/nginx/sites-available/fossbilling'. Sau đó, hãy xác minh cấu hình Nginx để đảm bảo rằng bạn có các tệp cấu hình phù hợp.
Nếu thành công, bạn sẽ nhận được đầu ra như 'test successful - syntax ok'.
Cuối cùng, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ Nginx và áp dụng thay đổi.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Sau khi tạo xong khối máy chủ Nginx, giờ đây bạn đã sẵn sàng truy cập và bắt đầu cài đặt FossBilling. Nhưng trước đó, bạn nên bảo mật FossBilling của mình bằng chứng chỉ SSL/TLS có thể được tạo qua Certbot và Letsencrypt.
Trước khi bắt đầu, hãy đảm bảo rằng tên miền của bạn được trỏ đến địa chỉ IP của máy chủ và đảm bảo rằng bạn có địa chỉ email sẽ được sử dụng để đăng ký Letsencrypt.
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt Certbot và plugin Certbot Nginx. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22312%22%3E%3C/svg%3E
Sau khi Certbot được cài đặt, hãy chạy lệnh bên dưới để tạo chứng chỉ SSL/TLS cho tên miền của bạn. Ngoài ra, hãy đảm bảo thay đổi tên miền và địa chỉ email trong lệnh sau.
Với lệnh này, chứng chỉ SSL/TLS mới sẽ được tạo cho tên miền của bạn. Ngoài ra, lệnh này sẽ tự động thiết lập HTTPS trên khối máy chủ Nginx của bạn và thiết lập chuyển hướng tự động từ HTTP sang HTTPS. Chứng chỉ SSL/TLS của bạn được tạo trong thư mục '/etc/elstencrypt/live/fossbilling.howtoforge.local/'.
Trình cài đặt FossBilling hiện sẽ kiểm tra và xác minh thông tin chi tiết hệ thống của bạn. Đảm bảo rằng các yêu cầu có trạng thái 'Ok' với màu xanh lá cây. Nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22716%22%3E%3C/svg%3E
Bây giờ hãy nhập thông tin chi tiết về cơ sở dữ liệu MariaDB và người dùng mà bạn đã tạo và nhấp vào Tiếp theo một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22439%22%3E%3C/svg%3E
Tiếp theo, hãy nhập thông tin chi tiết về quản trị viên mới cho FossBilling. Nhập tên người dùng, địa chỉ email, mật khẩu và loại tiền tệ mặc định của bạn. Sau đó, nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Khi cài đặt FossBilling thành công, bạn sẽ nhận được thông báo 'Xin chúc mừng! FOSSBilling đã được cài đặt thành công.'.
Bạn cũng sẽ thấy một số hướng dẫn để hoàn tất cài đặt FossBilling của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22426%22%3E%3C/svg%3E
Quay lại thiết bị đầu cuối máy chủ Debian của bạn và chạy các lệnh sau để hoàn tất cài đặt FossBilling.
Xóa 'cài đặt' FossBilling thư mục.
Thay đổi quyền của tệp cấu hình FOssBilling 'config.php' thành 0644. Thao tác này sẽ xóa quyền 'ghi' đối với những người khác và nhóm.
Tạo một cron mới cho FossBilling thông qua lệnh bên dưới.
Chọn trình soạn thảo mã mà bạn muốn sử dụng. Sau đó nhập các dòng sau vào tệp.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22307%22%3E%3C/svg%3E
Bây giờ quay lại trình duyệt web và nhấp vào Hoàn tất.
Bây giờ bạn sẽ nhận được thông báo sau trang.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22301%22%3E%3C/svg%3E
Nếu bạn nhấp vào nút 'Khu vực khách hàng', bạn sẽ được chuyển hướng đến trang chủ FossBilling.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22314%22%3E%3C/svg%3E
Nếu bạn nhấp vào Nút 'Khu vực quản trị', bạn sẽ được chuyển hướng đến trang đăng nhập quản trị.
Đăng nhập bằng địa chỉ email và mật khẩu của bạn, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22747%22%3E%3C/svg%3E
Nếu thành công, bạn sẽ thấy bảng điều khiển quản trị FossBilling.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22414%22%3E%3C/svg%3E
Như vậy là bạn đã hoàn tất việc cài đặt FossBilling và bảo mật bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.
Từ đây, giờ bạn có thể sử dụng FOSSBilling cho doanh nghiệp của mình. Bạn có thể thêm nhiều người dùng hơn, thiết lập máy chủ SMTP và nhiều hơn nữa.
Trong hướng dẫn này, bạn sẽ cài đặt giải pháp thanh toán mã nguồn mở FossBilling trên máy chủ Debian 11. Bạn sẽ thiết lập FossBilling với LEMP Stack (Linux, Nginx, MariaDB và PHP-FPM) và bảo mật FossBilling bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần các yêu cầu sau:- Máy chủ Debian 11 - Ví dụ này sử dụng máy chủ Debian có tên máy chủ là 'fossbilling-server'.
- Người dùng không phải root có quyền quản trị viên sudo/root.
- Tên miền trỏ đến địa chỉ IP của máy chủ - Ví dụ này sử dụng tên miền phụ là 'fossbilling.howtoforge.local'.
Cài đặt Nginx Web Server
Trong Bước đầu tiên, bạn sẽ cài đặt máy chủ web Nginx trên hệ thống Debian của mình. Sau đó, bạn sẽ xác minh dịch vụ Nginx để đảm bảo nó đang chạy và được bật.Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói Debian của bạn.
Mã:
sudo apt update
Mã:
sudo apt install nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22748%22%20height=%22301%22%3E%3C/svg%3E
Sau khi Nginx được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để xác minh trạng thái dịch vụ Nginx và đảm bảo rằng nó đang chạy.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22264%22%3E%3C/svg%3E
Cài đặt và cấu hình tường lửa UFW
Trên Debian, tường lửa mặc định là iptables. Để dễ dàng hơn, bạn có thể cài đặt UFW để quản lý tường lửa hệ thống của mình.Trong bước này, bạn sẽ cài đặt UFW và mở các dịch vụ SSH, HTTP và HTTPS để cho phép người dùng/máy khách truy cập.
Cài đặt UFW bằng cách thực hiện lệnh apt bên dưới. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install ufw
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22679%22%20height=%22300%22%3E%3C/svg%3E
Sau khi UFW được cài đặt, hãy chạy lệnh ufw bên dưới để mở các ứng dụng OpenSSH và 'WWW Full'. Các ứng dụng OpenSSH sẽ mở cổng SSH mặc định 22 và các ứng dụng 'WWW Full' sẽ mở cả dịch vụ HTTP và HTTPS trên các cổng 80 và 443.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow "WWW Full"
Tiếp theo, hãy chạy lệnh ufw bên dưới để khởi động và bật tường lửa UFW. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo ufw enable
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22244%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để xác minh trạng thái tường lửa UFW. Bạn sẽ thấy tường lửa UFW đang 'hoạt động' với các ứng dụng OpenSSH và 'WWW Full' được thêm vào trên cùng.
Mã:
sudo ufw status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22516%22%20height=%22210%22%3E%3C/svg%3E
Với tường lửa UFW được cài đặt và được cấu hình, bạn sẽ bắt đầu cài đặt máy chủ cơ sở dữ liệu MariaDB.
Cài đặt và cấu hình máy chủ MariaDB
Trong bước này, bạn sẽ cài đặt máy chủ MariaDB, triển khai MariaDB an toàn thông qua 'mariadb-secure-installation', sau đó bạn sẽ tạo cơ sở dữ liệu MariaDB mới và người dùng mà FossBilling sẽ sử dụng.Cài đặt máy chủ MariaDB bằng lệnh apt sau. Khi được nhắc, hãy nhập y và nhấn ENTER để tiếp tục.
Mã:
sudo apt install mariadb-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22378%22%3E%3C/svg%3E
Sau khi MariaDB được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để xác minh dịch vụ MariaDB và đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Khi máy chủ MariaDB đang chạy, tiếp theo bạn sẽ bảo mật việc triển khai MariaDB thông qua Lệnh 'mariadb-secure-installation'. Chạy lệnh 'mariadb-secure-installation' bên dưới để bắt đầu bảo mật máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
- Chuyển xác thực cục bộ sang unix_socket? Nhập n để không.
- Thiết lập mật khẩu gốc MariaDB? Nhập y, sau đó nhập mật khẩu gốc MariaDB mới và lặp lại.
- Xóa người dùng ẩn danh mặc định? Nhập y để xác nhận.
- Vô hiệu hóa đăng nhập từ xa cho người dùng gốc? Nhập y để xác nhận.
- Xóa bài kiểm tra cơ sở dữ liệu mặc định? Nhập y để xác nhận.
- Tải lại đặc quyền bảng và áp dụng thay đổi? Nhập y để xác nhận.
Để bắt đầu, hãy chạy lệnh 'mariadb' bên dưới để đăng nhập vào shell MariaDB. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu gốc MariaDB của bạn.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE fossbillingdb;
CREATE USER fossbilling@localhost IDENTIFIED BY 'password';
GRANT ALL ON fossbillingdb.* TO fossbilling@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22241%22%3E%3C/svg%3E
Bây giờ hãy xác minh các đặc quyền của người dùng MariaDB 'fossbilling' và đảm bảo rằng người dùng có đặc quyền truy cập cơ sở dữ liệu 'fossbillingdb'.
Mã:
SHOW GRANTS FOR fossbilling@localhost;
quit
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22176%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã cài đặt máy chủ MariaDB, cấu hình người dùng gốc MariaDB và tạo cơ sở dữ liệu và người dùng cho FossBilling. Ở bước tiếp theo, bạn sẽ cài đặt và cấu hình PHP-FPM trên máy chủ Debian.
Cài đặt và cấu hình PHP-FPM 8.2
Ở bước này, bạn sẽ cài đặt và cấu hình PHP-FPM trên máy chủ Debian của mình. Phiên bản mới nhất của FossBilling được hỗ trợ với PHP 8.x. Vì vậy, bây giờ bạn sẽ cài đặt PHP 8.2 cho cài đặt FossBiling.Trước đó, bạn phải thêm kho lưu trữ PHP của bên thứ ba vào máy chủ Debian của mình. Lý do là vì PHP 8.0 vẫn chưa có trên kho lưu trữ Debian 11.
Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các phụ thuộc cơ bản vào hệ thống Debian của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install ca-certificates gnupg2 apt-transport-https software-properties-common
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22277%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh wget bên dưới để tải xuống khóa GPG cho PHP kho lưu trữ.
Mã:
wget -q -O /usr/share/keyrings/sury-php.gpg https://packages.sury.org/php/apt.gpg
Mã:
echo "deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt các gói PHP và PHP-FPM. Nhập y khi được nhắc và nhấn ENTER để tiếp tục. Ngoài ra, hãy đảm bảo phiên bản PHP mà bạn sẽ cài đặt là PHP 8.1 hoặc 8.2.
Mã:
sudo apt install php php-fpm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Sau đó, bạn có thể cài đặt các tiện ích mở rộng PHP theo yêu cầu của FossBilling thông qua lệnh apt bên dưới. Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
Mã:
sudo apt install libcurl4-openssl-dev php-mysql php-curl php-cli php-zip php-common php-mbstring php-xml
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Khi các gói PHP được cài đặt, hãy mở tệp '/etc/php/8.2/fpm/php.ini' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano /etc/php/8.2/fpm/php.ini
Mã:
upload_max_filesize = 16M
post_max_size = 32M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Tiếp theo, chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ PHP-FPM và áp dụng thay đổi.
Mã:
sudo systemctl restart php8.2-fpm
Mã:
sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22272%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để xác minh phiên bản PHP và danh sách các tiện ích mở rộng được bật trên hệ thống Debian của bạn. Trong terminal của bạn, bạn sẽ thấy một đầu ra như 'PHP 8.2' xác nhận rằng bạn đã cài đặt PHP 8.2. Và đối với danh sách các tiện ích mở rộng PHP, hãy đảm bảo rằng các tiện ích mở rộng 'pdo_mysql', 'curl', 'openssl' và 'zlib' được bật.
Mã:
php --version
php -m
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22637%22%20height=%22292%22%3E%3C/svg%3E
Bạn đã cài đặt LEMP Stack với máy chủ web Nginx, máy chủ cơ sở dữ liệu MariaDB và PHP-FPM. Bây giờ bạn đã sẵn sàng tải xuống và cài đặt FossBilling.
Tải xuống mã nguồn FOSSBilling
Trong bước này, bạn sẽ tải xuống mã nguồn Fossbilling và thiết lập thư mục cài đặt FossBilling, nằm trong thư mục '/var/www/fossbilling'.Trước tiên, hãy chạy lệnh apt bên dưới để cài đặt gói giải nén.
Mã:
sudo apt install unzip -y
Mã:
mkdir -p /var/www/fossbilling; cd /var/www/fossbilling
curl https://fossbilling.org/downloads/stable -L --output FOSSBilling.zip
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22138%22%3E%3C/svg%3E
Chạy lệnh giải nén bên dưới để giải nén tệp 'FOSSBilling.zip'. Sau đó, thay đổi quyền sở hữu thư mục cài đặt FossBilling '/var/www/fossbilling' thành người dùng và nhóm 'www-data'.
Mã:
unzip FOSSBilling.zip
sudo chown -R www-data:www-data /var/www/fossbilling
Thiết lập khối máy chủ Nginx
Trong bước này, bạn sẽ tạo cấu hình khối máy chủ Nginx mới sẽ được sử dụng để chạy ứng dụng FOSSBilling. Trước khi bắt đầu, hãy đảm bảo rằng bạn có tên miền được trỏ đến địa chỉ IP máy chủ Debian của mình. Ví dụ này sử dụng tên miền 'fossbiling.howtoforge.local'.Chạy lệnh nano editor bên dưới để tạo cấu hình khối máy chủ Nginx mới '/etc/nginx/sites-available/fossbilling'.
Mã:
sudo nano /etc/nginx/sites-available/fossbilling
Mã:
server {
listen 80;
set $root_path '/var/www/fossbilling';
server_name fossbilling.howtoforge.local;
index index.html index.htm index.php;
root $root_path;
try_files $uri $uri/ @rewrite;
sendfile off;
include /etc/nginx/mime.types;
# Block access to sensitive files and return 404 to make it indistinguishable from a missing file
location ~* .(ini|sh|inc|bak|twig|sql)$ {
return 404;
}
# Block access to hidden files except for .well-known
location ~ /\.(?!well-known\/) {
return 404;
}
# Disable PHP execution in /uploads
location ~* /uploads/.*\.php$ {
return 404;
}
# Deny access to /data
location ~* /data/ {
return 404;
}
location @rewrite {
rewrite ^/page/(.*)$ /index.php?_url=/custompages/$1;
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass need to be changed according to your server setup:
# phpx.x is your server setup
# examples: /var/run/phpx.x-fpm.sock, /var/run/php/phpx.x-fpm.sock or /run/php/phpx.x-fpm.sock are all valid options
# Or even localhost:port (Default 9000 will work fine)
# Please check your server setup
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
expires off;
}
}
Tiếp theo, chạy lệnh bên dưới để kích hoạt tệp khối máy chủ Nginx '/etc/nginx/sites-available/fossbilling'. Sau đó, hãy xác minh cấu hình Nginx để đảm bảo rằng bạn có các tệp cấu hình phù hợp.
Mã:
sudo ln -s /etc/nginx/sites-available/fossbilling /etc/nginx/sites-enabled/
sudo nginx -t
Cuối cùng, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ Nginx và áp dụng thay đổi.
Mã:
sudo systemctl restart nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Sau khi tạo xong khối máy chủ Nginx, giờ đây bạn đã sẵn sàng truy cập và bắt đầu cài đặt FossBilling. Nhưng trước đó, bạn nên bảo mật FossBilling của mình bằng chứng chỉ SSL/TLS có thể được tạo qua Certbot và Letsencrypt.
Bảo mật FossBilling bằng chứng chỉ SSL/TLS từ Letsencrypt
Lúc này, bạn có thể truy cập cài đặt FossBilling, nhưng vẫn ở giao thức HTTP không an toàn. Để bảo mật FossBilling, bạn có thể triển khai kết nối HTTPS an toàn bằng cách thêm chứng chỉ SSL/TLS vào khối máy chủ Nginx của mình. Để thực hiện được điều này, bạn có thể tạo chứng chỉ SSL/TLS miễn phí qua Certbot và Letsencrypt.Trước khi bắt đầu, hãy đảm bảo rằng tên miền của bạn được trỏ đến địa chỉ IP của máy chủ và đảm bảo rằng bạn có địa chỉ email sẽ được sử dụng để đăng ký Letsencrypt.
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt Certbot và plugin Certbot Nginx. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install certbot python3-certbot-nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22312%22%3E%3C/svg%3E
Sau khi Certbot được cài đặt, hãy chạy lệnh bên dưới để tạo chứng chỉ SSL/TLS cho tên miền của bạn. Ngoài ra, hãy đả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 [emailprotected] -d fossbilling.howtoforge.local
Bắt đầu cài đặt FOSSBilling
Mở trình duyệt web của bạn và truy cập tên miền cài đặt FosssBilling của bạn (ví dụ: https://fossbilling.howtoforge.local/).Trình cài đặt FossBilling hiện sẽ kiểm tra và xác minh thông tin chi tiết hệ thống của bạn. Đảm bảo rằng các yêu cầu có trạng thái 'Ok' với màu xanh lá cây. Nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22716%22%3E%3C/svg%3E
Bây giờ hãy nhập thông tin chi tiết về cơ sở dữ liệu MariaDB và người dùng mà bạn đã tạo và nhấp vào Tiếp theo một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22439%22%3E%3C/svg%3E
Tiếp theo, hãy nhập thông tin chi tiết về quản trị viên mới cho FossBilling. Nhập tên người dùng, địa chỉ email, mật khẩu và loại tiền tệ mặc định của bạn. Sau đó, nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Khi cài đặt FossBilling thành công, bạn sẽ nhận được thông báo 'Xin chúc mừng! FOSSBilling đã được cài đặt thành công.'.
Bạn cũng sẽ thấy một số hướng dẫn để hoàn tất cài đặt FossBilling của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22426%22%3E%3C/svg%3E
Quay lại thiết bị đầu cuối máy chủ Debian của bạn và chạy các lệnh sau để hoàn tất cài đặt FossBilling.
Xóa 'cài đặt' FossBilling thư mục.
Mã:
sudo rm -rf /var/www/fossbilling/install
Mã:
sudo chmod 0644 /var/www/fossbilling/config.php
Mã:
crontab -u www-data -e
Mã:
*/5 * * * * php /var/www/fossbilling/cron.php
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22307%22%3E%3C/svg%3E
Bây giờ quay lại trình duyệt web và nhấp vào Hoàn tất.
Bây giờ bạn sẽ nhận được thông báo sau trang.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22301%22%3E%3C/svg%3E
Nếu bạn nhấp vào nút 'Khu vực khách hàng', bạn sẽ được chuyển hướng đến trang chủ FossBilling.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22314%22%3E%3C/svg%3E
Nếu bạn nhấp vào Nút 'Khu vực quản trị', bạn sẽ được chuyển hướng đến trang đăng nhập quản trị.
Đăng nhập bằng địa chỉ email và mật khẩu của bạn, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22747%22%3E%3C/svg%3E
Nếu thành công, bạn sẽ thấy bảng điều khiển quản trị FossBilling.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22414%22%3E%3C/svg%3E
Như vậy là bạn đã hoàn tất việc cài đặt FossBilling và bảo mật bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.
Kết luận
Trong hướng dẫn này, bạn đã cài đặt FOSSBilling quản lý người dùng và thanh toán mã nguồn mở trên máy chủ Debian 11. Bạn cũng đã cấu hình LEMP Stack (máy chủ web Nginx, cơ sở dữ liệu MariaDB và PHP-FPM) trên hệ thống Debian. Ngoài ra, bạn đã bảo mật cài đặt FOSSBilling bằng chứng chỉ SSL/TLS được tạo qua Certbot và Letsencrypt.Từ đây, giờ bạn có thể sử dụng FOSSBilling cho doanh nghiệp của mình. Bạn có thể thêm nhiều người dùng hơn, thiết lập máy chủ SMTP và nhiều hơn nữa.