最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Docker安裝Nextcloud,非AIO方式,并配置HTTPS

2023-08-10 10:45 作者:Laser5252  | 我要投稿

Nextcloud應(yīng)該是大家首選的私有網(wǎng)盤了吧,官方教程里面雖然提供了Docker的部署方式,但是屬于all in one的自動部署方式,必須要有80和433端口的域名才能進(jìn)行部署,還不支持“純本地內(nèi)網(wǎng)”或者“名+其他端口號”域的方式進(jìn)行部署,對我們來說非常不方便。

所以這篇文章講的是通過非AIO的方式,在Docker里面部署Nextcloud服務(wù)。

前期預(yù)備:

公網(wǎng)IP、域名、數(shù)字證書

Docker、Docker-compose、portainer、SSH等服務(wù)的安裝

那么正文開始:

1、Docker部署,我們使用Docker-compose配置文件的方式來部署最方便,這樣可以詳細(xì)設(shè)置一些部署的參數(shù)。

compose文件如下:

這里有幾個注意事項(xiàng):

(1)compose文件由三個組件組成,分別是主程序、緩存、數(shù)據(jù)庫。緩存和數(shù)據(jù)庫都是選用官方推薦的,自己有需要也可以改成別的,比如progressqsl之類的。

(2)三個組件都需要配置好各自的安裝路徑,建議的路徑格式是一個主文件夾里面放三個子文件夾,分別對應(yīng)三個組件,組件文件夾之間相互獨(dú)立,如果相互包含后續(xù)會存在數(shù)據(jù)庫路徑權(quán)限不足無法打開的問題。

(3)數(shù)據(jù)庫和緩存的密碼按需設(shè)置,可以設(shè)置的很復(fù)雜,但是部署之前就要設(shè)置好,部署后再想修改密碼,我試過數(shù)據(jù)庫會報錯無法啟動。

(4)主程序里面80端口的外部映射端口按照自己的需求進(jìn)行修改即可。

(5)三個服務(wù)的時區(qū)需要設(shè)置成上海,否則安裝好Nextcloud后日志里面會頻繁有警告提示:“Request does not pass strict cookie check”

? ?

2、compose文件寫好就點(diǎn)擊部署,這一步拉取三個服務(wù)的鏡像是需要時間的,拉取完之后,Docker里面對應(yīng)的容器雖然會顯示running,但是Nextcloud服務(wù)其實(shí)還在初始化的過程中。

這里面主要就是Nextcloud主程序初始化很慢,有很多東西要安裝。

docker里面主程序的log可以看到程序正在初始化,初始化完成后如下圖所示。

初始化過程中也可以去看Nextcloud主程序的安裝路徑,可以看到路徑下的文件數(shù)量是在一直不斷的增長的。


3、等主程序初始化完了之后,就可以通過“ip+端口號”的方式訪問Nextcloud的網(wǎng)頁了。

這個時候需要創(chuàng)建一個管理員賬戶,然后點(diǎn)擊安裝。這個安裝的也需要一點(diǎn)時間。

安裝好后會彈出推薦的應(yīng)用頁面,如果你那邊網(wǎng)絡(luò)不好,就會跟這里一樣加載不出來。你可以選擇等一會然后點(diǎn)擊跳過?;蛘呤謩又匦略跒g覽器的新窗口輸入“ip+端口號”,就能進(jìn)入網(wǎng)盤頁面了。到這一步服務(wù)的安裝就算完成了,剩下的就是各種配置了。


4、進(jìn)入網(wǎng)盤頁面后,點(diǎn)擊右上角頭像-管理設(shè)置-概覽,可以看到系統(tǒng)自檢后提示的各種錯誤信息。


這里我們首先配置網(wǎng)盤的緩存。

找到剛才部署Docker服務(wù)時,Nextcloud主程序的安裝目錄,在目錄下 config/config.php 找到主程序的配置文件并打開。(你們可以用各種方式和軟件進(jìn)行打開)

