如何在 Ubuntu 16.04 上安装发票忍者如何在 Ubuntu 16.04 上安装发票忍者如何在 Ubuntu 16.04 上安装发票忍者如何在 Ubuntu 16.04 上安装发票忍者
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上安装发票忍者

在此页

  1. 第 1 步 - 安装 Nginx
  2. 第 2 步 - 安装和配置 MariaDB 服务器
  3. 第 3 步 - 安装和配置 PHP7.0-FPM
  4. 第 4 步 - 安装和配置 Invoice Ninja
  5. 第 5 步 - 配置 SSL 和虚拟主机
  6. 第 6 步 - 完成安装和测试
  7. 参考资料

Invoice Ninja 是一个基于 Web 的开源软件,用于开发票、支付、时间跟踪等。您可以在几秒钟内在线创建发票,与 Stripe、PayPal、WePay 等支付网关进行交互。 Invoice Ninja 可以向您显示 PDF 格式的实时发票预览。您可以自己轻松更改模板中的公司徽标。 Invoice Ninja 基于 PHP,使用 Laravel 框架构建,可以安装在 Linux 和 Windows 上。

在本教程中,我将向您展示如何在 Ubuntu 16.04 上安装 Invoice Ninja。我将使用 Nginx 作为 Web 服务器,使用 MariaDB 作为数据库系统。

先决条件

  • Ubuntu 16.04 服务器。
  • 根特权。

第 1 步 - 安装 Nginx

在此步骤中,我们将安装 Nginx Web 服务器。使用您的 ssh root 帐户连接到您的服务器(或使用其他用户登录并使用 sudo -s 成为 root 用户)并更新存储库。

ssh 
apt-get update

使用下面的 apt 命令安装 Nginx:

apt-get install -y nginx

nginx 安装完成后,启动 Nginx 并将其添加为开机自启动。

systemctl start nginx
systemctl enable nginx

确保 nginx 正在运行。检查nginx使用的端口,默认的web服务器端口是80。

netstat -plntu

第 2 步 - 安装和配置 MariaDB 服务器

安装 Nginx 后,我们需要在系统上安装 mariadb-server 包。它在 Ubuntu 存储库中可用。使用以下命令安装 mariadb-server 及其依赖项。

apt-get install -y mariadb-server

安装完成后,启动 mariadb 服务并使用这些 systemctl 命令使其在启动时启动。

systemctl restart mysql
systemctl enable mysql

MariaDB 已启动,现在您可以使用以下命令设置 mariadb 的 root 密码。

mysql_secure_installation

设置新的 MariaDB root 密码。

Set root password? [Y/n] Y
New password:
Re-enter new 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。

mysql -u root -p
TYPE YOUR ROOT PASSWORD

当一切正常时,您将看到 MySQL shell。

现在我们需要为 Invoice Ninja 创建一个新数据库和一个新用户。我将创建一个名为 ninjadb 的新数据库,一个新用户 ninja,密码为 aqwe123。请为您的安装选择一个不同的安全密码!

使用下面的 mysql 查询创建它们。创建一个新数据库,创建新用户和密码,使用密码将数据库授予新用户。

create database ninjadb;
create user identified by 'aqwe123';
flush privileges;

MariaDB 已安装,并为 Invoice Ninja 创建了一个新数据库和用户。

第 3 步 - 安装和配置 PHP7.0-FPM

Invoice Ninja是基于PHP的,所以我们需要在系统中安装PHP。我们将使用 PHP7.0-FPM 来安装 Invoice Ninja。

使用以下命令安装 Invoice Ninja 所需的 PHP7.0-FPM 和其他 PHP 扩展。

apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp

安装完成后,进入PHP配置目录,编辑php.ini文件。

cd /etc/php/7.0/
vim fpm/php.ini

取消注释下面的 CGI 行并将值更改为 0。

cgi.fix_pathinfo=0

保存并退出。

编辑 cli 目录中的 php.ini 文件。

vim cli/php.ini

取消注释下面的 CGI 行并将值更改为 0。

cgi.fix_pathinfo=0

保存并退出。

接下来,启动 PHP7.0-FPM 并使其在开机时启动。

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

默认情况下,PHP7.0-FPM 使用套接字文件运行,使用下面的命令检查它,您将看到如屏幕截图所示的 PHP 套接字文件。

netstat -pl

安装了 PHP7.0-FPM 和 Invoice Ninja 所需的所有扩展。

