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服务
        
        
    • 安装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登录界面则安装成功
        
        
      • 使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刷新浏览器页面
        
        

        其实为了解决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."}
        

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

  • 展示

    • 主界面

      OwnCloud个人云盘搭建方法_第1张图片

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

      OwnCloud个人云盘搭建方法_第2张图片

    • 普通文档上传

      OwnCloud个人云盘搭建方法_第3张图片

    • 大文档OwnCloud个人云盘搭建方法_第4张图片
    • Windows客户端(这个只是有百度网盘的文件夹同步功能,没有其他的,不过在网页上已经能够使用文件的上传下载了)

      OwnCloud个人云盘搭建方法_第5张图片

你可能感兴趣的:(ubuntu,owncloud)