InvoicePlane là một ứng dụng lập hóa đơn mã nguồn mở và miễn phí. Mã nguồn của nó có thể được tìm thấy trên Github này . Hướng dẫn này sẽ chỉ cho bạn cách cài đặt InvoicePlane trên hệ thống CentOS 7 mới.
Yêu cầu
- Máy chủ web (Apache, NGINX). Hướng dẫn này sẽ sử dụng Nginx.
- Phiên bản MySQL 5.5 trở lên hoặc phiên bản tương đương của MariaDB.
- Phiên bản PHP 7.0 trở lên với các phần mở rộng PHP sau được 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ột máy chủ chạy CentOS 7.
- Một người dùng không root với đặc quyền sudo.
Các bước ban đầu
Kiểm tra phiên bản hệ thống CentOS của bạn:
cat /etc/centos-release # CentOS Linux release 7.6.1810 (Core)
Thiết lập múi giờ:
timedatectl list-timezones sudo timedatectl set-timezone 'Region/City'
Cập nhật các gói hệ điều hành của bạn:
sudo yum update -y
Cài đặt các gói yêu cầu:
sudo yum install -y vim wget curl git bash-completion unzip
Bước 1 – Cài đặt PHP và các phần mở rộng PHP cần thiết
Ứng dụng web InovicePlane yêu cầu phiên bản PHP 7.0.0 trở lên. Các kho lưu trữ CentOS mặc định chứa phiên bản PHP cũ hơn và do đó chúng ta sẽ cần thiết lập kho lưu trữ của bên thứ ba để cài đặt phiên bản PHP mới hơn. Chúng tôi sẽ sử dụng kho lưu trữ Webtatic.
Thiết lập repo YUM của Webtatic:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Cài đặt PHP, cũng như các phần mở rộng PHP cần thiết:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-gd php72w-json php72w-mbstring php72w-mcrypt php72w-mysql php72w-xmlrpc php72w-recode
Kiểm tra phiên bản PHP:
php --version # PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Bắt đầu và kích hoạt dịch vụ PHP-FPM:
sudo systemctl start php-fpm.service sudo systemctl enable php-fpm.service
Bước 2 – Cài đặt MariaDB
Cài đặt máy chủ cơ sở dữ liệu MariaDB:
sudo yum install -y mariadb-server
Kiểm tra phiên bản MariaDB:
mysql --version # mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
Bắt đầu và kích hoạt dịch vụ MariaDB:
sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Chạy tập lệnh để cải thiện bảo mật MariaDB và đặt mật khẩu cho người dùng MariaDB : mysql_secure installation root
sudo mysql_secure_installation
Trả lời tất cả các câu hỏi như hình dưới đây:
Enter current password for root (enter for none): Set root password? [Y/n]: Y Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Đăng nhập vào vỏ MariaDB với tư cách là người dùng root:
mysql -u root -p # Enter password
Tạo cơ sở dữ liệu MariaDB và người dùng mà bạn sẽ sử dụng để cài đặt InvoicePlane và ghi nhớ thông tin đăng nhập:
CREATE DATABASE dbname; GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Thoát khỏi vỏ MariaDB:
quit
Bước 3 – Cài đặt NGINX
Cài đặt máy chủ web Nginx:
sudo yum install -y nginx
Kiểm tra phiên bản NGINX:
nginx -v # nginx version: nginx/1.12.2
Bắt đầu và kích hoạt dịch vụ Nginx:
sudo systemctl start nginx.service sudo systemctl enable nginx.service
Định cấu hình NGINX cho InvoicePlane. Chạy và điền tệp với cấu hình sau: sudo vim /etc/nginx/conf.d/invoiceplane.conf
server { listen 80; listen [::]:80; server_name example.com; root /var/www/invoiceplane; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_index index.php; try_files $uri =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } }
Kiểm tra cấu hình NGINX:
sudo nginx -t
Tải lại NGINX:
sudo systemctl reload nginx.service
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ữ:
sudo mkdir -p /var/www cd /var/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 thư mục: /var/www/invoiceplane
cd /var/www/invoiceplane
Tạo một bản sao của tệp và đổi tên bản sao thành ipconfig.php.example ipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
Mở tệp và thêm URL của bạn vào đó: ipconfig.php
sudo vim ipconfig.php # Something like this IP_URL=http://example.com
Thay đổi quyền sở hữu của thư mục thành /var/www/invoiceplane nginx:
sudo chown -R nginx:nginx /var/www/invoiceplane
Chạy và thiết lập người dùng và nhóm . Ban đầu, chúng sẽ được đặt thành sudo vim /etc/php-fpm.d/www.conf nginx apache:
sudo vim /etc/php-fpm.d/www.conf # user = nginx # group = nginx
Chạy và thiết lập sudo vim /etc/php.ini date.timezone:
date.timezone = Region/City
Khởi động lại dịch vụ PHP-FPM:
sudo systemctl restart php-fpm.service
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:
http://example.com/index.php/setup
Khi quá trình cài đặt kết thúc, bạn có thể đăng nhập vào InvoicePlane bằng địa chỉ email và mật khẩu bạn đã chọn trong quá trình cài đặt.
Nếu bạn muốn bảo mật cài đặt của mình, bạn có thể tắt cài đặt. Để làm như vậy, thay thế dòng với trong tập tin của bạn . DISABLE_SETUP=false DISABLE_SETUP=true ipconfig.php
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 họ.
Mở trình duyệt web của bạn và nhập URL http://example.com . Bạn sẽ được chuyển hướng đến trang sau:
Bây giờ, bấm vào nút Cài đặt . 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, cung cấp chi tiết 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ờ, bấm vào nút Tiếp tục . Bạn sẽ thấy trang sau:
Bây giờ, bấm vào nút Tiếp tục . Bạn sẽ thấy trang sau:
Bây giờ, cung cấp tất cả các 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ờ, bấm vào nút Đăng nhập để truy cập quản trị InvoicePlane.
PS. Nếu bạn thích bài viết cách cài đặt InvoicePlane trên server CentOS 7, hãy chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các nút bên trái hoặc đơn giản là để lại câu trả lời dưới đây. Cảm ơn.