OwnCloud网盘的搭建(2021年最新版)
摘自 原文,作者本人
1 OwnCloud简介
OwnCloud是一款开源的个人网盘软件,适用于自建服务器的云存储服务,一般为个人使用,具有文件同步、文件分享功能,并支持WebDAV以及在线流媒体播放。OwnCloud服务端的运行依赖LAMP环境,因此我们应当先将LAMP环境配置完善后再进行OwnCloud服务端软件的安装。
2 OwnCloud的安装
不推荐使用OwnCloud官网提供的安装路线,在此列出两篇手动安装OwnCloud的CSDN文章:
在安装过程中有如下几个关键步骤以及需要注意的点:
-
安装Apache,Ubuntu包名为apache2,CentOS包名为httpd。安装结束后打开默认界面测试,注意开通防火墙相关端口。
-
安装版本高于5.6的PHP,若版本低于5.6则首先删除所有php相关包,然后通过添加源的方式安装更高版本的包。
-
为了保证大文件传输时不出错,修改php的配置文件
php.ini,将其中的upload_max_filesize和post_max_size修改为一个较大的值(表示的是上传文件和通过POST方式发送数据包的最大大小,推荐写100M或更大),并修改max_execution_time和max_input_time(表示每个PHP页面运行和接收数据的最长时间,建议写600及以上的值),最后修改memory_limit(内存占用大小)为32M及以上(不能过大)。 -
安装并开启数据库服务(MySQL或MariaDB),并开放3306端口。
-
从官网下载OwnCloud的安装包,并将解压后的文件夹复制到
/var/www/html后,注意将文件夹所属目录的所有者更改为apache(Ubuntu为www-data)用户(chown -R apache.apache /var/www/html) -
配置文件路径并重启Apache服务后,通过Web界面安装OwnCloud,创建管理员账号并连接数据库后,就可以利用
http://ip:端口/index.php访问OwnCloud服务了。
3 将OwnCloud服务进行HTTPS加密
将OwnCloud服务与域名绑定并进行https加密是很有必要的。笔者通过Nginx反向代理实现此需求。
为避免与nginx的http服务冲突,首先设置Apache的监听端口为81并将OwnCloud服务运行于其上,接着在nginx的配置文件中新建一个server块:
server {
listen 443 ssl;
server_name cloud.yourdomain.com; # 修改成你自己的域名
charset utf-8;
# 更改数据包大小上限避免大文件传输出错
client_max_body_size 4096M;
# SSL证书,可通过Let's Encrypt https://letsencrypt.org/ 提供的程序申请
ssl_certificate yourdomain.com/fullchain.pem;
ssl_certificate_key yourdomain.com/privkey.pem;
ssl_trusted_certificate yourdomain.com/chain.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
server_tokens off;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
location / {
# 反向代理本机81端口的OwnCloud服务
proxy_pass http://127.0.0.1:81;
index index.php;
}
}
运行后发现OwnCloud网页上的登出链接仍然为http://127.0.0.1:81/...,这显然是OwnCloud的php配置中没有更改自定义域名导致的,于是修改OwnCloud的配置文件config.ini(位于安装目录下的config文件夹),在trusted_domains下面添加一行,并增加overwrite.cli.url和overwritehost两个字段,如下所示:
'trusted_domains' =>
array (
0 => '127.0.0.1:81',
1 => 'cloud.yourdomain.com',
),
...
'overwrite.cli.url' => 'http://127.0.0.1:81',
'overwritehost' => 'cloud.yourdomain.com',
...
重启apache服务后大功告成,可以通过https://cloud.yourdomain.com/index.php访问你的网盘了!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)