信步漫谈之OwnCloud—Linux下搭建私有云

摘要:
吨( ̄)  ̄) 我不会故意写以下内容。哈哈哈哈#一步安装完成yumminstall open vm工具3)Linux虚拟机将Windows共享目录装载为OwnCloud存储目录#装载vmware共享目录sudo/usr/bin/vmhgfs-fuse host:/OwnCloud_data/mnt/hgfs-allow_ Other ouid=48 ogid=48 oumask=0224)修改OwnCloud的存储目录#关闭httpd服务httpdstop#下载将Linux上的/var/www/html/owncloud/data存储目录更改为Windows共享目录#修改owncloud-cd的存储路径配置/var/www/html/owncloud/config#备份配置文件cpconfig。phpconfig。php中。bak#将配置文件datadirectory值修改为/mnt/hgfs#viconfig。php5)自动启动并安装它,修改启动脚本/etc/rc。d/init。d/owncloud,并添加mount命令#!
一、环境

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

免责声明:文章转载自《信步漫谈之OwnCloud—Linux下搭建私有云》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用JCONSOLE远程监控JVMClover 引导简明教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

flask接口入门实现简单的登录注册(一)

和网上的博客app不同,由于需求主要写一些小程序的借口 首先是初始化app __init__.py importos from flask importFlask def create_app(test_config=None): #create and configure the app app = Flask(__name__,...

关于poi的导出(POI)

很简单 我封装好的poi导出类 可以拿来直接用 package com.xst.common; import java.io.IOException;import java.io.OutputStream;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.t...

Java如何实现跨平台

在前面讲解编程语言的时候我们看到,通过引入编译器,解决了使用机器语言编程带来的问题。但这有待来了另一个问题:不同的平台(你可以理解成CPU不同、操作系统不同)所能理解的二进制机器指令是不一样的,编译器只能针对某个特定目标平台进行编译,一旦编译完成生成的可执行程序只能在目标平台上运行,换到其它平台就不能运行了。 针对这一问题,Java使用了另一种方案,这也是...

Ubuntu下制作系统启动盘

制作系统U盘: $ sudo umount /dev/sdc1 $ sudo dd if=/home/abby/software/ubuntu-16.04.3-desktop-amd64.iso of=/dev/sdc 3100800+0 records in 3100800+0records out 1587609600 bytes (1.6...

linux同步windows的时间

找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路   首先在http://www.meinberg.de/english/sw/index.htm   下载了一个windows的NTP服务程序:ntp4171.zip   windows 192.168...

在Linux下如何使用磁带机

本文链接地址:http://www.ttlsa.com/html/1081.html 1.识别磁带机备份单元 RedHatLinux支持许多不同类型的磁带设备。 通常情况下, SCSI磁带设备将被命名为/dev/st0,/dev/st1或/dev/nst0,/dev/nst1等等 IDE磁带设备将被命名为/dev/ht0,/dev/ht1或/dev/nht...