搭建基于Docker的NextCloud网盘
在上次的教程中,宝宝使用了基于CentOS7.6搭建OwnCloud网盘,不过根据反馈来看有很多的宝宝喜欢用Ubuntu+Docker的方式,并且说OwnCloud已停止更新。
今天就基于Ubuntu 18.10使用Docker搭建NextCloud,主要是让宝宝们学会怎么使用docker这个简单的东西~
有些宝宝说用群晖搭建,考虑到群晖用户较少,还请宝宝们谅解~~~~
本教程基于Ubuntu 18.10,VMware Workstation Pro 15.0.2 桥接模式,使用普通用户。
最低要求:Ubuntu 16.04(低于此版本不可使用[systemctl],需使用[service]命令)
可使用虚拟机或物理机搭建
第一步:安装Ubuntu 18.10并配置环境
1、下载Ubuntu 18.10镜像
2、安装(过程略,只强调注意事项)
在安装过程中使用正常安装模式,最小化安装可能会有依赖问题。同时宝宝也取消了安装时下载更新,不然奇慢无比~
3、更换Ubuntu的apt源
由于apt源在国外,访问速度感人,宝宝建议最好换成国内源。
(使用sudo命令会要求输入当前用户密码,密码不会有提示标志哒~)
[sudo gedit /etc/apt/sources.list]
将此文件所有内容全部删除,并替换为
[deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse]
一行一个deb哦~
之后更新apt源
[sudo apt update -y]
更新软件包,保证宝宝们的环境一致,减少错误率
[sudo apt upgrade -y]
第二步:安装Docker并设置环境
1、安装docker
[sudo apt install docker.io]
[sudo systemctl start docker](启动docker)
[sudo systemctl enable docker](将docker设置为开机启动)
2、创建用于docker的用户
我们实验当中使用root来运行docker是没有问题的,但是在生产环境中有严重的安全问题,在此我们创建一个用户和用户组去运行docker
[sudo useradd -m -s /bin/bash docker_user]
(新建一个叫做docker_user的用户,参数m表示自动建立用户的登录目录,s用于指定此用户的shell)
[sudo passwd docker_user]
(passwd用来更改docker_user的登录密码)
[sudo usermod -aG docker docker_user]
(将此用户加入docker组,-aG表示将用户追加到组,命令对大小写敏感)
[su–docker_user]
(切换至docker_user用户,注意:中划线左右均有空格,不可连写,表示变更帐号为docker_user并改变工作目录至此用户家目录)
[!--empirenews.page--]
第三步:部署NextCloud(注:切换至docker_user的操作均不使用sudo命令)
1、搜索docker Hub中的NextCloud镜像
[docker search nextcloud]
2、推送镜像到本地
[docker pull nextcloud]
3、启动容器
[docker run -d --restart=always --name nextcloud -p 80:80 -v/root/nextcloud:/data docker.io/nextcloud]
(-d参数让此容器在后台运行,--restart参数指定容器停止后的重启策略为退出时总是重启,-p指定容器的暴露端口,-v指定容器挂载目录。此时注意网盘空间问题,挂载目录尽量大些,否则可能空间不足,不过实验环境就无所谓咯~~~)
4、查看容器状态
[docker ps -a]
(CONTAINER ID,在后面要用到,notice一下)
5、初始化NextCloud
使用浏览器打开NextCloud的网页,在虚拟机中使用[http://localhost],在内网则使用[http://ip]打开,比如宝宝的IP是172.16.0.237,那就在浏览器输入:
[http://172.16.0.237/]
(直接设置管理员用户密码即可,无需配置数据库,Finsh setup)
第四步:不受信任的域名
至此,NextCloud已搭建完成,不过宝宝们会发现,这个NextCloud页面只有安装完成第一次输入的域名可以打开,其他域名或者ip会提示域名不受信任。没关系,这是由nextcloud内部的config.php所决定的,下面就来修改这个文件吧。
1、在服务器切换至docker_user用户
2、进入NextCloud容器内部并安装vim编辑器
[docker exec -it CONTAINER ID /bin/bash]
(CONTAINER ID为[docker ps -a ]所显示的ID)
[apt-get install vim -y]
(由于是国外服务器,速度会比较慢,不过下载文件不大,还是可以忍哒~)
3、修改config.php文件
[cd config]
(cd命令用于切换工作目录,此时使用相对路径切换至当前目录的config文件夹下,此文件绝对路径为/var/www/html/config/config.php)
[vim config.php]
(将图上的高亮部分改为下图即表示允许全部域名访问)
(使用vim编辑器修改文件。方向键控制光标,定位后使用[o]按键来编辑,编辑完成后按下ESC键退出编辑,最后用[:wq]保存并退出编辑返回至容器终端)
4、重新载入配置
[service apache2 reload]
[exit](退出容器,返回至服务器终端)