OwnCloud 搭建本人的公有云盘
OwnCloud 是什么
ownCloud 跨平台反对 Windows、Mac、Android、iOS、Linux 等平台,而且还提供了网页版和 WebDAV 模式拜访,因而你能够在任何电脑、手机上都能轻松获取你的文件了,是一个开源收费业余的公有云存储我的项目,它能帮你疾速在个人电脑或服务器上架设一套专属的公有云文件同步网盘,能够像 Dropbox 那样实现文件跨平台同步、共享、版本控制、团队合作等等。ownCloud 能让你将所有的文件把握在本人的手中,只有你的设施性能和空间短缺,那么用其来简直没有任何限度。官网:https://owncloud.com/
ownCloud 不仅实用于集体应用,对常常须要传输共享文件、近程合作等需要的团队或公司更是适合!性能上也很弱小:能反对文件分享、获取文件链接、文件版本历史管制 (文件删除复原)、文件评论合作、文件共享 (可设置读写权限)、图片音乐和文档等文件预览、凋谢 API、反对第三方利用整合等等。除了云存储之外,ownCloud 还能够用于同步日历、电子邮件联系人、网页浏览器的书签等性能。
ownCloud 我的项目应用了 PHP+MySQL 的经典组合,无论在本人的电脑上或是 VPS 服务器上,基本上只有能跑 WordPress 网站的机器都能运行了,装置服务器端就像用 PHP 程序建站一样简略。官网倡议在 Linux (如 Ubuntu 或 CentOS) 零碎下搭建,对于 Windows 作为主机的用户,能够通过 WAMP、XAMPP 等工具搭建简略的运行环境。另外,ownCloud 还提供了搭建好环境的虚拟机文件,你能够间接在 VMWare、VirtualBox、Hyper-V 中运行 ownCloud 服务器端。
本文须要
1. 域名(非必须)
2. 服务器 + 或者是内网(腾讯云)
3. 零碎:Centos7
应用到的技术
Linux(基于 Centos7)Docker(或者 LNMP,本文将数据库),Nginx+SSL 等
基于 docker 装置 ownCloud
1. 装置 docker(省略)
拉取镜像、运行
# docker pull owncloud
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/owncloud latest 327bd201c5fb 2 years ago 618 MB
# docker run -itd --name owncloud --restart always -p 83:80 -v /data/wwwroot/web/o.xgss.net:/var/www/html/data -d owncloud
应用 IP+ 端口的形式拜访
ownCloud 文件则是一成不变地将文件保留在服务器硬盘,目录构造也跟网页版 (客户端) 上看到的一样,只有他人有权限拜访你的主机,那么就能绕过 ownCloud 间接查看或拷走所有用户的文件了。不过,ownCloud 这种形式也有它的长处,就是当有一天你不再想用 ownCloud,或者它因各种起因挂掉了,你的文件的备份和导出都十分不便!
ownCloud 主机服务器端还反对将文件上传到私有云服务,如 Amazon S3、Dropbox、FTP、Google Drive、OpenStack Object Storage、SMB、WebDAV、SFTP 等近程服务器,所以更加灵便。
2. 域名解析
将 o.xgss.net 域名解析到服务器中 159.75.245.162
3. 申请收费 SSL 证书
如果不应用 https 则此步骤可省略
我这边申请收费的阿里云的一年收费证书。
4. 批改配置文件
5. 配置 nginx
装置 NGINX(省略)
http 的配置
########################o.xgss.net############################################
upstream ownCloud_server{server 127.0.0.1:83;}
server {
listen 80;
server_name o.xgss.net;
access_log /data/wwwroot/log/o.xgss.net.log main_zdy;
error_log off;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Cache-Control "no-cache";
proxy_pass http://ownCloud_server;
limit_rate 256m; # 用户下载限速
client_max_body_size 0; # 容许上传的文件大小无限度
#client_max_body_size 5G; # 容许上传的文件 5G
}
}
https 的配置
upstream ownCloud_server{server 127.0.0.1:83;}
# http 跳转 https
server {
listen 80;
access_log off;
error_log off;
server_name o.xgss.net;
return 301 https://$host$request_uri;
}
server {
listen 80;
server_name o.xgss.net;
access_log /data/wwwroot/log/o.xgss.net_ssl.log main_aliyun;
error_log off;
ssl on;
ssl_certificate /data/wwwroot/web/cert/o.xgss.net.pem;
ssl_certificate_key /data/wwwroot/web/cert/o.xgss.net.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Cache-Control "no-cache";
proxy_pass http://ownCloud_server;
limit_rate 256m; # 用户下载限速
client_max_body_size 0; # 容许上传的文件大小无限度
#client_max_body_size 5G; # 容许上传的文件 5G
}
}
浏览器拜访装置
默认应用 SQLlite 即可,如果有 mysql 的则可填写 mysql 的配置
下载客户端