最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

容器搭建nextcloud+onlyoffice+https實踐

 更新時間:2026年01月19日 10:12:12   作者:Jesus_kovy  
本文介紹了在CentOS8.5上使用Docker搭建個人網(wǎng)盤應(yīng)用Nextcloud和OnlyOffice的詳細(xì)步驟,包括容器準(zhǔn)備、啟動、SSL配置以及在Nextcloud中集成OnlyOffice

近期應(yīng)主管建議,在工作環(huán)境中搭建一套個人網(wǎng)盤應(yīng)用,用于開展日常工作。本文在私有云內(nèi)完成搭建,基于CentOS8.5使用Docker 25.0.1容器承載鏡像nextcloud28與onlyoffice9.0.0完成。

搭建步驟分為docker的容器準(zhǔn)備、nextcloud容器啟動、onlyoffice的容器啟動以及https的加密配置。將此次所踩的坑整理于此。 

一、搭建前的容器準(zhǔn)備

1.安裝dokcer

yum install -y yum-utils device-mapper-persistent-data lvm2 wget        #安裝依賴
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo    #將設(shè)置阿里云為docker的yum下載源
yum list docker-ce --showduplicates | sort -r            #搜索并排序輸出當(dāng)前的docker版本
yum install -y docker-cedocker -v            #安裝docker
yum -y update                            #更新依賴庫
yum makecache fast                    #yum初始化
systemctl start docker
systemctl enable docker
vi /etc/docker/daemon.json        #為docker添加國內(nèi)加速器設(shè)置
{ 
"registry-mirrors":["http://hub-mirror.c.163.com"]
}
systemctl daemon-reload         #重新加載
systemctl restart docker             #重啟docker

2.搜索并拉取容器

docker serach nextcloud
docker search    onlyoffice
docker pull    #容器名字與版本(search出來的結(jié)果),本文拉取nextcloud與onlyoffice

3.本文中用到的docker容器命令說明

docker run -d --restart=always --name #設(shè)置容器名 使用的鏡像設(shè)置此容器開機(jī)自啟
docker images            #查看可用鏡像
docker search 鏡像名字        #搜索鏡像
docker pull            #拉取鏡像
docker rm -f  容器名/容器id    #刪除已有的容器
docker ps        #查看正在運行的容器
docker cp        #實現(xiàn)宿主機(jī)與容器之間的文件傳輸
docker exec -it  容器名稱/容器id  bash        #進(jìn)入該容器

二、nextcloud的容器啟動

1.輔助目錄的創(chuàng)建

在宿主機(jī)中創(chuàng)建nextcloud的工作目錄,以便于在nextcloud容器啟動時將所需的路徑映射至宿主機(jī)。

mkdir -p  /home/nextcloud        #用于映射nextcloud的配置文件等工作目錄
mkdir -p  /home/nextcloud_apache/ssl_certs/certs        #用于存放nextcloud再啟用https時的ssl證書
mkdir -p  /home/nextcloud_apache/ssl_certs/private    #用于存放nextcloud再啟用https時的秘鑰

2.啟動nextcloud容器

直接使用docker run +鏡像名稱啟動容器,同時為容器掛載上所需要的路徑。

docker run -d --restart=always --name nextcloud -p 8080:80 -p 8443:443 -v /home/nextcloud:/var/www/html  -v /etc/hosts:/etc/hosts -v      /home/nextcloud_apache/ssl_certs/certs:/etc/ssl/certs   -v /home/nextcloud_apache/ssl_certs/private:/etc/ssl/private   nextcloud

若有報錯可以使用docker logs 容器id 查看nextcloud容器日志。

