Cách cài đặt InvoicePlane với Apache và chứng chỉ SSL Let's Encrypt miễn phí trên Debian 11

theanh

Administrator
Nhân viên
InvoicePlane là ứng dụng miễn phí, mã nguồn mở và tự lưu trữ để quản lý báo giá, hóa đơn, khách hàng và thanh toán của bạn. Nhiều tổ chức và người làm việc tự do sử dụng ứng dụng này để quản lý thanh toán và hóa đơn của họ. Ứng dụng này cung cấp các mẫu, chủ đề tùy chỉnh và các công cụ khác giúp bạn tăng chức năng của InvoicePlane. Nó cũng hỗ trợ nhiều ngôn ngữ và nhiều nhà cung cấp thanh toán như Paypal, Stripe hoặc thậm chí Bitcoin thông qua Coinbase.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt InvoicePlane với Apache trên Debian 11.

Điều kiện tiên quyết​

  • Một máy chủ chạy Debian 11.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt Apache, PHP và MariaDB​

Trước tiên, bạn sẽ cần cài đặt máy chủ web Apache, máy chủ cơ sở dữ liệu MariaDB, PHP và các tiện ích mở rộng PHP cần thiết khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql wget unzip php-cli php-zip php-curl -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp cấu hình PHP và thay đổi các thiết lập mặc định:
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi các mục sau lines:
Mã:
memory_limit = 256Mupload_max_filesize = 128Mmax_execution_time = 360date.timezone = UTC
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2

Tạo Cơ sở dữ liệu cho InvoicePlane​

Tiếp theo, bạn sẽ cần bảo mật cài đặt MariaDB và tạo cơ sở dữ liệu và người dùng cho InvoicePlane.

Trước tiên, hãy bảo mật cài đặt MariaDB bằng lệnh sau:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Đặt mật khẩu root? [Y/n] YXóa người dùng ẩn danh? [Y/n] yKhông cho phép đăng nhập root từ xa? [Y/n] yXóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] yTải lại bảng đặc quyền ngay bây giờ? [Y/n] y
Tiếp theo, kết nối với shell MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Sau khi kết nối, hãy tạo cơ sở dữ liệu và người dùng cho InvoicePlane bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE invplanedb;
MariaDB [(none)]> CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, cấp tất cả các đặc quyền cho InvoicePlane bằng lệnh sau:
Mã:
MariaDB [(none)]> CẤP TẤT CẢ CÁC QUYỀN TRÊN invplanedb.* CHO 'invplane'@'localhost';
Tiếp theo, chạy lệnh FLUSH PRIVILEGES để MariaDB tải lại bảng quyền:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
Cuối cùng, thoát khỏi shell MariaDB:
Mã:
MariaDB [(none)]> EXIT

Cài đặt InvoicePlane​

Trước tiên, hãy tải xuống phiên bản mới nhất của InvoicePlane bằng lệnh sau:
Mã:
wget -c -O v1.5.11.zip https://invoiceplane.com/download/v1.5.11
Sau khi tải xuống hoàn tất, hãy tạo một thư mục cho InvoicePlane và giải nén tệp đã tải xuống bên trong thư mục InvoicePlane:
Mã:
mkdir /var/www/html/invoiceplane
unzip v1.5.11.zip -d /var/www/html/invoiceplane
Tiếp theo, điều hướng đến thư mục InvoicePlane và đổi tên tệp cấu hình và tệp .htaccess:
Mã:
cd /var/www/html/invoiceplane
cp ipconfig.php.example ipconfig.php
cp htaccess .htaccess
Tiếp theo, chỉnh sửa tệp ipconfig.php bằng lệnh sau:
Mã:
nano ipconfig.php
Xác định URL trang web và cài đặt cơ sở dữ liệu của bạn như hiển thị bên dưới:
Mã:
IP_URL=http://invoice.example.comDB_HOSTNAME=localhostDB_USERNAME=invplaneDB_PASSWORD=passwordDB_DATABASE=invplanedbDB_PORT=3306
Tiếp theo, thiết lập quyền và quyền sở hữu thích hợp cho thư mục InvoicePlane:
Mã:
chown -R www-data:www-data /var/www/html/invoiceplane/
chmod -R 755 /var/www/html/invoiceplane/

Cấu hình Apache cho InvoicePlane​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho InvoicePlane. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/invoiceplane.conf
Thêm các dòng sau:
Mã:
 ServerAdmin [emailprotected] DocumentRoot /var/www/html/invoiceplane ServerName invoice.example.com  Tùy chọn +FollowSymlinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo Apache và viết lại mô-đun bằng lệnh sau:
Mã:
a2ensite invoiceplane.conf
a2enmod rewrite
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart apache2
Để xác minh trạng thái Apache, hãy chạy lệnh sau:
Mã:
systemctl status apache2
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2022-01-21 08:42:34 UTC; 5 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 15965 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID chính: 15970 (apache2) Nhiệm vụ: 6 (giới hạn: 2341) Bộ nhớ: 15,1M CPU: 82ms CGroup: /system.slice/apache2.service ??15970 /usr/sbin/apache2 -k start ??15971 /usr/sbin/apache2 -k start ??15972 /usr/sbin/apache2 -k start ??15973 /usr/sbin/apache2 -k start ??15974 /usr/sbin/apache2 -k start ??15975 /usr/sbin/apache2 -k start21 tháng 1 08:42:34 debian11 systemd[1]: Đang khởi động Máy chủ HTTP Apache...

Truy cập Giao diện người dùng web InvoicePlane​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web InvoicePlane bằng URL http://invoice.example.com. Bạn sẽ thấy trang sau:



Nhấp vào nút Thiết lập. Bạn sẽ thấy trang lựa chọn Ngôn ngữ:



Chọn ngôn ngữ của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang điều kiện tiên quyết:



Nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:





Cung cấp thông tin tài khoản người dùng quản trị, địa chỉ và nhấp vào nút Tiếp tục. Sau khi InvoicePlane đã được cài đặt, bạn sẽ thấy trang sau:



Nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng quản trị, mật khẩu rồi nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển InvoicePlane trên trang sau:


Bảo mật InvoicePlane bằng Let's Encrypt SSL​

Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý SSL. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Sau khi Certbot được cài đặt, hãy chạy lệnh sau để bảo mật trang web của bạn bằng Let's Encrypt SSL:
Mã:
certbot --apache -d invoice.example.com
Bạn sẽ được yêu cầu cung cấp email và chấp nhận các điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator standalone, Installer NoneNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)ó: CCác plugin đã chọn: Authenticator apache, Installer apacheNhận chứng chỉ mớiThực hiện các thử thách sau:http-01 challenge for invoice.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/invoice-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/invoice-le-ssl.confĐã bật trang web khả dụng: /etc/apache2/sites-available/invoice-le-ssl.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho trang web của bạn:
Mã:
Bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/invoice.conf sang ssl vhost trong /etc/apache2/sites-available/invoice-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://invoice.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/invoice.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/invoice.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23/04/2022. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công InvoicePlane với Apache và Let's Encrypt SSL trên Debian 11. Bây giờ bạn có thể triển khai InvoicePlane trong công ty của mình và bắt đầu quản lý các khoản thanh toán và hóa đơn từ trình duyệt web.
 
Back
Bên trên