云网牛站
所在位置:首页 > Linux云服务器 > 在CentOS 8服务器上安装和配置Invoice Ninja的步骤

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

2020-07-17 10:09:33作者:戴进稿源:云网牛站

本文介绍在CentOS 8 Linux服务器上安装和配置Invoice Ninja的具体步骤,将用LAMP服务器(CentOS Linux、Apache Web、MariaDB和PHP)来安装Invoice Ninja,硬件级别的最低要求仅为512mb的ram和1 vcpu。现在以超级用户或能够使用sudo运行命令的用户身份登录到CentOS 8 Linux服务器,运行ssh username@serverip,请自行更改serverip,拥有终端访问权后,请更新操作系统,运行sudo dnf -y update && sudo systemctl reboot命令。

 

步骤1:安装所需的PHP和扩展

确保CentOS 8 Linux上安装了所需的PHP和扩展:

sudo dnf -y install @php

sudo dnf -y install php-{cli,fpm,gd,mbstring,curl,zip,xml,pdo,mysqlnd,pear,bcmath,json}

检查PHP版本以确认安装成功:

$ php --version

PHP 7.2.24

启动并启用php-fpm服务:

sudo systemctl enable --now php-fpm

检查状态,它应该正在运行:

$ systemctl status php-fpm

参考:在CentOS 8/RHEL 8系统中安装PHP 7.4的方法

 

步骤2:安装和配置MariaDB数据库

我们将选择MariaDB数据库来运行Invoice Ninja应用程序,也可以使用其他数据库,例如MySQL和PostgreSQL。

在终端中运行以下命令,以在CentOS 8 Linux系统上安装MariaDB服务器:

sudo dnf -y install @mariadb

启动并设置要在系统引导时启动的数据库:

sudo systemctl enable --now mariadb

可设置root密码保护数据库的安全:

$ sudo mysql_secure_installation

为在CentOS 8上运行的Invoice Ninja创建数据库和用户:

$ mysql -u root -p

CREATE DATABASE invoice_ninja;

GRANT ALL ON invoice_ninja.* TO invoice_ninja@localhost IDENTIFIED BY "Str0ngDBP@ssw0rd";

FLUSH PRIVILEGES;

QUIT

测试数据库用户连接:

$ mysql -u invoice_ninja -p'Str0ngDBP@ssw0rd'

参考:在CentOS 8/CentOS 7服务器中安装MariaDB 10.5版数据库的方法

 

步骤3:安装和配置Apache httpd服务器

接下来,我们安装Apache httpd服务器:

sudo dnf -y install @httpd mod_ssl

启动并启用服务:

sudo systemctl enable --now httpd

在防火墙中允许httpd和https服务:

sudo firewall-cmd --add-port={http,https} --permanent

sudo firewall-cmd --reload

安装wget和unzip:

sudo dnf -y install zip wget

下载Invoice Ninja应用程序:

wget  https://download.invoiceninja.com/ -O invoice-ninja.zip

确认文件已下载并本地保存到服务器:

$ file invoice-ninja.zip

invoice-ninja.zip: Zip archive data, at least v1.0 to extract

解压缩文件:

unzip invoice-ninja.zip

将创建的目录移动到/var/www/html:

sudo mv ninja /var/www/html/invoice-ninja

设置正确的目录权限:

sudo chown -R apache:apache /var/www/html/invoice-ninja

sudo chmod -R 755 /var/www/html/invoice-ninja/storage/

创建Apache配置文件:

sudo vi /etc/httpd/conf.d/invoice-ninja.conf

添加以下内容:

<VirtualHost *:80>

 ServerName invoices.computingforgeeks.com

 DocumentRoot /var/www/html/invoice-ninja/public

 <Directory /var/www/html/invoice-ninja/public>

  DirectoryIndex index.php

  Options +FollowSymLinks

  AllowOverride All

  Require all granted

 </Directory>

 CustomLog /var/log/httpd/invoice_ninja_access.log combined

 ErrorLog /var/log/httpd/invoice_ninja_error.log

</VirtualHost>

确认配置文件语法:

$ sudo apachectl -t

Syntax OK

 

步骤4:为Invoice Ninja域配置SSL

为了安全起见,我们需要获取有效的SSL证书,您可以使用自签名证书,免费的Let's Encrypt SSL证书或授权CA签名的证书。

我将使用“Let’s Encrypt SSL”,我们首先需要停止httpd Web服务器:

sudo systemctl stop httpd

下载certbot工具:

sudo wget https://dl.eff.org/certbot-auto -P /usr/local/bin

sudo chmod a+x /usr/local/bin/certbot-auto

要求证书,如,请根据自身的数据进行更改:

export DOMAIN='invoices.computingforgeeks.com'

export EMAIL="webmaster@computingforgeeks.com"

certbot-auto certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

参考:使用Certbot:在Linux上安装letsencrypt的最简单方法

重新配置您的Apache服务器,如下:

<VirtualHost *:80>

 ServerName invoices.computingforgeeks.com

 DocumentRoot /var/www/html/invoice-ninja/public

 RewriteEngine On

 RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

</VirtualHost>

 SSLEngine on

 SSLCertificateFile /etc/letsencrypt/live/invoices.computingforgeeks.com/fullchain.pem

 SSLCertificateKeyFile /etc/letsencrypt/live/invoices.computingforgeeks.com/privkey.pem

<VirtualHost *:443>

 ServerName invoices.computingforgeeks.com

 DocumentRoot /var/www/html/invoice-ninja/public

 <Directory /var/www/html/invoice-ninja/public>

  DirectoryIndex index.php

  Options +FollowSymLinks

  AllowOverride All

  Require all granted

 </Directory>

 CustomLog /var/log/httpd/invoice_ninja_access.log combined

 ErrorLog /var/log/httpd/invoice_ninja_error.log

</VirtualHost>

重新启动apache Web服务器:

sudo systemctl restart httpd

打开您的Web浏览器并加载配置的域,它必须在您的/etc/hosts或有效的DNS中。

检查SSL证书信息:

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

提供URL和数据库连接值:

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

创建第一个将成为管理员的用户:

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

安装完成后,使用用户名和密码设置登录:

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

您将被带到Invoice Ninja仪表板中,如下图所示:

在CentOS 8服务器上安装和配置Invoice Ninja的步骤

至此,安装和配置Invoice Ninja全部完成。

 

相关主题

使用Apache/Nginx在Ubuntu 18.04上安装InvoiceNinja的方法

精选文章
热门文章