• 如何使用Apache/Nginx在Ubuntu18.04服务器上安装InvoiceNinja

    本教程将向您展示如何使用Apache或Nginx web服务器在Ubuntu18.04上安装InvoiceNinja。InvoiceNinja是一款开源、自托管的发票软件,是Freshbooks等商业在线发票平台的低成本替代品。InvoiceNinja提供托管发票服务,但如果您想自行托管该软件,可以按照以下说明操作。 忍者特征 使用InvoiceNinja,您可以使用自己的域名和品牌向客户发送发票。 在一个账户下管理多个业务的发票。 通过使用定期发票自动向长期客户计费,节省时间。 轻松创建并向客户发送漂亮的建议。 将第三方文件附加到发票上。 创建项目任务&amp;追踪时间。 使用可视化项目管理工具组织和规划客户的工作。 让你的客户一眼就能看到他们与你的所有交易。 Zapier automation允许您在发票账户和流行应用程序之间传输数据,包括Gmail、Google Sheets、QuickBooks Online、Slack、Pipeline、MailChimp等。 申请存款;多次使用同一发票支付部分款项。 使用预先编写的自动提醒电子邮件序列提醒客户需要支付发票。 当客户查看并支付发票时接收通知。 还有更多 预演 首先,你需要一台至少有512MB内存的Linux服务器。你可以点击这个特殊链接在DigitalOcean上获得100美元的免费积分。(仅限新用户使用)。如果您已经是DigitalOcean用户,那么您可以单击此特殊链接在Vultr上获得50美元的免费积分(仅限新用户)。一旦你在DigitalOcean或Vultr拥有了一个帐户,请在你的服务器上安装Ubuntu18.04,并按照以下说明操作。 InvoiceNinja需要PHP和MySQL/MariaDB。要学习本教程,您应该已经设置了灯堆栈或LEMP堆栈。如果您还没有这样做,请使用以下指南之一。 如何在Ubuntu 18.04上安装LAMP(Apache、MariaDB、PHP)堆栈 如何在Ubuntu18.04上安装LEMP(Nginx、MariaDB、PHP)堆栈 你还需要一个域名,这样你的客户就可以通过你的域名看到发票。我在namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 现在让我们安装InvoiceNinja。 第一步:在Ubuntu 18.04服务器上下载InvoiceNinja安装Zip文件 通过SSH登录Ubuntu 18.04服务器。然后运行以下命令将最新版本的InvoiceNinja zip文件下载到服务器上。 wget -O invoice-ninja.zip https://download.invoiceninja.com/ 下载后,使用解压功能提取归档文件。 sudo apt install unzip sudo unzip invoice-ninja.zip -d /var/www/ -d选项指定目标目录。InvoiceNinja web文件将被提取到/var/www/ninja。为了更好地识别每个目录,可以将其重命名为invoice ninja。 sudo mv /var/www/ninja /var/www/invoice-ninja 然后我们需要将该目录的所有者更改为www数据,以便web服务器可以写入该目录。 sudo chown www-data:www-data /var/www/invoice-ninja/ -R 我们还需要更改存储目录的权限。 sudo chmod 755 /var/www/invoice-ninja/storage/ -R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为Ninja创建一个数据库。本教程将数据库命名为invoiceninja。你可以用任何你喜欢的名字。 create database invoiceninja; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 create user ninja@localhost identified by 'your-password'; 授予此用户在invoiceninja数据库上的所有权限。 grant all privileges on invoiceninja.* to ninja@localhost; 刷新权限并退出。 flush privileges; exit; 第3步:设置Web服务器 我们可以使用Apache或Nginx web服务器。 阿帕奇 如果您更喜欢Apache,请为Invoice Ninja创建一个虚拟主机文件。 sudo nano /etc/apache2/sites-available/invoice-ninja.conf 将以下文本放入文件中。用实际数据替换红色文本。别忘了为域名设置一个记录。(请注意,web根目录设置为/var/www/invoice ninja/public/,而不是/var/www/invoice ninja/) <VirtualHost *:80> ServerName invoice.yourdomain.com DocumentRoot /var/www/invoice-ninja/public <Directory /var/www/invoice-ninja/public> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined </VirtualHost> 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite invoice-ninja.conf 我们需要启用重写模块。 sudo a2enmod rewrite 重新启动Apache以使更改生效。 sudo systemctl restart apache2 现在访问发票。你的地盘。com,您将被重定向到Invoice Ninja安装向导页面(Invoice.yourdomain.com/setup)。如果看到的是默认的Apache页面而不是安装向导,则需要禁用默认的虚拟主机。 sudo a2dissite 000-default.conf 然后重启Apache。 在安装向导中输入任何信息之前,我们需要启用HTTPS。 Nginx 如果你更喜欢Nginx,创建一个发票忍者。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano /etc/nginx/conf.d/invoice-ninja.conf 将以下文本放入文件中。用实际数据替换红色文本。别忘了为域名设置一个记录。(请注意,web根目录设置为/var/www/invoice ninja/public/,而不是/var/www/invoice ninja/) server { listen 80; server_name invoice.yourdomain.com; root /var/www/invoice-ninja/public/; index index.php index.html index.htm; 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_log /var/log/nginx/invoiceninja.access.log; error_log /var/log/nginx/invoiceninja.error.log; location ~ /.php$ { fastcgi_split_path_info ^(.+/.php)(/.+)$; fastcgi_pass unix:/run/php/php7.2-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; } } 保存并关闭文件。然后测试Nginx配置。 sudo nginx -t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl reload nginx 现在访问发票。你的地盘。com,您将被重定向到Invoice Ninja安装向导页面(Invoice.yourdomain.com/setup)。在安装向导中输入任何信息之前,我们需要启用HTTPS。 第4步:启用HTTPS 为了加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu18.04服务器上安装Let's Encrypt client(certbot)。 sudo apt install certbot 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt install python3-certbot-nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d invoice.yourdomain.com 如果使用Apache,请安装Certbot Apache插件。 sudo apt install python3-certbot-apache 并运行此命令以获取并安装TLS证书。 sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d invoice.yourdomain.com 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 第5步:安装PHP模块 运行以下命令安装InvoiceNinja所需或推荐的PHP模块。 sudo apt install php-imagick php7.2-common php7.2-gd php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp 然后重启Apache。(如果使用Nginx,则无需重新启动Nginx。) sudo systemctl restart apache2 如果未安装这些模块,登录后将看到以下错误。 Whoops, looks like something went wrong. 第6步:使用安装向导完成安装 现在转到发票。你的地盘。com并输入数据库信息、SMTP设置和创建管理员用户。 如果您想使用自己的邮件服务器向客户发送电子邮件,请查看以下文章以设置自己的邮件服务器。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu18.04上轻松设置功能齐全的邮件服务器 使用自己的电子邮件服务器时,有两个驱动程序可供选择:SMTP和Sendmail。 如果邮件服务器和发票忍者在两台不同的主机上运行,请选择SMTP。 如果邮件服务器和发票忍者在同一台主机上运行,请选择Sendmail。 如果选择SMTP,请使用如下设置。 主持人:邮件。你的地盘。com端口:587加密:TLS。然后输入用户名和密码。 如果选择Sendmail,请使用如下设置。 主机:127.0.0.1端口:25加密:无。你不需要输入用户名或密码。 创建管理员用户后,您可以登录到InvoiceNinja。 设置Cron作业 我们需要设置Cron作业来发送定期发票和电子邮件提醒。编辑根用户的crontab文件。 sudo crontab -e 在该文件末尾添加以下行。 #InvoiceNinja 0 8 * * * /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-invoices > /dev/null 0 8 * * * /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-reminders > /dev/null 保存并关闭文件。这两个Cron作业将在每天早上8点运行。您还可以手动运行以下作业。 sudo /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-invoices 删除发票忍者品牌 默认情况下,您的发票将具有发票忍者品牌,您可以以每年30美元的价格购买白标签许可证,以从发票和客户端门户中删除发票忍者品牌。转到设置-&gt;发票设计,点击底部的白色标签链接购买。 结论 我希望本教程能帮助您在Ubuntu 18.04服务器上安装Invoice Ninja。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:46