在配置文件中增加如下參數(shù),注意標(biāo)點(diǎn)符號,否則主程序運(yùn)行報錯。


配置文件里面,local緩存保持原來的apcu,官方并不推薦local緩存用redis。

然后在配置文件里面隨便找個地方加一行這個參數(shù),解決系統(tǒng)關(guān)于電話區(qū)域的警告。

修改完配置文件后記得點(diǎn)擊保存,配置文件會自動生效,一般不用重啟主程序。


5、然后就是修改后臺任務(wù)的配置了。我們進(jìn)到 管理設(shè)置-基本設(shè)置-后臺任務(wù) 這里??吹较到y(tǒng)默認(rèn)是使用AJAX的方式。而官方推薦是使用cron。這個需要主機(jī)每隔5分鐘自動執(zhí)行一次腳本。

這里我們首選先把選項(xiàng)改為cron,然后進(jìn)行cron參數(shù)的配置。

因?yàn)槲覀冞@個是docker部署,官方文檔里面沒有對這種使用場景進(jìn)行特別說明,所以官方文檔里面關(guān)于cron腳本的設(shè)置方法不適用。

這里大概的配置思路就是,因?yàn)镹extcloud服務(wù)是docker部署,所以腳本的運(yùn)行是要在宿主機(jī)上運(yùn)行容器里的腳本,而不是在容器中運(yùn)行腳本。

所以這里首先使用 docker ps 先找到Nextcloud主程序的docker名稱,我們這種安裝方式的名稱一般為“nextcloud-app-1”

然后我們首先在宿主機(jī)的ssh里面執(zhí)行下面的命令,看看是否能執(zhí)行成功,以確保docker名稱設(shè)置正確。? ? ?

如果執(zhí)行成功,回到Nextcloud的后臺任務(wù)的設(shè)置界面,會提示cron最近執(zhí)行過。

如果出現(xiàn)上圖說明命令正確。接下來我們只需要讓這條命令自動執(zhí)行即可。

?我們在宿主機(jī)中,先執(zhí)行:

如果提示權(quán)限不夠,就在前面加sudo

然后在彈出的窗口中增加下面這一條參數(shù):

?這一條參數(shù)的后半部分跟前面測試的命令是一模一樣的,直接復(fù)制過來就行。然后保存即可。到這里后臺服務(wù)也設(shè)置完了。

原文參考:

??????

6、這個時候在回到概覽的自檢界面,會發(fā)現(xiàn)還提示一個“文件完整性檢查”的錯誤。

我們點(diǎn)擊“無效文件列表”,看一下里面是什么錯誤。

一般情況下是有一個文件不具備訪問權(quán)限,我們只要給他賦予權(quán)限即可。


我們進(jìn)到主程序的安裝目錄下,可以找到這個nextcloud-init-sync.lock文件。

我們進(jìn)到這個目錄下,開啟命令行,然后在這個目錄下執(zhí)行?

讓這個文件有訪問權(quán)限即可消除這個警告。


到此,我們內(nèi)網(wǎng)訪問的各種錯誤就都解決完了,只有內(nèi)網(wǎng)需求的到這就算完成了。

下面就是反向代理的設(shè)置問題了。


7、開始配置反向代理,以nginx為例。?

這里我以nginxWebUI為例,這是一個有可視化界面的nginx,對于新手來說更加友好,配置更加方便,推薦使用。純nginx用戶直接看我后面的配置文件就行了。

首先我們新增一條反向代理?xiàng)l目,配置好域名和端口號的監(jiān)聽,然后開啟ssl,選擇好密鑰文件和其他參數(shù)。

然后點(diǎn)擊“設(shè)置額外參數(shù)”,增加下圖的參數(shù)。

值這里沒有分號,自動添加的

這個參數(shù)是解決反代之后提示的HSTS警告問題。


