Nextcloud部署配置OnlyOffice

Nextcloud能夠通過OnlyOffice對儲存的Office文檔進(jìn)行在線創(chuàng)建又官、編輯豪嗽。本文簡要記錄這個(gè)部署蛤售、配置的過程以作備忘誓焦。本文重點(diǎn)講述解決域名+IPv6的情況下解決相應(yīng)的配置問題。

前言

最近在公共電腦上需要對Nextcloud上的Office文檔作一些處理诺祸、更新携悯。于是先從Nextcloud把文檔下載下來,用本地的office編輯好以后再把文件上傳回去筷笨。一番操作后讓我這個(gè)中度強(qiáng)迫癥不免感到繁瑣憔鬼。以前在研究Nextcloud的時(shí)候就發(fā)現(xiàn)通過插件以及一個(gè)叫作OnlyOffice的網(wǎng)絡(luò)套件可以實(shí)現(xiàn)在線編輯Office文檔。經(jīng)過一番折騰終于把服務(wù)搭建起來胃夏。

OnlyOffice簡介

OnlyOffice有一款產(chǎn)品叫Document Server轴或,是一款提供在線編輯office文檔的服務(wù)套件。通過這個(gè)套件以及對應(yīng)的Nextcloud插件仰禀,可以實(shí)現(xiàn)在Nextcloud上進(jìn)行在線編輯Office文檔的功能照雁。該套件有相應(yīng)的Docker鏡像,所以部署方面是比較簡單的答恶。

設(shè)備饺蚊、系統(tǒng)簡介

  • 家里通過一臺工控機(jī)(i7-7500U)作路由,主系統(tǒng)PVE悬嗓,除了路由系統(tǒng)外污呼,通過LXC裝了Docker。

  • 容器方面與本文相關(guān)的主要是Nextcloud(包括它的數(shù)據(jù)庫容器MariaDB)烫扼。因?yàn)楸疚牟皇墙榻BNextcloud的部署,所以這方面的部署過程不作講解碍庵。

  • 通過IPv6+動(dòng)態(tài)域名+反向代理的方式Nextcloud實(shí)現(xiàn)了外網(wǎng)訪問映企。訪問協(xié)議方面為HTTPS。由于這些前置配置静浴,在配置OnlyOffice的時(shí)候會(huì)造成一些問題堰氓,這點(diǎn)需要特別注意。

部署及安裝插件

  • 創(chuàng)建OnlyOffice容器苹享,容器的部署很簡單直接双絮,除了初始化的時(shí)間有點(diǎn)長以外沒有什么特別之處浴麻。
docker run -d --name onlyoffice \
    -p 8080:80 \
    -v /app/onlyoffice/logs:/var/log/onlyoffice \
    -v /app/onlyoffice/data:/var/www/onlyoffice/Data \
    -v /app/onlyoffice/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/db:/var/lib/postgresql \
    --restart=always \
    onlyoffice/documentserver:7.0.1
  • 在Nextcloud中安裝OnlyOffice插件。

用管理賬號登錄Nextcloud -> 點(diǎn)擊右上角用戶圖標(biāo) -> 點(diǎn)擊Apps -> 左面菜單點(diǎn)擊Office & text囤攀。這樣就能在主頁面找到和安裝OnlyOffice了软免。

配置插件

進(jìn)入配置頁面

用管理賬號登錄Nextcloud -> 點(diǎn)擊右上角用戶圖標(biāo) -> 點(diǎn)擊Settings -> 左面菜單的Administration底下找到并點(diǎn)擊ONLYOFFICE.這樣主頁面就會(huì)跳轉(zhuǎn)到OnlyOffice的配置頁面中。

在配置頁面下最關(guān)鍵的是配置OnlyOffice的服務(wù)地址焚挠。這里有若干方面需要注意膏萧,下面逐一介紹。

http協(xié)議訪問

如果Nextcloud是通過http協(xié)議(非https)進(jìn)行訪問蝌衔,那么用http://ip:port的格式對OnlyOffice的服務(wù)地址進(jìn)行配置通常就可以了榛泛。譬如,假設(shè)我們docker宿主機(jī)的IP是192.168.0.10噩斟,那么按照前面創(chuàng)建的容器設(shè)置曹锨,配置則應(yīng)該是:http://192.168.0.10:8080

