Nextcloud官网:/
Nextcloud文档:/
相信好多同学都用过云盘,使用最多、吐槽最多也莫过分某度盘,下载速率基本回到10年前的网速,我是不想用它了,明天就教搭建使用个人服务器搭建一个属于个人的云盘。
云盘系统有好多linux deepin,例如Cloudreve、ownCloud、Nextcloud等,当笔者要推荐的Nextcloud。本文就教你们快速搭建Nextcloud云盘。
6.1NextCloud简介
Nextcloud是一款开源免费的私有云储存云盘项目,可以让你快速方便地在个人/公司笔记本、服务器甚至是猕猴桃派等设备上搭建一套属于自己或团队的云同步云盘,进而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的顾客端覆盖了Windows、Mac、Android、iOS、Linux等各类平台,也提供了网页端以及WebDAV插口,所以你几乎可以在各类设备上便捷地访问你的网盘。
另外,Nextcloud还支持API和插件扩充,用户可以通过安装各类「插件」来提高云盘的功能,例如Markdown编辑器、笔记、日历、任务列表、音乐播放器、文档编辑等等。
Nextcloud服务端使用PHP+MySQL的精典组合,假如你有过建站经验,这么可以十分简单地在VPS服务器或个人笔记本上架设并运行上去,由于Nextcloud如同搭建一个WordPress博客那样简单。官方推荐在Linux(如Ubuntu或CentOS)系统下搭建服务器端,会比Windows相对稳定些。
Nextcloud服务器搭建方式也有好多,例如使用宝塔面板搭建,其实最快捷的莫过分使用docker了,笔者在上面早已安装了docker北京linux培训,这儿就直接使用了。
6.2目录打算
我的硬碟是挂在在/srv/目录下,设备名是dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2。
预先打算一下几个子文件夹,如下:
db:nextcloud依赖的持久化数据的数据库
html:nextcloud的资源配置文件夹
data:nextcloud的个人同步文件
6.3数据库打算(非必须)
默认情况下,NextCloud使用的是SQLite数据库进行数据储存,它仅适用于没有顾客端同步的测试和轻量级单用户设置。当多用户、多设备、大数据量的时侯,SQLite就不太合适了,NextCloud支持MySQL,MariaDB,Oracle11g和PostgreSQL等多种数据库。而且推荐使用MySQL/MariaDB。所以为了一劳永逸,还是用MySQL取代吧,MariaDB是MySQL源代码的一个分支。这儿使用MariaDB作为数据库支撑。
安装mariadb
mariadb的安装还是使用docker进行,打开你的终端,复制以下命令创建mariadb容器,即可。
docker run -d --name db_nextcloud
-p 3307:3306
-e PUID=1000
-e PGID=100
-e MYSQL_ROOT_PASSWORD=123456
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
-e MYSQL_PASSWORD=123456
--restart=unless-stopped
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db:/var/lib/mysql
mariadb
命令参数释义(具体的参数释义可以查看镜像地址/_/mariadb):
-d:后台运行容器,并返回容器ID
-name:为容器指定一个名称
-p3307:3306:容器服务开放的端口,后者是宿主机的端口,前者是容器外敷务的端口
-ePUID、-ePGID:运行容器的用户的权限集id
-eMYSQL_ROOT_PASSWORD:数据库root用户的密码
-eMYSQL_DATABASE=nextcloud:创建一个名称为nextcloud的数据库
-eMYSQL_USER:创建一个名称为nextcloud的用户
-eMYSQL_PASSWORD:名称为nextcloud的用户的密码
--restart=unless-stopped:当容器停止时侯重启容器
-v:数据卷绑定后者是宿主机的地址,前者是容器机器的位置
诸如:-v/src/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db:/var/lib/mysql把容器/var/lib/mysql的内容挂在到宿主机/src/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db的位置
查看docker运行容器,看NAMES那一栏下边有个db_nextcloud早已在运行,也能听到我们配置的端口。
#dockerps
另一个方法使用telnet验证安装是否成功
#telnet127.0.0.13307
6.4安装NextCloud
NextCloud的安装也还简单linux搭建nas系统,仍然是使用docker,复制下边的命令到终端运行即可,记得-v的前部份是你宿主机的地址,假若不想使用命令行安装,须要使用OMV自带的docker-gui界面操作也是可以的linux搭建nas系统,将对应的-*的配置填到相应的界面框框内就可以了
docker run -d --name nextcloud
-p 8888:80
--restart=unless-stopped
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/html:/var/www/html
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/data:/var/www/html/data
nextcloud
命令参数释义:
-p8888:80:容器服务开放的端口,后者是宿主机的端口,前者是容器外敷务的端口
--restart=unless-stopped:当容器停止时侯重启容器
-v:数据卷绑定后者是宿主机的地址,前者是容器机器的位置
Nextcloud安装以及数据库之外的所有数据(文件上载等)都储存在容器地址/var/www/html中,要想持久化你的数据,不通过nextCloud也可以查看的话,应该映射到宿主机的某个位置上
Nextcloud的卷配置还是挺多的,比如配置(config)、数据(data)、主题(themes)等
nextcloud的一些卷地址:
/var/www/html更新所需的主文件夹
/var/www/html/custom_apps你自己自动安装的应用位置
/var/www/html/config本地配置文件位置
/var/www/html/data你的云盘数据储存的位置
/var/www/html/themes/主题文件位置
以下卷映射我这儿只把data单独抽下来了,其他的配置全部默认置于/var/www/html映射的位置里
查看容器运行:
#dockerps
6.5访问NextCloud
在Docker中完成搭建工作,并在路由器完成端口转发工作后,我们通过DDNS上设置的远程地址和相应端口,访问nextcloud的web界面。打开浏览器,浏览器输入你的IP:8088即可访问nextcloud了。
刚开始的界面如下:
第一项配置是配置日后访问nextcloud的一个管理员用户名和密码
第二项是数据目录,这个我们在运行容器的时侯早已指定了位置,所以这儿不用动
第三项就是配置内置数据库的联接信息了,将之前我们创建mariadb的信息填写进去,虽然这儿也可以在安装nextcloud的时侯将之前的mariadb容器联接进去,这儿就自动填写了。要注意数据库的服务端口假如宿主机和容器端口映射的不一样的话,这儿要写宿主机的端口,比如现今我的mariadb容器的服务端口3306映射到了宿主机的3307端口上了,所以这儿使用的端口为3307。
所有信息填写完成后,点击安装完成,这一步骤会比较的历时间,nextcloud须要创建数据库表和一些初始化配置信息。
填写完成后,点击【安装完成】,等待片刻即可。
安装完成后,使用Windows、Mac、Android、iOS、Linux顾客端登陆服务器和网页班听到的是一样的,这儿就不在赘言了。
欢迎访问我的网站
[BruceOu的哔哩哔哩](BruceOxl的个人空间_哔哩哔哩_Bilibili)
[BruceOu的主页](BruceOu的主页)
[BruceOu的博客](BruceOu的博客-StayHungry.StayFoolish!求知若渴,诚恳若愚!)
[BruceOu的CSDN博客](不问归期的博客_Bruceoxl)
[BruceOu的简书](BruceOu-简书)
[BruceOu的知乎](BruceOu)