說明:

  • -p 8080:80 #將nextcloud容器的80端口映射至宿主機(jī)的8080端口
  • -p 8443:443 #將nextcloud容器的443端口映射至宿主機(jī)的8443端口
  • -v /home/nextcloud:/var/www/html #用于掛載nextcloud的工作目錄
  • -v /etc/hosts:/etc/hosts #個人起容器的習(xí)慣,想把宿主機(jī)hosts文件掛載到容器,不一定用得到可以不添加
  • -v /home/nextcloud_apache/ssl_certs/certs:/etc/ssl/certs #用于存放nextcloud再啟用https時的ssl證書
  • -v /home/nextcloud_apache/ssl_certs/private:/etc/ssl/private #用于存放nextcloud再啟用https時的秘鑰

啟動容器之后,可檢查本機(jī)的8080端口命令:netstat -ano | grep 8080

之后可以進(jìn)一步訪問web界面:http://本機(jī)ip:8080 ,可以看到nextcloud的http服務(wù)頁面,按照頁面提示可以設(shè)置管理員賬號后,方可進(jìn)入nextcloud界面。

3.關(guān)于數(shù)據(jù)庫

因為本文的部署需求為面向小范圍使用,故使用了nextcloud自帶的SQlite數(shù)據(jù)庫,若是面向大范圍使用需求,可以按照其他博客的介紹搭建并使用mysql數(shù)據(jù)庫。

三、nextcloud容器https服務(wù)配置

此處可以采用新起一個nginx容器,代理nextcloud服務(wù)的思路實現(xiàn)https目的。本文中使用的是nextcloud鏡像上自帶的apache來實現(xiàn)。

1、創(chuàng)建自己https的ssl證書

openssl genrsa -des3 -out nextcloud.key 4096
openssl req -new -key nextcloud.key -out nextcloud.csr
cp nextcloud.key nextcloud.key.org
openssl rsa -in nextcloud.key.org -out nextcloud.key                #生成key私鑰
openssl x509 -req -days 3650 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt            #生成crt公鑰
cp nextcloud.crt /home/nextcloud_apache/ssl_certs/certs        #將證書復(fù)制到映射的證書路徑
cp nextcloud.key /home/nextcloud_apache/ssl_certs/private        #將秘鑰復(fù)制到映射的證書路徑

2、nextcloud容器的apache服務(wù)配置

因為nextcloud容器鏡像中使用的是apache而非nginx,所以需要在容器中的apache上配置https服務(wù)。

  • 進(jìn)入容器執(zhí)行
a2enmod ssl #開啟ssl模塊

a2ensite default-ssl #應(yīng)用一下ssl配置
  • 將容器內(nèi)的ssl.load文件修改為如下配置
vim /etc/apache2/mods-available/ssl.load

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
  • 將apache的ssl服務(wù)文件拷貝至宿主機(jī)并配置(注意文件權(quán)限)
docker cp nextcloud:/etc/apache2/sites-available/default-ssl.conf ./
  • 找到SSLEngine on內(nèi)容,修改配置文件內(nèi)容
SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM

SSLEngine on

SSLCertificateFile /etc/apache2/cert/nextcloud.crt #設(shè)置證書名稱

SSLCertificateKeyFile /etc/apache2/cert/nextcloud.key #設(shè)置秘鑰名稱

  • 開啟hsts(上一步)
Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains; preload"
  • 將配置文件復(fù)制進(jìn)容器中,并重啟容器(似乎可以不用重啟容器)
docker cp default-ssl.conf nextcloud:/etc/apache2/sites-available/

docker restart nextcloud

3、驗證https服務(wù)與證書

https訪問nextcloud容器443映射的端口web。

4、調(diào)試“Nextcloud 您正在訪問來自不信任域名的服務(wù)器”

若啟動https服務(wù)后,提示Nextcloud 您正在訪問來自不信任域名的服務(wù)器??稍?config/config.php中添加白名單域名、ip。

此處是本文映射 出來的文件(/home/nextcloud/config/config.php),也可以進(jìn)入容器修改。

四、onlyoffice的容器啟動

1、onlyoffice介紹