配置完基本參數(shù)之后,在代理目標(biāo)這里要添加三個條目,一個是動態(tài)http,另外兩個是自定義location。

動態(tài)http就是主程序的http地址。

兩個自定義location的路徑分別是/.well-known/carddav 和? /.well-known/caldav

兩個自定義location的額外參數(shù)里面。都需要設(shè)置額外參數(shù)。

這個參數(shù)是解決主程序自檢時候提示的 well-konwn 問題的。

配置文件的最終效果就是這樣的,如果不是nginxWebUI,純nginx代碼就按最后這個效果就行了。


9、設(shè)置反代后,我們直接瀏覽器直接輸入“域名+端口號”訪問Nextcloud服務(wù),會提示不信任域名,所以我們要在配置文件中添加信任。


打開主程序config文件,增加如下參數(shù)。

truested_domain這一條是本來就有的,第0行就是主程序的http地址,我們把我們自己的域名加在后面就行,保存文件后再使用“域名+端口號”的方式訪問,這時候就不會提示不信任域名了。


9、雖然不會提示不信任域名,但是馬上會出現(xiàn)新的問題。就是直接在瀏覽器中輸入“域名+端口號”進(jìn)行訪問會出錯。

??????????????????????????????????

仔細(xì)一看,會發(fā)現(xiàn)端口號被自動去掉了,導(dǎo)致域名指向錯誤。

這個時候我們手動輸入帶后綴的網(wǎng)址,就可以正常進(jìn)入登錄頁面了。

https://域名:端口號/login/

點(diǎn)登錄之后,網(wǎng)頁會一直轉(zhuǎn)圈不響應(yīng)。

這個時候再輸入網(wǎng)址:https://域名:端口號/apps/dashboard/

最終可以進(jìn)入nextcloud的web頁面。

? ? ??

10、這時候再去看系統(tǒng)設(shè)置的概覽頁面,主要就是提示代理頭部的錯誤,這個問題也跟上面“域名+端口號”訪問會自動去掉端口號的故障是同一個。

這個時候我們需要修改配置文件,重寫域名映射,并添加代理信任。

(1)重寫域名映射:

修改前:

?????????????

修改后:

這里面,overwrite.cli.url參數(shù)是原來就有的,需要改寫。然后再增加?overwritehost 和?overwriteprotocol 兩個參數(shù)。 其中overwrite.cli.url是需要添加https前綴的,而overwritehost不需要。


(2)添加代理信任:

這里面,172.30.33.0/24 網(wǎng)段是nginx的內(nèi)網(wǎng)網(wǎng)段,所以要添加信任。? ? ?

? ? ? ? ? ? ?

最終效果:

??????

?通過上面的配置方式,應(yīng)該是解決了Nextcloud主程序中所有的錯誤和警告問題了。

后面配置onlyoffice和郵件服務(wù)的方法在后續(xù)的文章里面再講了。

?

參考:

https://blog.csdn.net/qq_16688317/article/details/124769730

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html

https://cloudkid.fr/nextcloud-cron-setup/

https://docs.nextcloud.com/server/25/admin_manual/configuration_server/reverse_proxy_configuration.html#service-discovery

https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html?highlight=strict%20transport%20security




Docker安裝Nextcloud,非AIO方式,并配置HTTPS的評論 (共 條)

分享到微博請遵守國家法律
桂林市| 浏阳市| 于田县| 修水县| 佛山市| 嘉祥县| 湘乡市| 昌乐县| 九江市| 贵德县| 桑植县| 郎溪县| 兴国县| 兴宁市| 石阡县| 乡城县| 广河县| 青川县| 峨眉山市| 柳林县| 夹江县| 都江堰市| 鹿泉市| 牙克石市| 襄垣县| 景东| 红原县| 庆阳市| 夏津县| 肃宁县| 汽车| 青岛市| 英吉沙县| 普宁市| 乾安县| 塘沽区| 高雄县| 明溪县| 彭山县| 鹰潭市| 射阳县|