在本教程中,我们将向您展示如何在您的 CentOS 7 上安装和配置 Invoice Ninja。对于那些不知道的人,Invoice Ninja 是一个免费和开源的基于 Web 的应用程序软件,可用于发票、付款、时间跟踪等等。 它是为客户开具发票和计费的最佳解决方案。 您可以在几秒钟内轻松地在线创建和发送发票。 Invoice Ninja 允许您创建自己的自定义发票并将实时发票显示为 PDF 文件。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示在 CentOS 7 服务器上逐步安装 Invoice Ninja。
发票忍者的功能
- 创建工作任务并跟踪时间
- 在几秒钟内在线创建发票
- 通过电子邮件发送发票并在线获得付款
- 移动响应式设计
- 集成 45 多个支付网关
- 10个新的发票模板设计
- 查看实时发票 .PDF 创建
- 将您的公司徽标添加到发票中
- 报价转换为发票
- 自动计费和定期发票
- 多种税收设置
- 支持多种货币
- 用于查看发票的客户端
- 支付发票时发出警报
- 设置发票付款到期日
- 进口费用和设置供应商
在 CentOS 7 上安装 Invoice Ninja
第 1 步。首先,让我们首先确保您的系统是最新的。
yum clean all yum -y install epel-release yum -y update
步骤 2. 安装 LEMP 服务器。
需要 CentOS 7 LEMP 堆栈服务器。 如果您没有安装 LEMP,您可以在此处按照我们的指南进行操作。 此外,安装所需的 PHP 模块:
yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt
安装完成后,您需要修改 php.ini 配置文件:
nano /etc/php.ini
更改以下行:
cgi.fix_pathinfo=0
步骤 3. 为 Invoice Ninja 配置 MariaDB。
默认情况下,MariaDB 未加固。 您可以使用 mysql_secure_installation
脚本。 您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:
mysql_secure_installation
像这样配置它:
- 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
接下来,我们需要登录 MariaDB 控制台并为 Invoice Ninja 创建一个数据库。 运行以下命令:
mysql -u root -p
这将提示您输入密码,因此输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Invoice Ninja 安装创建一个数据库:
MariaDB [(none)]> CREATE DATABASE ninja_db; MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> q
步骤 4. 配置 PHP-FPM。
您需要为 Nginx 用户配置 PHP-FPM 池:
nano /etc/php-fpm.d/www.conf
更改以下行:
user = nginx group = nginx listen = /var/run/php/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
Save 文件并从文本编辑器中退出。
接下来,您需要为 PHP 会话和套接字文件创建一个新目录:
mkdir -p /var/lib/php/session mkdir -p /var/run/php/ chown -R nginx:nginx /var/lib/php/session/ chown -R nginx:nginx /var/run/php/
接下来,启动 PHP-FPM 并使用以下命令使其在启动时启动:
systemctl start php-fpm systemctl enable php-fpm
步骤 5. 安装 Invoice Ninja。
首先要做的是到 Invoice Ninja 的下载页面下载 Invoice Ninja 的最新稳定版本:
cd /var/www/html/ git clone https://github.com/hillelcoren/invoice-ninja.git ninja
您需要安装作曲家:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
接下来,使用 composer 安装所有 Invoice Ninja 依赖项:
cd /var/www/html/ninja composer install --no-dev -o
安装完成后,重命名 .env 文件并进行一些更改:
mv .env.example .env nano .env
根据您的数据库更改数据库值:
DB_DATABASE=ninja_db DB_USERNAME=ninja DB_PASSWORD=Y0urPa55w0rd
Save 文件并从文本编辑器中退出。 接下来,在 config 目录中编辑数据库配置:
nano config/database.php
更改以下行:
'database' => env('DB_DATABASE', 'ninja_db'), 'username' => env('DB_USERNAME', 'ninja'), 'password' => env('DB_PASSWORD', 'Y0urPa55w0rd'),
Save 文件并从文本编辑器退出并使用以下命令准备数据库:
php artisan migrate
系统将提示您运行命令,键入“是”,然后按 Enter.
接下来,使用所有记录为数据库播种,如下所示:
php artisan db:seed
运行以下命令生成应用程序密钥并记下此应用程序密钥:
php artisan key:generate
接下来,编辑 app.php
带有 nano 文本编辑器的文件:
nano config/app.php
添加密钥,如下所示:
'key' => env('APP_KEY', 'y0urGenerated Key'),
Save 和 close 该文件还更改了一些文件夹权限:
chown -R nginx:nginx /var/www/html/ninja/
步骤 6. 为 Invoice Ninja 配置 Nginx。
创建 SSL 证书并为 Invoice Ninja 创建新的虚拟主机配置:
mkdir -p /etc/nginx/cert/openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.keychmod 600 /etc/nginx/cert/*
接下来,在里面新建一个虚拟主机配置文件 /etc/nginx/
目录:
nano /etc/nginx/conf.d/ninja.conf
添加以下行:
server { listen 80; server_name idroot.us; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 default; server_name 192.168.15.23; ssl on; ssl_certificate /etc/nginx/cert/ninja.crt; ssl_certificate_key /etc/nginx/cert/ninja.key; ssl_session_timeout 5m; ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /var/www/html/ninja/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } # Access and Error Log for Invoice Ninja access_log /var/log/nginx/ininja.access.log; error_log /var/log/nginx/ininja.error.log; sendfile off; # Handle PHP Applications location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } location ~ /.ht { deny all; } }
Save 和 close 文件。 重启 Nginx 服务以使更改生效:
systemctl restart nginx
步骤 7. 配置 FirewallD Invoice Ninja。
在访问 Invoice Ninja Web 界面之前,您需要允许 HTTP 和 HTTPS 服务通过 firewalld:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
步骤 8. 访问 Invoice Ninja。
默认情况下,Invoice Ninja 将在 HTTP 端口 80 上可用。 打开您喜欢的浏览器并导航到 https://your-domain.com/
或者 https://your-server-ip
并完成所需的步骤以完成安装。
恭喜! 您已成功安装 Invoice Ninja。 感谢您使用本教程在 CentOS 7 系统上安装 Invoice Ninja。 如需更多帮助或有用信息,我们建议您查看 Invoice Ninja 官方网站.