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.
Thiết lập múi giờ:
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:
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:
Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Kiểm tra phiên bản PHP:
Bật và khởi động dịch vụ PHP-FPM:
Kiểm tra phiên bảnMySQL:
Kích hoạt và khởi độngMySQLservice:
Chạy tập lệnh
Trả lời từng câu hỏi sau:
Kết nối với shell MySQL với tư cách là người dùng root:
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:
Thoát khỏi MySQL:
Thay thế
Tải xuống và cài đặt Acme.sh:
Kiểm tra phiên bản Acme.sh:
Lấy chứng chỉ RSA và ECC/ECDSA cho tên miền/tên máy chủ của bạn:
Sau khi chạy các lệnh trên, chứng chỉ và khóa của bạn sẽ nằm trong:
Kiểm tra phiên bản NGINX:
Bắt đầu và bật dịch vụ NGINX:
Cấu hình Nginx cho InvoicePlane bằng cách chạy:
Và điền cấu hình sau vào tệp:
Kiểm tra cấu hình NGINX:
Tải lại NGINX:
Điều hướng đến
Tạo một bản sao của tệp
Mở tệp
Thay đổi quyền sở hữu thư mục
Chạy
Khởi động lại dịch vụ PHP-FPM:
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:
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
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.
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
Mã:
tzsetup
Mã:
freebsd-update fetch install
pkg update && pkg upgrade -y
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
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
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
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
Mã:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
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
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]
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Mã:
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Mã:
exit
dbname
, username
và password
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. Tải xuống và cài đặt Acme.sh:
Mã:
sudo pkg install -y acme.sh
Mã:
acme.sh --version
# v2.8.2
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
- Đố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
Mã:
nginx -v
#nginx phiên bản: nginx/1.14.2
Mã:
sudo sysrc nginx_enable=yes
sudo service nginx start
Mã:
sudo vim /usr/local/etc/nginx/invoiceplane.conf
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;
}}
Mã:
sudo nginx -t
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
/var/www/invoiceplane
thư mục:
Mã:
cd /usr/local/www/invoiceplane
ipconfig.php.example
và đổi tên bản sao thành ipconfig.php:
Mã:
sudo cp ipconfig.php.example ipconfig.php
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
/usr/local/www/invoiceplane
thành www:
Mã:
sudo chown -R www:www /usr/local/www/invoiceplane
sudo vim /etc/php.ini
và đặt date.timezone:
Mã:
date.timezone = Region/City
Mã:
sudo service php-fpm restart
Mã:
http://example.com/index.php/setup
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=false
bằ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.