在Fedora 28上,如何安装InvoicePlane

・8 分钟阅读

使用不同的系统?

invoicePlane是免费的开放源码发票应用程序,它的源代码在github ,本指南将向你展示,如何在一个新的Fedora28实例上安装InvoicePlane 。

要求

  • Nginx
  • MySQL版本5.5或更高版本,或MariaDB的等效版本,本指南将使用MariaDB ,
  • PHP版本7.0或更高版本
  • 必须安装并激活以下PHP扩展:
    • php-gd
    • php-hash
    • php-json
    • php-mbstring
    • php-mcrypt
    • php-mysqli
    • php-openssl
    • php-recode
    • php-xmlrpc
    • php-zlib

开始之前

检查Fedora版本。


cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

使用sudo访问创建一个新的非root用户帐户,并且切换到它。


useradd -c"John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

注:将johndoe替换为你的用户名。

确保你的系统是最新的。


sudo dnf check-upgrade || sudo dnf upgrade -y

设置时区。


timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

安装unzip软件包。


sudo dnf install -y unzip

为简便起见,请禁用SELinux和防火墙。


sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

安装PHP和所需的PHP扩展

安装PHP和必要的PHP扩展。


sudo dnf install -y php php-cli php-fpm php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-xmlrpc php-common php-recode

检查版本。

 
php -v

 

启用和启动php-fpm.service


sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

安装MariaDB

安装MariaDB 。


sudo dnf install -y mariadb-server

检查MariaDB版本。

 
mysql --version

 

启动并启用MariaDB 。


sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

运行mysql_secure installation脚本以提高MariaDB安全性,并设置root用户密码。


sudo mysql_secure_installation

连接到MariaDB shell作为root用户。


mysql -u root -p
# Enter password:

创建一个空MariaDB数据库和InvoicePlane应用程序的用户,并记住凭据。


CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT

安装Nginx

安装Nginx


sudo dnf install -y nginx

检查Nginx版本。

 
sudo nginx -v

 

启动并启用Nginx 。


sudo systemctl start nginx.service
sudo systemctl enable nginx.service

为InvoicePlane配置Nginx ,运行 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 unix:/run/php-fpm/www.sock;
 }
}

测试Nginx配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

安装InvoicePlane

下载最新的InvoicePlane稳定版本,并且提取归档。


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

导航到/var/www/invoiceplane文件夹。


cd /var/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

注意:不要忘记用你自己的URL替换http://example.com URL 。

/var/www/invoiceplane目录的所有权更改为nginx


sudo chown -R nginx:nginx /var/www/invoiceplane

运行sudo vim/etc/php-fpm.d/www.conf并将用户和组设置为nginx ,最初,它将被设置为apache


sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

运行sudo vim/etc/php.ini,并且设置date.timezone


date.timezone = Region/City

重新启动php-fpm.service


sudo systemctl restart php-fpm.service

从你的浏览器运行InvoicePlane安装程序,并且按照以下说明操作。


http://your-domain.com/index.php/setup

安装完成后,你可以使用安装过程中填写的电子邮件地址和密码登录到InvoicePlane 。

如果要保护安装,你可以禁用安装程序,为此,请在ipconfig.php文件中用DISABLE_SETUP=true替换行DISABLE_SETUP=false

圣地学子 profile image