最近决定来写一下 nextcloud 的搭建教程,也强化一下搭建流程的熟悉程度。第一次在张大妈发文,写得不好多多见谅。虽然在我自己的技术博客也有发布这篇文章,但是一些干货知识都有在这边的大佬文章里面学习到,还是在这边再发一次,希望对大家有所帮助。谢谢

写这个教程的时候服务的版本是 Nextcloud 20.0.5,Mysql 8.0.23

把自己的小服务器上面的相关服务删除掉,重新开始,截图纪念一下现在还在运行的 nextcloud 相关服务

在 unraid 下,搭建 nextcloud 的偏保姆的教程

我的服务器小主机上面是安装有 unraid 的NAS系统,它可以提供NAS的基本功能,它的特色是自带 docker 以及虚拟机的功能,可以自由安装各种系统,以及显卡直通等等。关于这个 unraid 系统可以百度下它的相关内容,这里不再赘述,站里面也有很多大佬写跟这个相关的

nextcloud 可以使用性能更好的mysql,而不使用自带的 sqlLite(据说 nextcloud 的文件多了,数据库会变慢)。所以先在 unraid 上的 APPS (应用商店)搜索 mysql,搜索之后选择这个红框的这个安装:

在 unraid 下,搭建 nextcloud 的偏保姆的教程

接下来来到这里,看图中的红框画出来的部分,已经都写好了大概的意思,根据这里的字段,自己可以进行喜好设置。默认的设置如图中所示,我这边已经将相关参数修改成我自己习惯的了。设置好了之后点击下面的 apply 按钮,unraid 将会进行 mysql 的镜像安装,请等待。

在 unraid 下,搭建 nextcloud 的偏保姆的教程

mysql 安装完成后,将会是类似界面,如果不是,恭喜你又重新安装一下,大概率是你 docker 默认的服务器跟你这边连通不好,把 docker 加下国内的镜像源,即可解决安装失败的问题。

在 unraid 下,搭建 nextcloud 的偏保姆的教程

点击 DONE,完成数据库的安装。点击 unraid 的 DOCKER,你可以看到 mysql 已经成功运行了。

在 unraid 下,搭建 nextcloud 的偏保姆的教程

接下来我们要安装我们的主角 nextcloud 了,同样是在 APPS 上搜索 nextcloud,选择图中红框的安装

在 unraid 下,搭建 nextcloud 的偏保姆的教程

点击上图中红框左下角的安装按钮,来到配置页面,如图。我们只需要配置一下端口和文件存储路径即可,其他设置默认不变。图中我这边端口默认不变,设置了下文件存储路径,然后点击 APPLY 按钮,等待安装

在 unraid 下,搭建 nextcloud 的偏保姆的教程

不出意外的话,等待些许时刻,nextcloud 就会安装成功!

在 unraid 下,搭建 nextcloud 的偏保姆的教程

让我们切换到 DOCKER 这里,我们可以看到 nextcloud 已经安装成功并且已经正在运行了。你需要点击 nextcloud 的图标,然后点击 WebUI

在 unraid 下,搭建 nextcloud 的偏保姆的教程

接下来我们进入了 nextcloud 的首次运行设置界面。

在 unraid 下,搭建 nextcloud 的偏保姆的教程

数据库的地址在 DOCKER 这里可以看到地址端口

在 unraid 下,搭建 nextcloud 的偏保姆的教程

接下来我们要配置一下一些数据库相关的内容,因为我们在初始化数据库的时候,创建的一个账户 test,以及其他的参数输入到 nextcloud 的配置页面里面,包括之前安装数据库的时候创建的一个数据库 owncloud,类似下图这样,然后点击安装完成

由于账号是我我自己的名字拼音,把图里面把数据库账号P了一下🤣

然而等待一会儿后,一般会出现这个报错,跟下方 注 里面的老版本nextcloud的是一样的报错含义

在 unraid 下,搭建 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 的密码 给输入进去,正确的话,则会到这个界面

在 unraid 下,搭建 nextcloud 的偏保姆的教程

输入 use mysql; (记得输入分号),可以看到写着选中了 mysql 这个数据库

在 unraid 下,搭建 nextcloud 的偏保姆的教程

继续输入 select user,host from user; 可以看到我们之前配置的一个账号 linxi 已经在里面了,host 里面的 % 代表所有的 ip 都可以登录访问

同上图P了下名字的拼音

接下来是解决报错的方法:

  1. 删除掉当时安装数据库的时候,创建的账号,test,执行如下命令:delete from user where user='test';
  2. 然后输入命令:flush privileges; 刷新下数据库的账号信息(大概这个意思)。这个时候如果你创建用户 create user 'test'@'%' identified by 'xxxxx'; (xxx是密码) 会报错

    还是一样把我名字拼音P掉了

  3. 接下来输入命令:drop user test;
  4. 这个时候再输入:create user 'test'@'%' identified by 'xxxxx'; 就可以正常创建用户
  5. 对该账号进行操作授权: grant all on . to 'test'@'%';
  6. 修改账号的密码加密规则:ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx'; (xxx是密码,同2);
  7. 刷新数据库账号信息: flush privileges;

这里第六步的操作,是为了改变数据库的账户密码的加密方式同时生成密码的加密串,nextcloud 的加密方法才能成功登录并访问数据库

接下来,回到 nextcloud 的首次配置界面,把刚才的相关信息输入进去,点击安装完成,等待即可,如果报 504,关闭页面,等待一会儿(大概10多分钟吧),然后在重新打开页面,不出意外就来到了 nextcloud 登录页面了,把设置好的 nextcloud 账户密码输入进去并登录,就来到了 nextcloud 的首页了,接下来就可以尽情使用你的云盘了。

在 unraid 下,搭建 nextcloud 的偏保姆的教程

在 unraid 下,搭建 nextcloud 的偏保姆的教程

最后修改:2022 年 05 月 02 日
如果觉得我的文章对你有用,请随意赞赏