OwnCloud环境搭建

一、 环境搭建

1. 环境需求

服务器操作系统:Centos7.0

外网服务器操作系统:Centos7.0

Php版本号:5.4.16

Mysql版本号:5.5.52

Apache版本号:2.4.6

OwnCloud版本号:9.1.4

Frps和frpc:release0.9

2. PHP+Apache+MySql+PHP扩展环境搭建步骤

1) Centos7切换为阿里yum源

第一步:安装以及备份base reop源

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bak

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第二步:安装repl reop源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

第三步:清理缓存

yum clean all

第四步:重新生成缓存

yum makecache

2) 安装php、mysql、插件以及配置Apache

第一步:安装php、mysql、以及需要的所有插件

yum install httpd php php-mysql mariadb-server mariadb sqlite php-dom php-mbstring php-gd php-pdo wget vim

第二步:安装完成apache之后,需要配置

vi /etc/httpd/conf/httpd.conf

找到#ServerName www.example.com:80 并且去掉‘#’修改为“ServerName localhost:80”,修改后保存退出。

第三步:在配置好Apache之后,现在还有防火墙的阻拦,会无法访问,因此需要关闭centos7的防火墙

systemctl stop firewalld.service

setenforce 0

第四步:设置SELinux允许owncloud写数据

setsebool -P httpd_unified 1

第五步:启动apache并且设置为开机自启动

systemctl start httpd.service

systemctl enable httpd.service

至此,可以打开网页访问网址“127.0.0.1”可以看到如图所示界面,表示Apache配置成功。

图1 Apache测试页面

第六步:安装了mariadb(mysql)启动并且创建数据库给owncloud使用

systemctl start mariadb.service

systemctl enable mariadb.service

进入root权限,创建数据库

mysql -u root –p

直接回车进入mysql,因为此前没有设置过密码。进去后修改密码,如下:

use mysql;

SET password for 'root'@'localhost'=password('root');

创建数据库:

create database owncloud;

创建使用数据库owncloud的用户“oc_owncloud_user”以及分配密码“root”

create user 'oc_owncloud_user'@'localhost' identified by 'root ';

这里注意,上述的数据库用户第一次一定是要以“oc”开头的用户名。

创建完成以后查看自己创建的用户名是否以及成功:

use mysql;

select user,host from user;

若不存在,重新使用之前的命令进行创建,注意符号的使用;若创建成功则,进行下面的操作:

为创建的用户进行远程权限的分配:

grant all on owncloud.*to'oc_owncloud_user'@'localhost' identified by 'root';

flush privileges;

systemctl restart mariadb.service

3) 下载、解压、和配置owncloud9.1.4

第一步:在owncloud下载owncloud9.1.4压缩包,地址如下:

https://download.owncloud.org/community/owncloud-9.1.4.zip

第二步:解压压缩包到/var/www/html/

tar -jxvf owncloud-9.1.4.tar.bz2 -C /var/www/html/

第三步:接下来我们需要为Web服务器上文件目录设置读写权限

chown -R apache.apache /var/www/html/owncloud/

第四步:解压完成之后,需要配置Apache服务器,编辑owncloud外部配置文件。

vi /etc/httpd/conf.d/owncloud.conf

这个配置文件可能是空的,添加如下内容:

Alias /owncloud /var/www/html/owncloud

Options Indexes FollowSymLinks

<Directory /var/www/html/owncloud>

AllowOverride All

</Directory>

<Proxy *>

Order allow,deny

allow from all

</Proxy>

第五步:完成配置之后重启apache服务器以及mariadb(mysql)

systemctl start httpd.service

systemctl start mariadb.service

第六步:配置owncloud9.1.4服务器

在浏览器打开“http://你owncloud服务器ip/owncloud”

出现如下的界面:

按照如下进行设置,其中用户名密码自己定义,数据库连接部分,数据库用户填写创建数据库用户时的用户名,这里第一次必须使用oc开头的用户名,数据库密码就是数据库用户密码,数据库名,就是数据库的名字。填写好以后提交。会在owncloud/config/下面生产配置文件config.php,用于保存连接数据库的信息等。

配置完成以后可以进入如下界面:

恭喜你,内网中的owncloud服务器搭建成功。

下面是穿透外网的(常用VPN或交换机端口镜像)

4) frp server以及frp client的搭建

frp的作用如下:

由于处于内网中的服务器ip,在外网中不识别,想通过穿透这一功能,用户使用外网ip能够访问到内网服务器。其中需要用到获取外网ip的机器作为frp server,而提供云服务的机器运行frp client。

第一步:在github上去获取frp的应用,可以是别人上传的release也可以自己编译。地址如下:

https://github.com/fatedier/frp/tree/release-0.9

第二步:解压下载好的release版本,将其中的frps frps.ini拷贝到外网机器上,对frps.ini进行修改:

[common]

bind_addr =0.0.0.0

bind_port = 7000

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

log_file = ./frps.log

log_level = info

log_max_days = 3

privilege_mode = true

privilege_token = 12345678

privilege_allow_ports = 2000-3000,3001,3003,4000-50000

max_pool_count = 100

authentication_timeout = 900

subdomain_host = frps.com

[ssh]

