Cách cài đặt InvoicePlane với Nginx trên FreeBSD 12

theanh

Administrator
Nhân viên
InvoicePlanelà ứng dụng lập hóa đơn miễn phí và mã nguồn mở. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt InvoicePlane trên hệ thống FreeBSD 12.

Yêu cầu​

  • WebServer (Apache, NGINX).Hướng dẫn này sẽ sử dụng Nginx.
  • MySQL phiên bản 5.5 trở lên hoặc phiên bản tương đương của MariaDB.
  • PHP phiên bản 7.0, 7.1 hoặc 7.2 với các tiện ích mở rộng PHP sau đã cài đặt và kích hoạt:
  • php-gd
  • php-hash
  • php-json
  • php-mbstring
  • php-mcrypt
  • php-mysqli
  • php-openssl
  • php-recode
  • php-xmlrpc
  • php-zlib

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

  • Máy chủ chạy FreeBSD 12.
  • Người dùng không phải root có quyền sudo.

Các bước ban đầu​

Kiểm tra phiên bản FreeBSD của bạn:
Mã:
uname -ro
# FreeBSD 12.1-RELEASE
Thiết lập múi giờ:
Mã:
tzsetup
Cập nhật các gói hệ điều hành (phần mềm) của bạn. Đây là bước đầu tiên quan trọng vì nó đảm bảo bạn có bản cập nhật và bản sửa lỗi bảo mật mới nhất cho các gói phần mềm mặc định của hệ điều hành:
Mã:
freebsd-update fetch install
pkg update && pkg upgrade -y
Cài đặt một số gói thiết yếu cần thiết cho việc quản trị cơ bản hệ điều hành FreeBSD 12.0:
Mã:
pkg install -y sudo vim unzip wget bash

Bước 1 - Cài đặt PHP và các tiện ích mở rộng PHP cần thiết​

Ứng dụng web InvoicePlane yêu cầu PHP phiên bản 7.0 trở lên.

Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Mã:
sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-mysqli php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache
Kiểm tra phiên bản PHP:
Mã:
php --version

# PHP 7.2.7 (cli) (xây dựng: 25 tháng 7 năm 2019 01:28:53) (NTS)
# Bản quyền (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Bản quyền (c) 1998-2018 Zend Technologies
# với Zend OPcache v7.3.7, Bản quyền (c) 1999-2018, của Zend Technologies
Bật và khởi động dịch vụ PHP-FPM:
Mã:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Bước 2 - Cài đặtMySQL​

Cài đặt máy chủ cơ sở dữ liệuMySQL:
Mã:
sudo pkg install -y mysql57-server
Kiểm tra phiên bảnMySQL:
Mã:
mysql --version
#mysql Ver 14.14 Distrib 5.7.26, dành cho FreeBSD12.0 (amd64) bằng cách sử dụng trình bao bọc EditLine
Kích hoạt và khởi độngMySQLservice:
Mã:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Chạy tập lệnh mysql_secure installation để improveMySQL security và thiết lập mật khẩu cho người dùng MySQL root:
Mã:
sudo mysql_secure_installation
Trả lời từng câu hỏi sau:
Mã:
Bạn có muốn thiết lập plugin VALIDATE PASSWORD không? [B]N[/b]
Mật khẩu mới: [B]your_secure_password[/b]
Nhập lại mật khẩu mới:[B]your_secure_password[/b]
Xóa người dùng ẩn danh? [Y/n] [B]Y[/b]
Không cho phép đăng nhập root từ xa? [Y/n] [B]Y[/b]
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] [B]Y[/b]
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] [B]Y[/b]
Kết nối với shell MySQL với tư cách là người dùng root:
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Tạo một cơ sở dữ liệu MySQL trống và người dùng cho Matomo và ghi nhớ thông tin đăng nhập:
Mã:
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Thoát khỏi MySQL:
Mã:
exit
Thay thế dbname, usernamepassword bằng tên của riêng bạn.

Bước 3 - Cài đặt acme.shbclient và lấy chứng chỉ Let's Encrypt (tùy chọn)​

Bảo mật trang web của bạn bằng HTTPS là không cần thiết, nhưng đây là một biện pháp tốt để bảo mật lưu lượng truy cập trang web của bạn. Để có được chứng chỉ TLS từ Let's Encrypt, chúng tôi sẽ sử dụng máy khách Acme.sh. Acme.sh là phần mềm shell UNIX thuần túy để lấy chứng chỉ TLS từ Let's Encrypt mà không cần bất kỳ sự phụ thuộc nào.&nbsp

