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、部署LAMP架构
1、关闭防火墙
[root@owncloud ~]# systemctl stop firewalld
[root@owncloud ~]# systemctl disable firewalld
2.安装apache
yum install -y httpd
启动LAMP相关服务
[root@owncloud ~]# systemctl start httpd.service && systemctl enable httpd.service
3.安装mariadb
1、创建MariaDB.repo并复制下面内容:
nano /etc/yum.repos.d/MariaDB.repo
把下面的内容复制进去:
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
2、安装MariaDB
yum -y install mariadb-server mariadb mariadb-devel
3、启动MariaDB
4、把MariaDB设为自动启动
4.安装php
php版本要求高于5.6,所以此处直接安装php7.4版本
yum源更换为aliyun的remi
[root@owncloud ~]# yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
[root@owncloud ~]# yum -y install yum-utils
2.安装php8
查询PHP包
[root@owncloud ~]# yum repolist all |grep php
安装PHPX(根据需要选择版本)
[root@owncloud ~]# yum-config-manager --enable remi-php80
[root@owncloud ~]# yum install -y php php-mysql php-dom php-mbstring php-gd php-pdophp-devel php-common php-opacache php-xmlphp-pecl-zipphp-intl --skip-broken
查看PHP版本
php -v
# PDO(PHP数据对象) 是一个轻量级的、具有兼容接口的PHP数据连接拓展
5、测试apache:
http://192.168.8.181
2、在搭建好的LAMP环境上部署 owncloud 站点
1.下载owncloud包
方式一:根据实际情况选择版本
wget https://download.owncloud.org/community/owncloud-latest.zip
或者:https://owncloud.com/download-server/ 处下载
# 地址 https://software.opensuse.org//download.html?project=isv:ownCloud:server:10&package=owncloud-complete-files#
对于 CentOS 8,请以根用户 root 运行下面命令:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/isv:ownCloud:server:10/CentOS_8/isv:ownCloud:server:10.repo
yum install owncloud-complete-files
对于 CentOS 7,请以根用户 root 运行下面命令:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/isv:ownCloud:server:10/CentOS_7/isv:ownCloud:server:10.repo
yum install owncloud-complete-files
2.解压并更改权限
通过xshell中的rz上传owncloud 到linux系统中:
[root@owncloud ~]# tar jxvf owncloud-complete-latest.tar.bz2 -C /var/www/html/
[root@owncloud ~]# chown -R apache:apache /var/www/html/owncloud/
3.在MariaDB数据库中创建owncloud的数据库:
1.安全初始化数据库(根据提示进行)
mariadb-secure-installation
2.创建owncloud数据库:
[root@mysql121 ~]# mysql -uroot -p123456
MariaDB [(none)]> create database owncloud character set utf8 collate utf8_bin;
MariaDB [(none)]> create user 'owncloud'@'%' identified by '123456';
MariaDB [(none)]> grant all privileges on owncloud.* to 'owncloud'@'%';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
4.通过web界面安装owncloud
5.报错:关于缺少php模块
缺少什么安装什么即可,上面安装时已经将当前所有用的php模块安装完毕
需要注意,安装完php模块后需要重启apache
[root@owncloud ~]# systemctl restart httpd.service
3、通过web界面安装owncloud私有云网盘
第一次输入的帐号,将做为网盘站点管理员。
http://192.168.8.181/owncloud/index.php
用户名: admin 密码: 123456
接下来输入数据库的 用户:owncloud 密码: 123456 数据库名: owncloud
点击“安装完成”,接下来自动化安装
安装完后,使用admin 密码: 123456 登录系统,进行使用和管理
查看效果:
点击下载pc客户端:
开始PC客户端安装:
pc客户端连接到服务上:
http://192.168.8.181/owncloud #输入owncloud所在的链接(http服务)。
使用上百度网盘一样。
在web版本上上传文档:
可以上传文档:
4、 owncloud用户管理
1.右上角:选择用户
2.左下角设置,勾选为新用户设置密码(其余项根据自己喜好进行勾选)
3.根据需求创建组或者用户
5、 增加插件,比如在线阅读word文档等功能
6、关于优化
1.优化上传
为了保证大文件传输时不出错,修改php的配置文件php.ini,
将其中的upload_max_filesize和post_max_size修改为一个较大的值(表示的是上传文件和通过POST方式发送数据包的最大大小,推荐写100M或更大),
并修改max_execution_time和max_input_time(表示每个PHP页面运行和接收数据的最长时间,建议写600及以上的值),
最后修改memory_limit(内存占用大小)为32M及以上(不能过大)。
2.将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访问你的网盘了!