日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu系统配置nijia_使用Apache/Nginx在Ubuntu 18.04上安装InvoiceNinja的方法

發布時間:2024/3/24 Ubuntu 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu系统配置nijia_使用Apache/Nginx在Ubuntu 18.04上安装InvoiceNinja的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹使用Apache/Nginx在Ubuntu 18.04 Server上安裝InvoiceNinja的方法,你需要一臺至少具有512MB RAM的Linux服務器,同時要搭載PHP和MySQL/MariaDB。

設置LAMP或LEMP的參考文章

一、在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網絡文件將被解壓縮到/var/www/ninja,為了更好地識別每個目錄,可以將其重命名為invoice-ninja:

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

然后我們需要將此目錄的所有者更改為www-data,以便Web服務器可以寫入此目錄:

sudo chown www-data:www-data /var/www/invoice-ninja/ -R

我們還需要更改存儲目錄的權限:

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

二、在MariaDB中創建數據庫和用戶

使用以下命令登錄MariaDB數據庫,由于MariaDB現在使用unix_socket插件來驗證用戶登錄,因此無需輸入MariaDB root密碼(參考:快速重置MariaDB或是MySQL的root密碼),我們只需要在mysql命令前加上sudo:

sudo mysql

然后為Invoice Ninja創建一個數據庫,本教程將數據庫命名為invoiceninja,你可以自定義名稱:

create database invoiceninja;

創建數據庫用戶,同樣可以為此用戶使用你的首選名稱,用你的首選密碼替換密碼,注意替換ninja和your-password:

create user ninja@localhost identified by 'your-password';

授予此用戶invoiceninja數據庫的所有權限:

grant all privileges on invoiceninja.* to ninja@localhost;

刷新權限并退出:

flush privileges;

exit;

三、設置Web服務器

我們可以使用Apache或Nginx Web服務器。

1、Apache

如果使用Apache,請為Invoice Ninja創建一個主機文件:

sudo nano /etc/apache2/sites-available/invoice-ninja.conf

將以下文本放入文件中,將invoice.yourdomain.com替換為實際數據,不要忘記為域名設置A記錄(請注意,Web根目錄設置為/var/www/invoice-ninja/public/,而不是/var/www/invoice-ninja/):

ServerName invoice.yourdomain.com

DocumentRoot /var/www/invoice-ninja/public

DirectoryIndex index.php

Options +FollowSymLinks

AllowOverride All

Require all granted

ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log

CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined

保存并關閉文件,然后啟用此主機:

sudo a2ensite invoice-ninja.conf

我們需要啟用重寫模塊:

sudo a2enmod rewrite

重新啟動Apache以使更改生效:

sudo systemctl restart apache2

現在訪問invoice.yourdomain.com,將被重定向到Invoice Ninja設置向導頁面(invoice.yourdomain.com/setup),如果看到默認的Apache頁面而不是安裝向導,則需要禁用默認的主機:

sudo a2dissite 000-default.conf

并重新啟動Apache。

在設置向導中輸入任何信息之前,我們需要啟用HTTPS。

2、Nginx

如果使用Nginx,請在/etc/nginx/conf.d/目錄中創建invoice-ninja.conf文件:

sudo nano /etc/nginx/conf.d/invoice-ninja.conf

將以下文本放入文件中,將invoice.yourdomain.com替換為實際數據,不要忘記為域名設置A記錄(請注意,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

現在訪問invoice.yourdomain.com,將被重定向到Invoice Ninja設置向導頁面(invoice.yourdomain.com/setup),在設置向導中輸入任何信息之前,我們需要啟用HTTPS。

四、啟用HTTPS

要加密HTTP流量,我們可以通過安裝Let's Encrypt的免費TLS證書來啟用HTTPS,運行以下命令在Ubuntu 18.04服務器上安裝Let的加密客戶端(certbot):

sudo apt install certbot

1、如果你使用Nginx,那么你還需要安裝Certbot Nginx插件:

sudo apt install python3-certbot-nginx

接下來,運行以下命令以獲取并安裝TLS證書,請替換you@example.com和invoice.yourdomain.com:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d invoice.yourdomain.com

2、如果使用Apache,請安裝Certbot Apache插件:

sudo apt install python3-certbot-apache

并運行此命令以獲取并安裝TLS證書,請替換you@example.com和invoice.yourdomain.com:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d invoice.yourdomain.com

說明:

--nginx:使用nginx插件。

--apache:使用Apache插件。

--agree-tos:同意服務條款。

--redirect:通過301重定向強制HTTPS。

--hsts:將Strict-Transport-Security標頭添加到每個HTTP響應中,強制瀏覽器始終對域使用TLS,防御SSL/TLS剝離。

--staple-ocsp:啟用OCSP Stapling。

現在應該獲取并自動安裝證書了,如下圖:

五、安裝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.

六、使用安裝向導完成安裝

現在轉到invoice.yourdomain.com并輸入數據庫信息,SMTP設置并創建管理員用戶:

創建管理員用戶后,就能正常登錄InvoiceNinja控制中心,如下圖:

至此,你已成功在Ubuntu 18.04服務器上安裝InvoiceNinja了。

相關主題

總結

以上是生活随笔為你收集整理的ubuntu系统配置nijia_使用Apache/Nginx在Ubuntu 18.04上安装InvoiceNinja的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。