Tải xuống và cài đặt Acme.sh:
Mã:
sudo pkg install -y acme.sh
Kiểm tra phiên bản Acme.sh:
Mã:
acme.sh --version
# v2.8.2
Lấy chứng chỉ RSAECC/ECDSA cho tên miền/tên máy chủ của bạn:
Mã:
# RSA
sudo acme.sh --issue--standalone--home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Sau khi chạy các lệnh trên, chứng chỉkhóa của bạn sẽ nằm trong:
  • Đối với RSA: thư mục /etc/letsencrypt/example.com.
  • Đối với ECC/ECDSA: thư mục /etc/letsencrypt/example.com_ecc.

Bước 3 - Cài đặt NGINX​

Cài đặt máy chủ web NGINX:
Mã:
sudo pkg install -y nginx
Kiểm tra phiên bản NGINX:
Mã:
nginx -v
#nginx phiên bản: nginx/1.14.2
Bắt đầu và bật dịch vụ NGINX:
Mã:
sudo sysrc nginx_enable=yes
sudo service nginx start
Cấu hình Nginx cho InvoicePlane bằng cách chạy:
Mã:
sudo vim /usr/local/etc/nginx/invoiceplane.conf
Và điền cấu hình sau vào tệp:
Mã:
server { listen 80; listen [::]:80; server_name example.com; root /usr/local/www/invoiceplane; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* \.php$ {
 fastcgi_pass 127.0.0.1:9000;
 include fastcgi_params;
 fastcgi_index index.php5;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 }}
Kiểm tra cấu hình NGINX:
Mã:
sudo nginx -t
Tải lại NGINX:
Mã:
sudo service nginx restart

Bước 4 - Cài đặt InvoicePlane​

Tải xuống phiên bản ổn định mới nhất của InvoicePlane và giải nén tệp lưu trữ:
Mã:
sudo mkdir -p /usr/local/www
cd /usr/local/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane
Điều hướng đến /var/www/invoiceplanethư mục:
Mã:
cd /usr/local/www/invoiceplane
Tạo một bản sao của tệp ipconfig.php.example và đổi tên bản sao thành ipconfig.php:
Mã:
sudo cp ipconfig.php.example ipconfig.php
Mở tệp ipconfig.php và thêm URL của bạn vào đó:
Mã:
sudo vim ipconfig.php
# Giống như this
IP_URL=http://example.com
Thay đổi quyền sở hữu thư mục /usr/local/www/invoiceplane thành www:
Mã:
sudo chown -R www:www /usr/local/www/invoiceplane
Chạy sudo vim /etc/php.ini và đặt date.timezone:
Mã:
date.timezone = Region/City
Khởi động lại dịch vụ PHP-FPM:
Mã:
sudo service php-fpm restart
Chạy trình cài đặt InvoicePlane từ trình duyệt web của bạn và làm theo hướng dẫn:
Mã:
http://example.com/index.php/setup
Sau khi quá trình cài đặt hoàn tất, bạn có thể đăng nhập vào InvoicePlane bằng địa chỉ email và mật khẩu đã chọn trong quá trình cài đặt.

Nếu bạn muốn bảo mật cài đặt của bạn, bạn có thể vô hiệu hóa thiết lập. Để thực hiện việc này, hãy thay thế dòng DISABLE_SETUP=falsebằng DISABLE_SETUP=true trong tệp ipconfig.php của bạn.

Bước 5 - Hoàn tất thiết lập InvoicePlane​

InvoicePlane hiện đã được cài đặt và định cấu hình, đã đến lúc truy cập trình hướng dẫn cài đặt web của nó.

Mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến trang sau:



Bây giờ, hãy nhấp vào nút Thiết lập. Bạn sẽ thấy trang sau:



Tiếp theo, chọn ngôn ngữ và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



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



Tại đây, hãy cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút Thử lại. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Bây giờ, hãy cung cấp tất cả các thông tin chi tiết cần thiết, sau đó nhấp vào nút Tiếp tục. Sau khi cài đặt hoàn tất, bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Đăng nhập để truy cập vào quản trị InvoicePlane.

Liên kết​

 
Back
Bên trên