• OwnCloud个人云盘搭建方法


    • 平台

      • Vultr 平台的云服务

        Vultr能够选择外网节点,支持支付宝比较方便,缺点是网络可能会比较慢

      • Ubuntu.18.04LTS AMD64 (4G/2CPU/80G SSD)

        选的是CloudComputer,RegularPerformance,这个一般是最便宜的配置

    • 服务搭建

      • LAMP(Linux+Apache2+Mysql+PHP7.3+)搭建

        • 参照 (Ubuntu安装LAMP)[https://blog.csdn.net/weixin_40704661/article/details/80921542]

          几个注意点:
          
          	1. Ubuntu18.04 安装PHP扩展需要执行 add-apt-repository ppa:ondrej/php
          	2. 在最新的OwnCloud安装过程中,需要额外安装的PHP扩展:
          		apt-get install php7.4-zip
                  apt-get install php7.4-dom
                  apt-get install php7.4-xmlwriter
                  apt-get install php7.4-xmlreader
                  apt-get install php7.4-intl
                  apt-get install php7.4-libxml
                  apt-get install php7.4-mbstring
                  apt-get install php7.4-gd
                  apt-get install php7.4-simplexml
                  apt-get install php7.4-curl
                  apt-get install php7.4-zip
                  apt-get install php7.4-zip
              3. 默认的PHP8.1.6不被OwnCloud支持,所以要切换PHP的默认版本
              	a2dismod php8.1   	# 禁用8.1版本的PHP
                  a2enmod php7.4		# 启用7.4版本的PHP
                  update-alternatives --set php /usr/bin/php7.4	# 设置PHP7.4为默认的PHP
                  这几步每次执行完都建议重启下Apache2服务, 使用 php -v 检查php版本是否正确
              4. mysql修改的几个配置
              	update user set host='%' where user='root'; # 设置mysql所有机器都可以访问,主要是为了能用可视化工具查看mysql
              	flush privileges; # 使修改立即生效,或者重启mysql服务
          
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
      • 安装OwnCloud
        • 参照官方文档
          # 注意切换到管理员权限,我自己的目录是在 ~/workspace
          # 最新源码的目录可以在 https://owncloud.com/download-server/ 找到
          wget https://download.owncloud.com/server/stable/owncloud-complete-latest.zip
          unzip owncloud-complete-latest.zip
          将解压的目录移动到 apache2的网站目录 /var/www
          cp owncloud -r /var/www
          cd /var/www/owncloud
          执行
          	sudo -u www-data php occ maintenance:install \
             --database "mysql" \
             --database-name "owncloud" \
             --database-user "mysql数据库账户"\
             --database-pass "mysql数据库密码" \
             --admin-user "owncloud默认的管理员账号的名称" \
             --admin-pass "owncloud默认的管理员账号的密码"
             
             中间会有两次选择,一次是选择使用Apache2, 一次是选择Mysql数据库,需要填入数据库的密码,在此中间出现过一个小错误,跟上面的PHP扩展有关
             执行完成后
             修改Apache2的配置文件/etc/apache2/sites-enabled/server_domain_or_IP.conf使其指向的网站目录为/var/www/owncloud,这个地方应该是可以使Apache2在不同端口指向不同网站的,没找到解决方法
             重启Apache2
             现在可以在本地访问 http://localhost,跳转到owncloud登录界面则安装成功
          
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
        • 使OwnClouod支持公网访问

          由于我的服务是搭建在服务器上的,仅仅本地访问显然不合适,而OwnCloud有TrustDomain的限制,需要对配置文件做一些修改

          #  /var/www/owncloud/config/config.php
          修改此文件
          	'trusted_domains' => 
            array (
              0 => 'localhost',
              1 => '服务器的公网IP',
            ),
            'datadirectory' => '/var/www/owncloud/data',
            'overwrite.cli.url' => 'http://服务器的公网IP/owncloud',
            'dbtype' => 'mysql',
            'version' => '10.10.0.3',
            'dbname' => 'owncloud',
            'dbhost' => '服务器的公网IP', # 这个地方可能没必要修改
            重启Apache2服务,Ctrl+F5刷新浏览器页面
          
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15

          其实为了解决TrustDomain的问题刚开始想了很麻烦的操作方式,加自己的IP,以后的新机器访问都加一边(比较蠢),或者使用Nginx做代理,但是都没有解决信任域不对的问题,后来把OwnCloud的日志文件down下来看,发现一个有趣的记录:

          # 日志地址是在 /var/www/owncloud/data/owncloud.log
          日志记录内容: {"reqId":"PgmARITkHKlsS7AAgUG8","level":2,"time":"2022-05-26T21:51:05+00:00","remoteAddr":"27.124.32.148","user":"--","app":"core","method":"GET","url":"\/index.php","message":"Trusted domain error. \"xxx.xxx.xx.148\" tried to access using \"服务器公网IP\" as host."}
          
          • 1
          • 2

          在公网机器访问的时候,是以服务器的IP作为Host访问的,这个跟我之前理解的信任域不太一样,在config.php中添加 1 => '服务器的公网IP',之后,果然可以访问了,测试了其他几台机器也没有问题.

    • 展示

      • 主界面

        在这里插入图片描述

      • 文档预览(主界面中的pdf), md,txt这些文件能够直接编辑

        在这里插入图片描述

      • 普通文档上传

        在这里插入图片描述

      • 大文档在这里插入图片描述
      • Windows客户端(这个只是有百度网盘的文件夹同步功能,没有其他的,不过在网页上已经能够使用文件的上传下载了)

        在这里插入图片描述

  • 相关阅读:
    XDAG同步节点部署
    全自动情感故事对话视频生成神器
    WMI 监控
    暑假打工 2 个 月,让我明白了 Keepalived 高可用的三种路由方案
    Quanergy欢迎Lori Sundberg出任首席人力资源官
    短视频矩阵系统源头开发
    (PyTorch)PyTorch中的常见运算(*、@、Mul、Matmul)
    maven的私服
    java ThreadLocal
    publicPath:打包时的配置
  • 原文地址:https://blog.csdn.net/u013399150/article/details/125013768