最近决定来写一下 nextcloud 的搭建教程,也强化一下搭建流程的熟悉程度。第一次在张大妈发文,写得不好多多见谅。虽然在我自己的技术博客也有发布这篇文章,但是一些干货知识都有在这边的大佬文章里面学习到,还是在这边再发一次,希望对大家有所帮助。谢谢
写这个教程的时候服务的版本是 Nextcloud 20.0.5,Mysql 8.0.23
把自己的小服务器上面的相关服务删除掉,重新开始,截图纪念一下现在还在运行的 nextcloud 相关服务
我的服务器小主机上面是安装有 unraid 的NAS系统,它可以提供NAS的基本功能,它的特色是自带 docker 以及虚拟机的功能,可以自由安装各种系统,以及显卡直通等等。关于这个 unraid 系统可以百度下它的相关内容,这里不再赘述,站里面也有很多大佬写跟这个相关的
nextcloud 可以使用性能更好的mysql,而不使用自带的 sqlLite(据说 nextcloud 的文件多了,数据库会变慢)。所以先在 unraid 上的 APPS (应用商店)搜索 mysql,搜索之后选择这个红框的这个安装:
接下来来到这里,看图中的红框画出来的部分,已经都写好了大概的意思,根据这里的字段,自己可以进行喜好设置。默认的设置如图中所示,我这边已经将相关参数修改成我自己习惯的了。设置好了之后点击下面的 apply 按钮,unraid 将会进行 mysql 的镜像安装,请等待。
mysql 安装完成后,将会是类似界面,如果不是,恭喜你又重新安装一下,大概率是你 docker 默认的服务器跟你这边连通不好,把 docker 加下国内的镜像源,即可解决安装失败的问题。
点击 DONE,完成数据库的安装。点击 unraid 的 DOCKER,你可以看到 mysql 已经成功运行了。
接下来我们要安装我们的主角 nextcloud 了,同样是在 APPS 上搜索 nextcloud,选择图中红框的安装
点击上图中红框左下角的安装按钮,来到配置页面,如图。我们只需要配置一下端口和文件存储路径即可,其他设置默认不变。图中我这边端口默认不变,设置了下文件存储路径,然后点击 APPLY 按钮,等待安装
不出意外的话,等待些许时刻,nextcloud 就会安装成功!
让我们切换到 DOCKER 这里,我们可以看到 nextcloud 已经安装成功并且已经正在运行了。你需要点击 nextcloud 的图标,然后点击 WebUI
接下来我们进入了 nextcloud 的首次运行设置界面。
数据库的地址在 DOCKER 这里可以看到地址端口
接下来我们要配置一下一些数据库相关的内容,因为我们在初始化数据库的时候,创建的一个账户 test,以及其他的参数输入到 nextcloud 的配置页面里面,包括之前安装数据库的时候创建的一个数据库 owncloud,类似下图这样,然后点击安装完成
然而等待一会儿后,一般会出现这个报错,跟下方 注 里面的老版本nextcloud的是一样的报错含义
注:如果你安装的差不多是20年10月底的版本,连接 mysql 8.x 的,会有可能出现下图这个情况,连接数据库报错了,搜索了下应该是 mysql8 密码的加密方式变了,导致 nextcloud 连接不上。Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
我的解决方法:
首先说下如何登录到 mysql 里面。在 unraid 的 DOCKER 的页面里面,点击mysql的图标,再点击第一个选项 Console,进入终端控制台,然后输入 mysql -u root -p,回车,接下来会提示你输入密码,然后我就把我们之前安装数据库的截图里面,把 root 的密码 给输入进去,正确的话,则会到这个界面
输入 use mysql; (记得输入分号),可以看到写着选中了 mysql 这个数据库
继续输入 select user,host from user; 可以看到我们之前配置的一个账号 linxi 已经在里面了,host 里面的 % 代表所有的 ip 都可以登录访问
接下来是解决报错的方法:
- 删除掉当时安装数据库的时候,创建的账号,test,执行如下命令:delete from user where user='test';
然后输入命令:flush privileges; 刷新下数据库的账号信息(大概这个意思)。这个时候如果你创建用户 create user 'test'@'%' identified by 'xxxxx'; (xxx是密码) 会报错
- 接下来输入命令:drop user test;
- 这个时候再输入:create user 'test'@'%' identified by 'xxxxx'; 就可以正常创建用户
- 对该账号进行操作授权: grant all on . to 'test'@'%';
- 修改账号的密码加密规则:ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx'; (xxx是密码,同2);
- 刷新数据库账号信息: flush privileges;
这里第六步的操作,是为了改变数据库的账户密码的加密方式同时生成密码的加密串,nextcloud 的加密方法才能成功登录并访问数据库
接下来,回到 nextcloud 的首次配置界面,把刚才的相关信息输入进去,点击安装完成,等待即可,如果报 504,关闭页面,等待一会儿(大概10多分钟吧),然后在重新打开页面,不出意外就来到了 nextcloud 登录页面了,把设置好的 nextcloud 账户密码输入进去并登录,就来到了 nextcloud 的首页了,接下来就可以尽情使用你的云盘了。
1 条评论
这个nextcloud 保姆教程写的太好了,感谢大佬的辛勤付出!推荐大家学习!OωO