ONLYOFFICE是一套在線辦公軟件,它允許用戶創(chuàng)建、閱讀和編輯文檔、表格和幻燈片文件。

該軟件支持多種文件格式,包括但不限于.docx文檔、.pptx幻燈片以及.xlsx表格。本文所起應(yīng)用需求主打在線編輯功能,故需要安裝onlyoffice。

2、onlyoffice的容器準(zhǔn)備與啟動

創(chuàng)建onlyoffice的工作目錄,此處需要創(chuàng)建5個路徑用于onlyoffice的掛載。

mkdir -p /home/onlyoffice/logs

mkdir -p /home/onlyoffice/data

mkdir -p /home/onlyoffice/lib

mkdir -p /home/onlyoffice/db

mkdir -p /home/onlyoffice/fonts/

直接命令啟動onlyoffice容器:

docker run -d -i -t -e TZ="Asia/Shanghai" --restart=always --name onlyoffice -p 9080:80 -p 9443:443 -v /home/onlyoffice/logs:/var/log/onlyoffice -v /home/onlyoffice/data:/var/www/onlyoffice/Data -v /home/onlyoffice/lib:/var/lib/onlyofficeonly -v /home/onlyoffice/db:/var/lib/postgresql -v /etc/localtime:/etc/localtime:ro -v /home/onlyoffice/fonts/:/usr/share/fonts/truetype/custom/ onlyoffice/documentserver

說明:

  • -p 9080:80 #將onlyoffice的http(80)端口映射至宿主機(jī)的9080端口
  • -p 9443:443 #將onlyoffice的https(443)端口映射至宿主機(jī)的9443端口,本文僅用到了http端口,故443端口的配置不做贅述。

3、下載onlyoffice資源

訪問onlyoffice官網(wǎng),根據(jù)自身的版本需求下載:ONLYOFFICE - Apps - App Store - Nextcloud。

因為我的nextcloud的版本是Nextcloud version 28.0.1,所以我下載了9.0.0版本。此處下載需要梯子,我自己的梯子還不行,找朋友借的梯子。

4、上傳onlyoffice,并配置

將下載的onlyoffice.tar.gz,上傳至nextcloud工作路徑的apps目錄下。(以自己的路徑為準(zhǔn),我的路徑是在啟動nextcloud容器時創(chuàng)建的/home/nextcloud/apps)。

將/home/nextcloud/apps/onlyoffice.tar.gz文件解壓,tar -xvf onlyoffice.tar.gz。并給解壓后的文件增加權(quán)限chmod 777 onlyoffice -R

登錄nextcloud的web頁面,右上角自己頭像處,點擊“應(yīng)用”在搜索框里輸入onlyoffice??梢钥吹給nlyoffice已經(jīng)安裝完成了,點擊啟用即可。

5、onlyoffice的https配置

  • 創(chuàng)建https的ssl證書與密鑰文件:(此處的證書需要與nextcloud的https證書與秘鑰一致,所以建議直接將nextcloud生成的key crt org csr 直接改名字拿來用)
openssl genrsa -des3 -out onlyoffice.key 4096

openssl req -new -key onlyoffice.key -out onlyoffice.csr

cp onlyoffice.key onlyoffice.key.org

openssl rsa -in onlyoffice.key.org -out onlyoffice.key

openssl x509 -req -days 3650 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

openssl dhparam -out dhparam.pem 2048
  • 將上一步生成的證書與密鑰文件放到onlyoffice的工作目錄 /home/onlyoffice/data/certs下(沒有該路徑可以mkdir -p 一下):
cp dhparam.pem onlyoffice.crt onlyoffice.csr onlyoffice.key onlyoffice.key.org /home/onlyoffice/data/certs

docker restart onlyoffice
  • 進(jìn)入onlyoffice容器修改證書與密鑰的掛載文件權(quán)限:
docker exec -it onlyoffice bash

cd /var/www/onlyoffice/Data

