阿里云服务器搭建NextCloud

NextCloud搭建

NextCloud是一个私有云软件

搭建的整个过程十分简单,主要有两个步骤:

  1. 使用docker启动NextCloud应用
  2. 为NextCloud配置MySQL数据库

Docker搭建NextCloud应用

拉取镜像:

docker pull nextcloud

启动应用:

docker run -d \
--name nextcloud \
-p 8000:80 \
-v /root/apps/nextcloud/data:/var/www/html \
nextcloud

没什么问题的话就启动成功了,使用IP:8000访问下应该就可以看到nextcloud的初始化界面

配置MySQL数据库

nextcloud自带SQLit数据库,但是性能较低,官方推荐使用MySQL数据库

如果只是体验一下,完全可以不配置数据库,直接创建一个管理员账户即可

  1. 登录nextcloud初始化界面

    在首次登录nextcloud界面时,是一个初始化界面,要求填写:

    1. 管理员用户名。注意,用户名与后面数据库账户名是有关联的,比如你的用户名为admin,那么数据库账户名一定要是oc_admin。
    2. 管理员密码。管理员密码没有重复确认,设置时请慎重
  2. MySQL数据库操作

    1. 创建数据库

      create database nextcloud;
      
    2. 创建账户

      create user oc_admin@localhost identified by 'adminpasswd';
      

      前面说了,这里的账户一定要与nextcloud账户对应,就是前面加个oc_

    3. 为账户赋予访问权限

      GRANT ALL PRIVILEGES ON nextcloud.* TO 'oc_admin'@'%' IDENTIFIED BY 'adminpasswd'
      
    4. 刷新权限

      flush privileges;
      
  3. 填写nextcloud初始化界面上的配置

    1. oc_admin
    2. adminpasswd
    3. nextcloud
    4. ip:3306

    上面的MySQL地址部分是比较奇怪的,MySQL数据库与nextcloud应用在同一台服务器上,但报错,找不到服务器地址。最后用了自己服务器的域名才成功的

搭建过程中踩的坑

  1. nextcloud用户名定义为aa,数据库用户名填写bb,报错:ERROR 1044(42000): Access denied for user 'oc_aa'@'localhost' to database,oc_aa没有nextcloud数据库权限。

    这时候就很奇怪了,数据库账户为bb,跟aa有半毛钱关系?百度了下,也有外国友人遇到同样的问题,但是并没有给出解决方案。自己推理一下,既然说oc_aa没有权限,那么就把数据库账户取名oc_bb吧,结果就成了。。。

  2. 数据库地址填写 localhost 或者 127.0.0.1

    这里又报错:SQLSTATE[HY000] [2002] No such file or directory,找不到数据库
    原因:nextcloud 和 MySQL 都是启动在容器中, 127.0.0.1 肯定不行。。。

  3. MySQL数据库相关

    由于上面第二个问题,需要在MySQL数据库中进行用户的添加和删除操作,平时大多在搞增删改查,关于MySQL用户的操作还真不熟练,这里记录一下

    # 切换数据库
    use mysql;
    # 查询数据库中的所有用户
    select user from user;
    # 删除用户
    delete from user where user=`username`
    # 上面的操作可能会触发保护机制,使用一种临时策略去除保护机制,再重新登录MySQL时,保护机制会恢复
    # 保护机制报错:ERROR 1175: You are using safe update mode
    set sql_safe_updates=0; # 然后再执行delete操作就好了
    # 在删除用户后,再次创建与删除用户同名的用户时报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'XXXX'@'XXXX',原因是没有刷新,刷新一下权限就好了
    flush privileges;
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容