type = tcp

auth_token = 123

bind_addr = 0.0.0.0

listen_port = 6000

[dns]

type = udp

auth_token = 123

bind_addr = 0.0.0.0

listen_port = 5353

[web01]

auth_token = 123

listen_port = 1111

[web05]

auth_token = 123

listen_port = 1112

第三步:修改完成保存后运行server端。

Ø ./frps –c ./frps.ini

第四步:将frpc 和frpc.ini拷贝到云服务器运行的机器上,并且对frpc.ini进行如下修改:

[common]

server_addr = 222.73.156.141

server_port = 7000

log_file = ./frpc.log

log_level = info

log_max_days = 3

auth_token = 123

privilege_token = 12345678

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

use_encryption = false

use_gzip = false

[dns]

type = udp

local_ip = 114.114.114.114

local_port = 53

[web01]

type = http

local_ip = 172.17.226.119

local_port = 80

use_gzip = true

pool_count = 1111

第五步:其中红色标注的地方都是修改的重点,按照外网ip,内网ip进行对应,修改之后在云服务器上运行frp client。

./frpc –c ./frpc.ini

5) 通过访问外网地址,来访问云服务器

至此,穿透+云服务器已经搭建完成,通过访问外网ip来访问内网中的服务器。

3.

二、 插件安装

1) 在owncloud的官网去下载自己喜欢的插件

2) 解压下载的插件到owncloud/apps/下面

3) 登录到owncloud的界面,然后点击应用,如下图

4) 在未开启中找到自己下载的插件,然后开启

三、 软件使用

通过外网ip访问frps穿透地址,能够访问到内网中服务器,登录到如下界面:

可以创建文件夹,上传照片,上传视频,音乐等等文件,在安装插件之后,能够在线观看视频,听音乐,浏览pdf等等。

centos7 上搭建私有云的更多相关文章

  1. [原创]在Centos7上搭建私有的Gitlab服务器

    前言 Git作为后起之秀,在版本控制领域占据了头把交椅.Github作为托管式的代码仓库,从代码安全性和网络传输等各个方面考虑,对于个人和公司来讲,具有一定的局限性.Gitlab提供的不同版本的安装包 ...

  2. 自行搭建私有云ownCloud,启用SSL,其他配置

    ownCloud简介 ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了 ...

  3. 自行搭建私有云kodexplorer

    kodexplorer是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!最近百度网盘还发出申明,说要限制使用空间.用别人的东西 ...

  4. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  5. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  6. centos7上搭建开源系统jforum

    centos7上搭建好tomcat,mysql; 将 jforum-2.6.2.war放到tomcat目录的webapps下: 启动tomcat,./startup.sh ,查看webapp下jfor ...

  7. window搭建私有云,只要几分钟

    本文介绍如何在window搭建私有云网盘. 工具/原料:一台window系统电脑或者window服务器(vps),Xampp 安装包,可道云kodexplorer安装包 第一步,xampp安装 1.官 ...

  8. [Openwrt 扩展下篇] Openwrt搭建私有云Owncloud 9

    网上很多资料讲用Linux打造owncloud构建私有云 ,花了些时间研究了下,我将之前的需求打造成了Openwrt下的Owncloud 9.其实网上还有Seafile.大家对比来看下知乎的评论,其实 ...

  9. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

随机推荐

  1. SQL语句大全2

    SQL 语句大全 --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE -- ...

  2. Adversarial Training

    原于2018年1月在实验室组会上做的分享,今天分享给大家,希望对大家科研有所帮助. 今天给大家分享一下对抗训练(Adversarial Training,AT). 为何要选择这个主题呢? 我们从上图的 ...

  3. Python_uuid 学习总结

    1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, ...

  4. 从客户端检测到有潜在危险的Request.Form 值”错误提示

    http://www.cnblogs.com/UouHt/archive/2008/10/30/1322697.html asp.net开发中,经常遇到“从客户端检测到有潜在危险的Request.Fo ...

  5. oracle 里 插入空字符串会被转成null插入

    oracle 里 插入空字符串会被转成null插入 因为非空列如果要插入空字符串数据,最好是插个空格,因为空字符串会报错

  6. boost - 正则表达式xpressive

     正则表达式是一套处理文本强有力的工具: 它使用一套复杂的语法规则,可以解决文本处理领域的绝大多数问题; 而这些问题通常是字符串算法很难甚至无法解决的. C++98标准中没有内置的正则表达式支持,使得 ...

  7. IOS . -转载-10行代码搞定九宫格

    //每个Item宽高 CGFloat W = ; CGFloat H = ; //每行列数 NSInteger rank = ; //每列间距 CGFloat rankMargin = (self.v ...

  8. Eclipse Android 代码自己主动提示功能

    Eclipse Android 代码自己主动提示功能 Eclipse for android 实现代码自己主动提示智能提示功能.介绍 Eclipse for android 编辑器中实现两种主要文件 ...

  9. Duilib教程-非DUI控件

    DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的.其实包括: 1.EDIT. 它的实现原理是,CEditUI包含一个窗口CEditWnd,流程如下: 1)鼠标单击,创建窗口见 EditU ...

  10. HDU 3367 Pseudoforest(Kruskal)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...