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 Hub :linuxserver/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 Hub :linuxserver/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就可以了。
到这里Nextcloud
和MariaDB
安装与配合已经结束,可以痛快使用了。如果想在外网使用的话,可以看我的另一篇博客:
参考内容:
How to Setup Nextcloud on unRAID for your Own Personal Cloud Storage
4 条评论
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
请教下!我一直是这样的错误提示,密码是前面设置的。
进appdata里面把文件夹删了重新安装就好了
我也一直这个错,尴尬的一批
我似乎也遇到过,好像是前面哪里操作不太多,记不清了,就遇到了一次,就再没有了,如果docker里面跑的,可以尝试删掉,重新再来一遍,这方面我也不擅长,我这些都是整理的笔记,下面也有贴了原帖地址