【UNRAID + Docker】Docker安装Nextcloud配合mariaDB

Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

Nextcloud在默认安装的条件下是调用SQLite,据大佬们说高度使用会崩溃,所以建议使用其他数据库配合,既然使用了Docker,那就再安装一个mariaDB配合他使用。

以前配置博客站点的经验告诉我,涉及到数据库的东西,没有那么简单。结果呢?

真的不简单!

接下来开始一步一步安装吧,安装的步骤:

  • 安装mariaDB
  • 配置mariaDB database
  • 安装Nextcloud
  • 配置Nextcloud和mariaDB的配合

安装Docker镜像:mariaDB

安装Docker可以手动安装也可以在UNRAID的Docker市场安装。需要的具体配置如下:

这里面需要注意的地方:

  • 端口:容器的数据库端口是3306,可以自行根据需求更改直接使用3306也可以。
  • ROOT_PASSWORD:这是个是数据库管理密码,非常重要不要忘记
  • CONFIG_FILE:为了防止以后更改设置丢失配置文件,建议放在UNRAID主文件系统里面

还有一点需要注意的就是,mariaDB没有webUI,任何配置都需要在Console里面进行配置。

配置mariaDB里面的DATABASE

打开控制台,如果没有安装汉化补丁的话,这里应该是Console。接下来就会出现熟悉的黑窗。在黑窗里面使用命令一步一步创建数据库和用户。

# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.4.12-MariaDB-1:10.4.12+maria~bionic-log mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'testusername' IDENTIFIED by 'testpassword';
Query OK, 0 rows affected (0.051 sec)

MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud;
Query OK, 1 row affected (0.002 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'testusername' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.046 sec)

MariaDB [(none)]> quit
Bye
# 


下面是每条指令介绍:
---
# mysql -uroot -p
登录数据库,然后输入密码,密码默认不可见。
---
MariaDB [(none)]> CREATE USER 'testusername' IDENTIFIED by 'testpassword';
输入>之后的命令就行,这个是为了创建一个用户,用户名 testpassword ,可以自己定义,后面的密码输入 前面创建Docker时候的密码 testpassword 。
---
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud;
输入>之后的命令就行,创建一个名为 nextcloud 的database,名字可以自定义。
---
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'testusername' IDENTIFIED BY 'testpassword';
授权上面创建的用户获得刚刚创建的database的权限。
---
MariaDB [(none)]> quit
退出数据库
---

安装Docker镜像:nextcloud

安装Docker可以手动安装也可以在UNRAID的Docker市场安装。需要的具体配置如下:

这里面需要注意的地方:

  • 端口:容器的管理页面端口是443,可以自行根据需求更改直接使用443也可以。
  • DATA_PATH:这是个是文件存储目录
  • CONFIG_PATH:为了防止以后更改设置丢失配置文件,建议放在UNRAID主文件系统里面

配置Nextcloud和mariaDB的配合

打开nextcloud的webUI:

打开时候因为证书的问题,会提示不是安全的连接,直接继续访问就行。

第一次打开nextcloud时候会和安装Typecho或者Wordpress差不多,会先进入到一个安装页面。

可以看到默认的数据管理软件是SQLite,我们直接选择第二项MySQL/MariaDB

选择玩数据库管理软件后,依次填入一些信息,前面的用户名和密码是nextcloud的登录用的,下面的四个内容才是重点。

  • testusername:是配置数据库时候创建的账户名
  • testpassword:是数据库的管理密码
  • nextcloud:是配置数据库的名称
  • 10.10.10.237:3307:是数据库的地址和端口,可以再UNRAID的Docker页面看到

填好上面的内容后,点击安装完成,时间稍稍有点长,我们等一下就好了。
接下来的自动跳转页面可能会报错,直接重新在docker管理页面重新打开webUI就可以了。

到这里NextcloudMariaDB安装与配合已经结束,可以痛快使用了。如果想在外网使用的话,可以看我的另一篇博客:

参考内容:

How to Setup Nextcloud on unRAID for your Own Personal Cloud Storage

Last modification:May 13th, 2020 at 09:59 pm

2 comments

  1. bin wen
    mysql -uroot -p

    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    请教下!我一直是这样的错误提示,密码是前面设置的。

    1. yelvlab
      @bin wen

      我似乎也遇到过,好像是前面哪里操作不太多,记不清了,就遇到了一次,就再没有了,如果docker里面跑的,可以尝试删掉,重新再来一遍,这方面我也不擅长,我这些都是整理的笔记,下面也有贴了原帖地址

Leave a Comment


Notice: Constant __TYPECHO_DEBUG__ already defined in /var/www/html/index.php on line 28