如何在FreeBSD 12上使用Nginx安装InvoicePlane
如何在FreeBSD 12上使用Nginx安装InvoicePlane
InvoicePlane是一个免费的开源发票应用程序。本教程将向您展示如何在FreeBSD 12系统上安装InvoicePlane。
要求
- WebServer(Apache,NGINX)。本教程将使用Nginx。
- MySQL 5.5或更高版本或MariaDB的等效版本。
- PHP 7.0、7.1或7.2版本已安装并激活了以下PHP扩展:
- php-gd
- PHP哈希
- php-json
- php-mbstring
- php-mcrypt
- php-mysqli
- php-openssl
- PHP重新编码
- php-xmlrpc
- php-zlib
先决条件
- 运行FreeBSD 12。
- 具有sudo特权的非root用户。
初步步骤
检查您的FreeBSD版本:
uname -ro
# FreeBSD 12.1-RELEASE
设置时区:
tzsetup
更新您的操作系统软件包(软件)。这是重要的第一步,因为它可以确保您具有操作系统默认软件包的最新更新和安全修复程序:
freebsd-update fetch install
pkg update && pkg upgrade -y
安装一些基本软件包,这些软件包是FreeBSD 12.0操作系统的基本管理所必需的:
pkg install -y sudo vim unzip wget bash
第1步-安装PHP和所需的PHP扩展
InvoicePlane Web应用程序需要PHP 7.0或更高版本。
安装PHP以及必要的PHP扩展:
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
检查PHP版本:
php --version
# PHP 7.2.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies
启用并启动PHP-FPM服务:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
第2步-安装MySQL
安装MySQL数据库服务器
sudo pkg install -y mysql57-server
检查MySQL版本:
mysql --version
# mysql Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using EditLine wrapper
启用并启动MySQL服务:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
跑 mysql_secure installation
脚本以提高MySQL安全性并设置MySQL密码 root
用户:
sudo mysql_secure_installation
回答每个问题:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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
以root用户身份连接到MySQL Shell:
sudo mysql -u root -p
# Enter password
为Matomo创建一个空的MySQL数据库和用户,并记住凭据:
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
从MySQL退出:
exit
更换 dbname
, username
和 password
用你自己的名字。
步骤3-安装acme.shbclient并获取“让我们加密货币”证书(可选)
不需要使用HTTPS保护您的网站,但这是保护您网站访问量的一个好习惯。为了从Let’s Encrypt获得TLS证书,我们将使用Acme.sh客户端。 Acme.sh是一个纯UNIX Shell软件,用于以零依赖关系从Let’s Encrypt获得TLS证书。
下载并安装Acme.sh:
sudo pkg install -y acme.sh
检查Acme.sh版本:
acme.sh --version
# v2.8.2
为您的域名/主机名获取RSA和ECC / ECDSA证书:
# 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
运行上述命令后,您的证书和密钥将位于:
- 对于RSA:
/etc/letsencrypt/example.com
目录。 - 对于ECC / ECDSA:
/etc/letsencrypt/example.com_ecc
目录。
第3步-安装NGINX
安装NGINX Web服务器:
sudo pkg install -y nginx
检查NGINX版本:
nginx -v
# nginx version: nginx/1.14.2
启动并启用NGINX服务:
sudo sysrc nginx_enable=yes
sudo service nginx start
通过运行以下命令为InvoicePlane配置Nginx:
sudo vim /usr/local/etc/nginx/invoiceplane.conf
并使用以下配置填充文件:
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;
}
}
测试NGINX配置:
sudo nginx -t
重新加载NGINX:
sudo systemctl reload nginx.service
步骤4-安装InvoicePlane
下载InvoicePlane的最新稳定版本并解压缩存档:
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
目录:
cd /usr/local/www/invoiceplane
制作一份 ipconfig.php.example
文件并将副本重命名为 ipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
打开 ipconfig.php
文件并在其中添加您的URL:
sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com
更改所有权 /usr/local/www/invoiceplane
目录到 www:
sudo chown -R www:www /usr/local/www/invoiceplane
跑 sudo vim /etc/php.ini
并设置 date.timezone:
date.timezone = Region/City
重新启动PHP-FPM服务:
sudo service php-fpm restart
从Web浏览器运行InvoicePlane安装程序,然后按照说明进行操作:
http://example.com/index.php/setup
安装完成后,您可以使用在安装过程中选择的电子邮件地址和密码登录InvoicePlane。
如果要确保安装安全,可以禁用安装程序。为此,请更换 DISABLE_SETUP=false
与 DISABLE_SETUP=true
在你的 ipconfig.php
文件。
第5步-完成InvoicePlane设置
现在已安装并配置了InvoicePlane,是时候访问其Web安装向导了。
打开您的Web浏览器,然后输入URL http://example.com。您将被重定向到以下页面:
现在,单击设置按钮。您应该看到以下页面:
接下来,选择语言,然后单击继续按钮。您应该看到以下页面:
接下来,单击继续按钮。您应该看到以下页面:
在这里,提供您的数据库详细信息,然后单击“重试”按钮。您应该看到以下页面:
现在,单击继续按钮。您应该看到以下页面:
现在,单击继续按钮。您应该看到以下页面:
现在,提供所有必需的详细信息,然后单击继续按钮。安装完成后,您将看到以下页面:
现在,单击“登录”按钮以访问InvoicePlane管理。
链接
- https://invoiceplane.com/
- https://github.com/InvoicePlane/InvoicePlane