centos7 上搭建私有云
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 上搭建私有云的更多相关文章
- [原创]在Centos7上搭建私有的Gitlab服务器
前言 Git作为后起之秀,在版本控制领域占据了头把交椅.Github作为托管式的代码仓库,从代码安全性和网络传输等各个方面考虑,对于个人和公司来讲,具有一定的局限性.Gitlab提供的不同版本的安装包 ...
- 自行搭建私有云ownCloud,启用SSL,其他配置
ownCloud简介 ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了 ...
- 自行搭建私有云kodexplorer
kodexplorer是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!最近百度网盘还发出申明,说要限制使用空间.用别人的东西 ...
- 在CentOS 6上搭建私有的Docker Registry
在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...
- 在Dropbox上搭建私有的Git仓库的教程
导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...
- centos7上搭建开源系统jforum
centos7上搭建好tomcat,mysql; 将 jforum-2.6.2.war放到tomcat目录的webapps下: 启动tomcat,./startup.sh ,查看webapp下jfor ...
- window搭建私有云,只要几分钟
本文介绍如何在window搭建私有云网盘. 工具/原料:一台window系统电脑或者window服务器(vps),Xampp 安装包,可道云kodexplorer安装包 第一步,xampp安装 1.官 ...
- [Openwrt 扩展下篇] Openwrt搭建私有云Owncloud 9
网上很多资料讲用Linux打造owncloud构建私有云 ,花了些时间研究了下,我将之前的需求打造成了Openwrt下的Owncloud 9.其实网上还有Seafile.大家对比来看下知乎的评论,其实 ...
- 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)
(一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解. Azure Pack是微软的私有云方案,具有弹性. ...
随机推荐
- 请写出5种常见到的runtime exception。
请写出5种常见到的runtime exception. 解答: NullPointerException:当操作一个空引用时会出现此错误. NumberFormatException:数据格式转换出现 ...
- Timer类与TimerTask类
有个schedule方法,可以指定过多长时间定期的执行某个程序或某段代码,或者过多长时间启动一个线程等. TimerTask类实现了Runnable接口,要执行的类由它里面实现的run方法来完成. 编 ...
- 关于OBJC
http://www.objc.io/ objc这个站点是:关于objective-c语言的最佳实践和高阶技术的期刊. 看了几期非常不错,所以计划每天抽出时间翻译一篇文章和大家一起分享.
- (转)Unity笔记之编辑器(BeginToggleGroup、BoundsField、ColorField) ...
1. BeginToggleGroup() BeginToggleGroup函数是定义了一个控制范围,可以控制该范围中的GUI是否启用,看下演示代码: [code]csharpcode: using ...
- Java反射基础(一)
构造方法的获取 1. 四个方法:getConstructors()获取所有的构造方法: getConstructor(parameters)获取匹配参数的构造方法: getDeclaredCons ...
- opencv2.4.9+VS2010配置
opencv2.4.9 https://pan.baidu.com/s/15b5bEY65R4CptayEYVAG4A 安装包路径:D:\文件及下载相关\文档\Tencent Files\845235 ...
- Windows防火墙端口规则设置新建方法
from:https://jingyan.baidu.com/article/2a1383289fd094074a134ff0.html Windows防火墙有什么用呢?它是电脑的一道安全屏障,可以有 ...
- selenium 方法导图
- 【BZOJ5063】旅游 Splay
[BZOJ5063]旅游 Description 小奇成功打开了大科学家的电脑. 大科学家打算前往n处景点旅游,他用一个序列来维护它们之间的顺序.初 始时,序列为1,2,...,n. 接着,大科学家进 ...
- linux一台机器文件传到另一台机器上
登录一台机器35.73: scp -P 端口 要传的文件 user@xxx.xxx.xxx.xxx:/目标文件夹/ 例子 :scp -r -P3561 /home/ismp/build/app/bec ...