通常來說剃允,如果Nextcloud只在內(nèi)網(wǎng)使用(通過內(nèi)網(wǎng)ip訪問)沛简,又或者通過http協(xié)議和域名實(shí)現(xiàn)外網(wǎng)訪問都屬于這種情況。

https協(xié)議訪問

如果Nextcloud是通過https協(xié)議進(jìn)行訪問的話硅急,插件也會(huì)要求通過https協(xié)議訪問OnlyOffice的服務(wù)覆享。如果使用http開頭的地址作為配置,插件會(huì)彈出下面提示营袜。

Error when trying to connect (Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.)

也就是說撒顿,我們需要為OnlyOffice配置https。

通常荚板,之所以使用https協(xié)議是為了讓訪問更加安全凤壁,https協(xié)議通常是配合外網(wǎng)訪問使用的,內(nèi)網(wǎng)訪問很少會(huì)用到跪另。配置https訪問需要用到證書拧抖,盡管自建證書也能夠?qū)崿F(xiàn),但通常情況下這樣做的意義不大免绿。更常見的情況是從域名供應(yīng)商獲取相應(yīng)的域名證書唧席。

為了解決OnlyOffice的https訪問問題,我們有兩種方式嘲驾。理論上一種是前面提到的自建證書淌哟,在這種情況下,可以通過https://ip:port的格式訪問到OnlyOffice的服務(wù)辽故。盡管網(wǎng)上看到過一些這方面的介紹徒仓,但因?yàn)檫@種配置方式很少用到,也就沒有采納這種方案誊垢。

另外一種形式是干脆為OnlyOffice服務(wù)注冊一個(gè)域名(譬如掉弛,二級域名)并為其配置https訪問症见。如果Nextcloud本身就使用https協(xié)議訪問,那么必然了解這套配置流程殃饿,這里就不贅述了谋作。在這種情況下OnlyOffice的服務(wù)地址將用https://hostname的格式進(jìn)行配置。這也是我實(shí)際選擇的方案壁晒。

IPv6的問題

在我部署好OnlyOffice并完成的https訪問配置后瓷们,再在OnlyOffice的插件中填入服務(wù)地址,系統(tǒng)跳出下面提示

Error when trying to connect (cURL error 7: (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://(我的域名)/healthcheck)

查了一下cURL error 7秒咐,大概是無法訪問的意思谬晕。然而在瀏覽器輸入https://(我的域名)/healthcheck卻能夠正常返回true

進(jìn)入nextcloud的后臺ping了一下為OnlyOffice注冊的域名發(fā)現(xiàn)的確無法訪問携取。經(jīng)過一番思考攒钳,合理猜測是因?yàn)镮Pv6造成的。

前文介紹到雷滋,設(shè)備是通過動(dòng)態(tài)域名+IPv6的方式實(shí)現(xiàn)Nextcloud的外網(wǎng)訪問不撑。訪問過程需要經(jīng)歷一系列的環(huán)節(jié),而只要其中一環(huán)不支持IPv6晤斩,那么訪問就無法成功焕檬。盡管不能確定具體是哪個(gè)環(huán)節(jié)造成的,但大概率發(fā)生在nextcloud對IPv6的支持或者docker的橋接上澳泵。

解決這個(gè)問題只要正確解釋域名對應(yīng)的IP即可实愚,可以通過兩種辦法實(shí)現(xiàn)。一個(gè)是在nextcloud的host文件中添加OnlyOffice的域名解釋兔辅。假設(shè)我們的域名是office.myhost.com腊敲,根據(jù)前文的配置,在nextcloud的host文件中添加下面域名解釋:

192.168.0.10    office.myhost.com

我采取的另一個(gè)方案是维苔,如果路由有相應(yīng)功能的話碰辅,直接在路由解釋(劫持)對應(yīng)的域名即可。該方案能夠把局域網(wǎng)內(nèi)的自定義的域名解釋集中管理介时,相對更方便没宾。

在添加了OnlyOffice的域名解釋后,沒有再出現(xiàn)前面的錯(cuò)誤沸柔,但系統(tǒng)又提示了新的錯(cuò)誤:

Error when trying to connect (Error occurred in the document service: Error while downloading the document file to be converted.) (version 7.0.1.37)

同樣是因?yàn)閺腛nlyOffice無法訪問Nextcloud導(dǎo)致的循衰,原因也同樣出在域名解釋的問題上。類似的在OnlyOffice的host文件中添加相應(yīng)解釋后就能解決勉失,譬如:

