一、环境

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,设置初始管理员账号,和数据库连接信息

linux云平台搭建 linux搭建私有云_hg

linux云平台搭建 linux搭建私有云_hg_02

linux云平台搭建 linux搭建私有云_hg_03

六、添加开机启动项

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

linux云平台搭建 linux搭建私有云_php_04

6)永久关闭 selinux

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

七、配置 OwnCloud 存储目录

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

linux云平台搭建 linux搭建私有云_linux云平台搭建_05

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

linux云平台搭建 linux搭建私有云_hg_06

是不是很复杂,还容易挂,对的,其实 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 的代码,通过数据目录权限检查函数返回空数组的方式,规避该问题。

linux云平台搭建 linux搭建私有云_hg_07

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

linux云平台搭建 linux搭建私有云_hg_08

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,但实际有该文件

linux云平台搭建 linux搭建私有云_linux云平台搭建_09

原因: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私有云:

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

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