chmod 777 -R *
  • 將onlyoffice中的default.json文件拷貝到宿主機(jī)修改"rejectUnauthorized"參數(shù)后,再拷貝回去。
docker cp onlyoffice:/etc/onlyoffice/documentserver/default.json ./

"rejectUnauthorized": false

docker cp default.json onlyoffice:/etc/onlyoffice/documentserver/

docker restart onlyoffice
  • 訪問onlyoffice的443映射端口驗證web應(yīng)用

6、在nextcloud中配置onlyoffice應(yīng)用(https的nextcloud配置https的onlyoffice)

  • 右上角頭像處點擊“管理設(shè)置”,左側(cè)找到onlyoffice并選擇。

  • 此處在nextcloud中配置onlyoffice的應(yīng)用,需要查看onlyoffice的容器秘鑰:
docker exec -it onlyoffice bash #進(jìn)入onlyoffice容器

cat /etc/onlyoffice/documentserver/local.json #查看密鑰文件

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的詳細(xì)教程

    Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的詳細(xì)教程

    Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,下面這篇文章主要給大家介紹了關(guān)于Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • docker創(chuàng)建mongodb數(shù)據(jù)庫容器的方法

    docker創(chuàng)建mongodb數(shù)據(jù)庫容器的方法

    本文將通過docker創(chuàng)建一個mongodb數(shù)據(jù)庫容器,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Docker容器網(wǎng)絡(luò)配置全攻略之橋接、Host、container詳解

    Docker容器網(wǎng)絡(luò)配置全攻略之橋接、Host、container詳解

    這篇文章主要介紹了Docker容器網(wǎng)絡(luò)配置全攻略之橋接、Host、container的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 教你如何利用docker-maven-plugin自動化部署

    教你如何利用docker-maven-plugin自動化部署

    本文通過兩個例子給大家講解如何利用docker-maven-plugin自動化部署,給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-09-09
  • Docker學(xué)習(xí)筆記之k8s部署方法

    Docker學(xué)習(xí)筆記之k8s部署方法

    這篇文章主要介紹了Docker學(xué)習(xí)筆記之k8s部署方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker pull很慢如何解決

    docker pull很慢如何解決

    這篇文章主要介紹了docker pull很慢的解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker常見命令介紹

    Docker常見命令介紹

    這篇文章介紹了Docker中的常見命令,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Centos8無法安裝docker問題的解決方法

    Centos8無法安裝docker問題的解決方法

    這篇文章主要給大家介紹了關(guān)于Centos8無法安裝docker問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Windows?Server?2012?R2?安裝?Docker的詳細(xì)步驟

    Windows?Server?2012?R2?安裝?Docker的詳細(xì)步驟

    這篇文章主要介紹了Windows?Server?2012?R2?安裝?Docker,在這個給大家說明下使用windows10、Windows?Server?2016以上系統(tǒng)可直接使用安裝包,低版本系統(tǒng)需要使用?Docker?Toolbox?來進(jìn)行安裝使用?Docker,需要的朋友可以參考下
    2022-04-04
  • gitlab實踐教程使用git config進(jìn)行相關(guān)的配置操作

    gitlab實踐教程使用git config進(jìn)行相關(guān)的配置操作

    今天小編就為大家分享一篇關(guān)于gitlab實踐教程使用git config進(jìn)行相關(guān)的配置操作,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論

加查县| 彭水| 乃东县| 乌苏市| 天津市| 越西县| 江油市| 南澳县| 北海市| 渝中区| 博客| 宜章县| 大埔县| 曲麻莱县| 武清区| 灵山县| 三都| 呼和浩特市| 吴川市| 司法| 宁都县| 汶川县| 聂拉木县| 双柏县| 嘉峪关市| 治县。| 施甸县| 德庆县| 乳源| 湖州市| 辽宁省| 蓝田县| 瑞安市| 安庆市| 朔州市| 禄劝| 灵璧县| 客服| 米易县| 克山县| 灵寿县|