192.168.0.10    nextcloud.myhost.com

再一點(diǎn)點(diǎn)域名解釋的問題

按理來說羹蚣,當(dāng)我們在域名商對OnlyOffice的域名進(jìn)行配置的時(shí)候(或者通過動(dòng)態(tài)域名工具創(chuàng)建原探、配置對應(yīng)的域名)并不需要填寫真實(shí)的公網(wǎng)IP(無論是靜態(tài)還是動(dòng)態(tài))乱凿。無論是自建證書還是通過域名商獲得證書顽素,為的都【只是】為了解決通過https協(xié)議訪問OnlyOffice服務(wù),之所以從域名商申請證書是因?yàn)榇蠖鄶?shù)人對這套流程更為熟悉徒蟆,僅此而已胁出,而并非真的要從外網(wǎng)訪問OnlyOffice。事實(shí)上段审,我們并不希望自己搭建的OnlyOffice被外部訪問全蝶。

此外,依托域名商的域名解釋相當(dāng)于在訪問的時(shí)候先跑到DNS上查詢到自己的公網(wǎng)IP寺枉,然后再回到自己的服務(wù)器上進(jìn)行訪問抑淫。這一方面多此一舉,降低訪問速度姥闪,二一方面使得本來Nextcloud與OnlyOffice之間純粹的內(nèi)網(wǎng)訪問過程變成不得不依賴外網(wǎng)進(jìn)行始苇。

總結(jié)

OnlyOffice的部署和配置相對簡單,但主要問題在于Nextcloud插件中OnlyOffice的地址配置問題上筐喳。如果Nextcloud純粹是為了內(nèi)網(wǎng)訪問而設(shè)催式,這個(gè)問題還是非常簡單直接的,只要按照http://ip:port的格式填寫地址即可避归。但如果是通過域名和https協(xié)議訪問的話荣月,配置方面可能會(huì)出現(xiàn)各種問題∈岜校總的來說哺窄,這些問題集中在域名解釋方面。在服務(wù)器運(yùn)維的問題上顿天,各人的情況不盡相同堂氯,本文并沒有記錄詳細(xì)的部署、配置步驟牌废,更多的是記錄配置過程中出現(xiàn)的問題以及解決過程咽白。此外也列舉了遇到的一些報(bào)錯(cuò)信息,方便有類似問題的朋友找到自己的解決思路鸟缕。

原文鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晶框,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子懂从,更是在濱河造成了極大的恐慌授段,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番甩,死亡現(xiàn)場離奇詭異侵贵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缘薛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門窍育,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卡睦,“玉大人,你說我怎么就攤上這事漱抓”矶停” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵乞娄,是天一觀的道長瞬逊。 經(jīng)常有香客問我,道長仪或,這世上最難降的妖魔是什么确镊? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮范删,結(jié)果婚禮上骚腥,老公的妹妹穿的比我還像新娘。我一直安慰自己瓶逃,他們只是感情好束铭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厢绝,像睡著了一般契沫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昔汉,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天懈万,我揣著相機(jī)與錄音,去河邊找鬼靶病。 笑死会通,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的娄周。 我是一名探鬼主播涕侈,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼煤辨!你這毒婦竟也來了裳涛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤众辨,失蹤者是張志新(化名)和其女友劉穎端三,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹃彻,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡郊闯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片团赁。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旋奢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出然痊,到底是詐尸還是另有隱情,我是刑警寧澤屉符,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布剧浸,位于F島的核電站,受9級特大地震影響矗钟,放射性物質(zhì)發(fā)生泄漏唆香。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一吨艇、第九天 我趴在偏房一處隱蔽的房頂上張望躬它。 院中可真熱鬧,春花似錦东涡、人聲如沸冯吓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽组贺。三九已至,卻和暖如春祖娘,著一層夾襖步出監(jiān)牢的瞬間失尖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工渐苏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掀潮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓琼富,卻偏偏與公主長得像仪吧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子鞠眉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容