主要借鉴使用docker安装Nextcloud+Onlyoffice - Cooper_73 - 博客园 (cnblogs.com),感谢。
略过centos系统的安装 。
1、安装docker
1.1 检查、卸载系统已安装docker
官网提示需要确保centos-extras repository must be enable,且overlay2 storage driver is recommended。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
It’s OK if
yum
reports that none of these packages are installed.The contents of
/var/lib/docker/
, including images, containers, volumes, and networks, are preserved. The Docker Engine package is now calleddocker-ce
.
1.2 安装docker
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
1.3 重启docker,并设置为开启自启动
sudo systemctl restart docker
sudo systemctl enable docker
以上命令来自官网,应该不会出错。
2.拉取容器镜像
(docker没有深入研究,可能用语不规范,后续纠正(lll¬ω¬))
docker pull mysql
docker pull nextcloud
docker pull onlyoffice/documentserver
更新一条命令,感谢778600的私信:
docker pull onlyoffice/documentserver
2021年6月份安装的版本分别是:
mysql Ver 8.0.25 for Linux on x86_64 (MySQL Community Server - GPL)
nextcloud 21.0.2
onlyoffcie/document 6.3.1.32
整个过程还是比较顺利的。^o^y
3、安装镜像
3.1 MySQL
3.1.1 安装MySQL
$ sudo docker run -p 3306:3306 --restart=always --name fno_mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/logs:/logs \
-v /usr/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456. \
-d mysql
//-p 指定端口 --name 容器名称 -v 绑定一个卷,这里是指将主机的目录映射到容器的目录
// -e 设定环境变量 这里指定mysql密码
// -d 后台运行容器mysql,并返回容器ID
3.1.2 配置MySQL
$ sudo docker ps
//查看容器mysql的ID
$ sudo docker exec -it ID /bin/bash
//进入类似的界面 root@ID:/#
root@ID:/# mysql -u root -p
mysql> GRANT ALL PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
//授权root登录,这个是否存在隐患?
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456.' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.02 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456.';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
mysql> exit
3.2 nextcloud
3.2.1 安装nextcloud
$ sudo docker run -p 8080:80 --restart=always -v /root/nextcloud/html:/var/www/html \
-v /root/nextcloud/apps:/var/www/html/custom_apps \
-v /root/nextlcoud/config:/var/www/html/config \
-v /root/nextcloud/nextcloud/data:/var/www/html/data \
-v /rott/nextcloud/themes:/var/www/html/themes \
-d nextlcoud
//参考博客里 最后一条是nextcloud:17=apache不知道是什么意思(lll¬ω¬)
3.2.2 配置、运行nextcloud
浏览器输入http://IP:8080
再打开的页面,创建管理员账号,配置数据库。
数据库信息使用root以及密码,数据库名称自建,地址输入成:IP:3306
点击完成安装,等好几分钟以后,进入到nextcloud的界面。
3.2.3 安装onlyoffice插件
因为各种原因,输入http://IP:8080无法打开nextcloud的应用商店,因此需要手动将APP下载下来。
到这个页面下载对应版本的onlyoffice app
ONLYOFFICE - Apps - App Store - Nextcloud
通过各种手动传送到centos主机,并解压得到onlyoffice文件夹。
$ sudo docker ps | grep nextcloud
$ sudo docker cp onlyoffice ID:/var/www/html/apps/
//类似的app都可以如此操作,拷贝过去后,注意修改chown属性!!!!
$ sudo docker extc -i -t ID /bin/bash
root@a85e79cd17b0:/var/www/html#
//进入docker容器进行权限的修改,我记得前面映射的custtom_apps,或者我直接拷贝主机对应的root/nextcloud/apps里不行吗??
3.3 安装onlyoffice documentsever
docker run -i -t -d -p 6060:80 --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql onlyoffice/documentserver
3.4 nextcloud里配置onlyoffice
3.4.1 修改next cloud的config.php设置
添加如下语句
'allow_local_remot_servers' => true;
3.4.2 启用3.2.3已安装的onlyoffice
http://IP:8080
在应用里找到onlyoffice并启用;在设置里找到已启用的onlyoffice进行服务器等参数的配置。
经过了以上3.1.2和3.4.1的配置,这里应该不会出现问题。*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。点击保存后,会出现下面的常用设置,按需求配置吧。
自此,可以初步使用了。当然考虑到安全问题,还需要证书、验证迁移等工作,这个后续再说吧。