zoukankan      html  css  js  c++  java
  • 信步漫谈之OwnCloud—Linux下搭建私有云

    一、环境

    1)Linux系统:CentOS 7.7.1908

    2)owncloud-8.0.16.tar.bz2
    下载地址:https://owncloud.org/download/older-versions/

    3)VMware11 安装 Linux 虚拟机、Windows7 环境

    二、安装LAMP

    #安装软件包
    yum install -y httpd php php-mysql mariadb-server mariadb php-dom php-mbstring php-gd php-pdo
    #启动服务
    systemctl start httpd
    systemctl start mariadb
    #查看数据库启动状态
    systemctl status mariadb
    #关闭防火墙
    systemctl stop firewalld.service
    #开机禁用防火墙自启
    systemctl disable firewalld.service
    #查看防火墙状态
    systemctl status firewalld.service
    #关闭selinux,此处是临时关闭,后续需永久关闭
    setenforce 0
    #查看各项服务监听情况
    netstat -ntlp

    三、安装OwnCloud

    #上传并解压owncloud安装包,将owncloud-8.0.16.tar.bz2上传至/opt/owncloud目录
    #如果提示无法解压,可安装 yum install bzip2
    tar -jxvpf owncloud-8.0.16.tar.bz2
    #拷贝解压后的文件夹至php服务器根目录
    cp -r owncloud /var/www/html/
    #开放目录权限
    chown -R apache:apache /var/www/html/owncloud/
    chmod -R 777 /var/www/html/owncloud/

    四、创建数据库

    #设置root密码为123456
    mysqladmin -u root password "123456"
    #登录数据库
    mysql -u root -p
    #数据库命令操作,创建owncloud数据库
    MariaDB [(none)]> create database owncloud;
    MariaDB [(none)]> show databases;
    MariaDB [owncloud]> exit
    #重启httpd服务
    service httpd restart

    五、访问测试

    访问地址:http://192.168.1.13/owncloud,设置初始管理员账号,和数据库连接信息

    imageimage

    image

    六、添加开机启动项

    1)将启动脚本 owncloud 复制到目录 /etc/rc.d/init.d/ 下

    #!/bin/sh
    #chkconfig: 2345 80 90
    #description:owncloud start shell
    systemctl start httpd
    systemctl start mariad

    2)添加执行权限:chmod +x owncloud

    3)添加到开机启动项:chkconfig --add owncloud

    4)设置开机启动:chkconfig owncloud on

    5)查看开机启动项是否添加成功:chkconfig –list

    image

    6)永久关闭 selinux

    修改/etc/selinux/config 文件
    将SELINUX=enforcing改为SELINUX=disabled
    重启机器即可

    七、配置 OwnCloud 存储目录

    1)配置 VMware 共享目录 I:OwnCloudData,映射目录名称 owncloud_data

    image

    2)Linux 虚拟机安装VMware Tools 工具

    #进入/mnt目录
    cd /mnt
    mkdir cdrom
    #vmware 点击 "虚拟机"->"安装VMware Tools"
    #挂载
    mount -t iso9660 /dev/cdrom /mnt/cdrom
    #将vmware tools安装包拷贝出来
    cd /mnt/cdrom
    cp VMwareTools-9.9.2-2496486.tar.gz /opt
    cd /opt
    #解压并安装
    #在安装前,确保gcc、binutils、make、kernel等安装包已安装
    tar -zxvf VMwareTools-9.9.2-2496486.tar.gz
    cd vmware-tools-distrib/
    #安装,一路回车即可
    ./vmware-install.pl

    1588561961(1)

    是不是很复杂,还容易挂,对的,其实 CentOS7 之后,可以通过一个简单的命令直接安装 vmtool。︿( ̄︶ ̄)︿ 我绝不是故意写后面的,哈哈哈哈哈

    #一步到位安装完成
    yum install open-vm-tool

    3)Linux 虚拟机挂载 Windows 共享目录为 OwnCloud 存储目录
    (注意:默认挂载使用 root:root 权限,而 owncloud 存储目录需要使用 apache:apache 的权限,此处挂载命令,需要指定用户和组的ID,可通过查看 /etc/passwd 和 /etc/group 来查看 apache 用户和 apache 组的ID,此处都是 48)

    #挂载vmware共享目录
    sudo /usr/bin/vmhgfs-fuse .host:/owncloud_data /mnt/hgfs -o allow_other -o uid=48 -o gid=48 -o umask=022

    4)修改 OwnCloud 的存储目录

    #关闭httpd服务
    service httpd stop
    #将linux上 /var/www/html/owncloud/data 存储目录内容下载到windows共享目录中
    #修改owncloud的存储路径配置
    cd /var/www/html/owncloud/config
    #备份配置文件
    cp config.php config.php.bak
    #修改配置文件datadirectory(存储路径)值为/mnt/hgfs
    #vi config.php

    5)开机自动挂载,修改启动脚本 /etc/rc.d/init.d/owncloud,添加挂载命令

    #!/bin/sh
    #chkconfig: 2345 80 90
    #description:owncloud start shell
    systemctl start httpd
    systemctl start mariadb
    sudo /usr/bin/vmhgfs-fuse .host:/owncloud_data /mnt/hgfs -o allow_other -o uid=48 -o gid=48 -o umask=022

    6)在使用挂载的磁盘情况下,会报如下更改权限错误,此时需关闭数据目录的权限检查,在高版本 owncloud 或 nextcloud 中,可在config.php里面加上,'check_data_directory_permissions' => false,进行关闭。可惜我们用的是 owncloud-8.0.16,并没有提供这项配置(高版本环境依赖,需要升级 php,也很麻烦),这里可以通过修改 php 的代码,通过数据目录权限检查函数返回空数组的方式,规避该问题。
    6dbc5bf4f12500656a7e84af3b114bb

    7)打开 /var/www/html/owncloud/lib/private 目录,备份 util.php,通过 vi 打开 util.php,找到 checkDataDirectoryPermissions 方法,将内部实现注释掉(/**/),返回空数组即可。

    image

    8)重启 httpd 服务

    #重启httpd服务
    service httpd restart

    八、Windows 下搭建 OwnCloud

    原计划是在 Windows 下搭建,根据网络资料,owncloud 支持 windows 的最高版本只到 8.0.16,依赖于 wampserver 环境,但是搭建后发现存在无法创建中文目录和上传中文文件名的文件的问题(创建或上传后乱码),统一服务器编码后仍未解决,故改为在 Linux 虚拟机上搭建,并使用 VMware 共享磁盘存储的方式

    wampserver3.2.0_x64.exe
    下载地址:https://sourceforge.net/projects/wampserver/

    问题原因暂不明确,后续找到解决方案后完善 >_<

    九、FAQ

    1、提示根目录下没有 .ocdata,但实际有该文件
    51f5505021dc61185b8cf0814e3b4a0
    原因:VMware 共享文件夹挂载使用的是默认 root:root 权限,需改为 apache:apache 权限。
    解决:修改挂载命令为 sudo /usr/bin/vmhgfs-fuse .host:/owncloud_data /mnt/hgfs -o allow_other -o uid=48 -o gid=48 -o umask=022

    十、参考资料

    搭建OwnCloud私有云:https://blog.csdn.net/qq_28938933/article/details/82828454

    VMware 挂载共享磁盘:https://jarviswwong.com/ubuntu-vmware-hgfs-permissions-problem.html

    搭建高版本 owncloud:http://www.likecs.com/show-35989.html

  • 相关阅读:
    电脑开机自动上线(电脑开机之后自动将电脑的远程端口映射到服务器,可以通过其他设备进行连接,实现随时访问自己的电脑)
    批处理(bat)用来监测Windows网络状态脚本
    js取消点击事件
    uni-app 几个实用的功能
    前端几个比较方便的正则验证
    element.ui时间选择器
    Vue pc端项目打包后在nginx中无法正常浏览,点击页面出现404
    微信小程序之选项卡的实现方法
    文本溢出显示省略号
    分享几道前端面试题(3)
  • 原文地址:https://www.cnblogs.com/alfredinchange/p/12823911.html
Copyright © 2011-2022 走看看