nextcloud私有网盘系统搭建
一、前言
Nextcloud 是一款开源的自主托管内容协作平台,提供文件同步与共享、在线办公协作、通讯工具等企业级功能。作为私有云解决方案的领先者,Nextcloud 让组织能够完全掌控自己的数据,避免依赖第三方云服务提供商
二、部署
需要先部署mysql
参考:yum安装mysql 5.7-CSDN博客
部署完成后配置远程用户
create user 'root'@'%' identified by '新密码';
grant all privileges on *.* to 'root'@'%' identified by '密码';
flush privileges;
创建nextcloud专用数据库
create database nextcloud;
关于nextcloud的镜像可参考以下dockerhub官网需要哪个版本自行选择
参考:https://hub.docker.com/_/nextcloud/tags
提前创建nextcloud数据存放目录
mkdir -p /data/nextcloud/data
此处/data目录我是单独挂载了一块数据盘
执行以下docker命令创建nextcloud容器
docker run -d --name nextcloud -v /data/nextcloud/data:/var/www/html -e MYSQL_HOST=xxx:3306 -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=root -e MYSQL_PASSWORD=xxx -p 8080:80 nextcloud:31.0.4
查看容器是否启动
docker ps
通过ip+端口访问
修改nextcloud配置
vi /data/nextcloud/data/config/config.php<?php
$CONFIG = array ('htaccess.RewriteBase' => '/','memcache.local' => '\\OC\\Memcache\\APCu','apps_paths' => array (0 => array ('path' => '/var/www/html/apps','url' => '/apps','writable' => false,),1 => array ('path' => '/var/www/html/custom_apps','url' => '/custom_apps','writable' => true,),),'upgrade.disable-web' => true,'instanceid' => 'oc9qfaoz3pa9','passwordsalt' => 'XCuG02pSniN4zPI25MPpGVj+bRL6Ts','secret' => '83Wn3LNvcgYw1Q8WcQ9X4QScRn19FwmigbRAPtKHjNtSE9AS','trusted_domains' => array (0 => '10.1.60.129:8080',1 => 'nextcloud.xxxx.com', #新增域名配置,不然使用域名访问会出现php报错),'datadirectory' => '/var/www/html/data','dbtype' => 'mysql','version' => '31.0.4.1','overwrite.cli.url' => 'http://10.1.60.129:8080','dbname' => 'nextcloud','dbhost' => '10.1.60.129:3306','dbport' => '','dbtableprefix' => 'oc_','mysql.utf8mb4' => true,'dbuser' => 'root','dbpassword' => 'xxxx','installed' => true,'default_language' => 'zh_CN', #新增默认语言配置,不然新增用户默认是英文'default_locale' => 'zh', #新增默认语言配置,不然新增用户默认是英文'skeletondirectory' => '', #新增目录配置,新增用户时不拷贝nextcloud自带的一些图片说明书等文件
);
修改完成后重启nextcloud容器服务
docker restart 2d51bc0b6daa
nextcloud默认不附带协同功能,需要额外部署onlyoffice服务
参考:onlyoffice部署-CSDN博客