第 4 步 - 安装和配置 Invoice Ninja

在此步骤中,我们将下载并配置 Invoice Ninja。首先,在您的系统上安装 unzip。

apt-get install -y unzip

转到 /var/www 目录并使用 wget 命令下载 Invoice Ninja 源代码。

cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip

提取 Invoice Ninja zip 文件并转到 ninja 目录。

unzip ninja-v3.1.0.zip
cd ninja/

对于 Laravel 项目,我们需要为 PHP 安装 composer 依赖管理器。它在 Ubuntu 存储库中可用,因此我们可以使用 apt 命令安装它。

apt-get install -y composer

接下来,使用下面的 composer 命令安装 Invoice Ninja 依赖项。

composer install --no-dev -o

  • --no-dev : 禁止安装 require-dev 包
  • -o : 在自动加载器转储期间优化自动加载器

依赖安装完成后,复制 .env 文件并使用 vim 进行编辑。

cp .env.example .env
vim .env

更改以下数据库设置的值。

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

保存并退出。

接下来,在 config 目录中编辑数据库配置。

vim config/database.php

我们正在使用 MariaDB/MySQL 数据库,转到 MySQL 行 55。

'database'  => env('DB_DATABASE', 'ninjadb'),
'username'  => env('DB_USERNAME', 'ninja'),
'password'  => env('DB_PASSWORD', 'aqwe123'),

将密码替换为您为 ninja 用户设置的密码!

保存并退出。

编辑所有配置文件。接下来,使用以下命令迁移数据库。

php artisan migrate

系统将要求您运行命令,键入 yes 并按 Enter。

接下来,用所有记录为数据库播种。

php artisan db:seed

输入 yes 并按 Enter 确认。

为 Laravel 项目 Invoice Ninja 生成一个新的应用程序密钥。

php artisan key:generate

您将看到应用程序密钥。

使用 vim 编辑 app.php 文件。

vim config/app.php

转到 APP_KEY 第 85 行并粘贴我们生成的密钥。

'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),

保存并退出。

最后,将 /var/www/ninja 目录的所有者更改为 www-data 用户和组。

cd /var/www/
chown -R www-data:www-data ninja/

Invoice Ninja 已配置并准备好安装。

第 5 步 - 配置 SSL 和虚拟主机

在此步骤中,我们将使用 OpenSSL 命令生成 SSL 证书文件,并为 Invoice Ninja 创建新的虚拟主机配置。如果您在实时服务器上,则可以使用 Lets Encrypt 提供的免费 SSL,而不是使用 OpenSSL 生成自签名 SSL 证书。

为 SSL 文件创建一个新的证书目录。

mkdir -p /etc/nginx/cert/

运行下面的 openssl 命令以生成证书文件。

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

将证书文件的权限更改为 600。

chmod 600 /etc/nginx/cert/*

接下来,进入 Nginx 目录,新建一个名为 ninja 的虚拟主机配置文件。

cd /etc/nginx/
vim sites-available/ninja

在下面粘贴虚拟主机配置。

server {
    # Your Domain Name - hakase-labs.co
    listen      80;
    server_name ninja.co www.ninja.co;

    # Rewrite redirect to https
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    # Your Domain Name - hakase-labs.co
    listen      443 default;
    server_name ninja.co www.ninja.co;

    # Enable SSL for Invoice Ninja
    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;

    # Invoice Ninja web root files
    root /var/www/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:/run/php/php7.0-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;
    }
}

保存并退出。

启用ninja虚拟主机并测试Nginx配置,确保没有错误。

ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t

现在重新启动 nginx 网络服务器。

systemctl restart nginx

Invoice Ninja 虚拟主机配置已完成。

第 6 步 - 完成安装和测试

打开您的 Web 浏览器并输入 Invoice Ninja URL:ninja.co。您将被重定向到 https 连接和设置页面。

输入应用程序设置、数据库连接、电子邮件设置、用户详细信息并检查 Invoice Ninja TOS。

单击提交,您将被重定向到 Invoice Ninja 的登录页面。

输入您的电子邮件和密码,然后按登录。

您将看到 Invoice Ninja 仪表板。

发票忍者设置页面。

Invoice Ninja 在 Ubuntu 16.04 上安装了 Nginx 和 MariaDB。

参考

  • https://github.com/Lykegenes/vps-toolkit/blob/master/apps/invoice-ninja-nginx

©2015-2025 艾丽卡 support@alaica.com