文章目录
一、部署背景
需求如下:
1、安全可靠的数据存储中心。
2、支持在线编辑文档,如txt、word、execl、ppt等格式文件。
3、根据部门或人员维度设置数据独立空间。
4、账号权限添加、修改、回收管理方便。
5、账号密码添加、修改、删除管理方便。
6、支持web平台管理。
二、部署方案
1、服务器:使用的是公司内网服务器。
2、文件存储:由于公司内部文件非常大,所以对磁盘容量及性能要求比较高,这里采用的是大容量的固态磁盘。
3、网络类型:由于是企业内部是使用,所以使用内网环境。
4、部署方式:采用docker容器化部署。
三、环境准备
1、操作系统:CentOS Linux release 7.6.1810 (Core)
2、内核版本:3.10.0-1160.15.2.el7.x86_64
3、docker版本:18.09.7
四、部署步骤
官方参考链接:Manual Installation on Linux
4.1、部署mariadb服务
#1、yum安装mariadb服务
yum install mariadb-server mariadb -y
#2、启动mariadb服务
systemctl start mariadb
#3、修改root密码(默认是无密码)
update mysql.user set password=password('VU8YO84X1vE@0SdA') where user='root' and host='localhost';
flush privileges;
#4、创建用于owncloud连接的cloud数据库、用户、密码、权限
create database cloud;
CREATE USER 'cloud'@'%' IDENTIFIED BY 'HhN$roPvuLR1o09c';
GRANT ALL PRIVILEGES ON cloud.* TO 'cloud'@'%';
FLUSH PRIVILEGES;
#5、mariadb配置优化
cd /etc/my.cnf.d && touch 50-server.cnf
vim 50-server.cnf
#内容如下
key_buffer_size = 32M
table_cache = 400
query_cache_size = 128M
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=1
innodb_log_file_size=256M
innodb_log_buffer_size = 128M
innodb_buffer_pool_size=2048M
innodb_buffer_pool_instances=3
innodb_read_io_threads=4
innodb_write_io_threads=4
innodb_io_capacity = 500
innodb_thread_concurrency=2
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_large_prefix=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#6、重启mariadb服务
systemctl restart mariadb
4.2、部署redis服务
1、官网参考地址:为什么需要安装缓存数据库?
默认情况下,使用数据库锁定后端启用文件锁定。这给您的数据库带来了很大的负担。使用 memcache.locking可减轻数据库负载并提高性能。拥有大量工作负载的ownCloud服务器的管理员应安装内存缓存。
2、支持的缓存后端
ownCloud支持的缓存后端是:
本地缓存APCu:这是运行PHP 5.6及更高版本的系统的本地缓存。需要APCu 4.0.6及更高版本。另外,您可以使用Zend OPCache。但是,它不是数据缓存,而只是操作码缓存。
分布式缓存Redis:这是用于多服务器ownCloud安装的分布式缓存。需要版本2.2.6或更高版本的PHP Redis扩展。
分布式缓存Memcached:这是用于多服务器ownCloud安装的分布式缓存。
您可以同时使用本地和分布式缓存。推荐的ownCloud缓存为APCu和Redis。如果您未安装并启用本地内存缓存,则您将在ownCloud管理页面上看到警告。如果仅在config.php(memcache.distributed)中启用分布式缓存,而在本地缓存(memcache.local)中未启用,则仍会看到缓存警告。
3、部署参考地址:redis数据库部署
#1、没有php72执行以下命令扩展yum库
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#2、安装redis扩展库
yum install php72w-pecl-redis -y
#3、安装redis
yum install redis -y
#4、修改配置文件
vim /etc/redis.conf
bind 0.0.0.0
requirepass UmUC*fm7&#Y0xGhb
#5、重启redis服务
systemctl enable redis
systemctl restart redis
systemctl status redis
4.3、安装owncloud服务
官网参考地址:使用docekr部署owncloud服务
docker pull owncloud
docker run -d --name owncloud -v /data/ownclouddata:/var/www/html -p 8080:80 owncloud
OwnCloud安装向导:
1、本地浏览器访问:http://172.18.1.110::8080
2、系统首先要求设置一个管理员账号,请设置好并牢记之,然后点击"配置数据库"
如下图所示:
安装完成后如下图所示:
4.4、配置内存缓存
官方参考地址:内存缓存配置
#修改config.php文件
vim /data/ownclouddata/config/config.php
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '172.18.1.110',
'port' => 6379,
'timeout' => 0.0,
'password' => 'UmUC*fm7&#Y0xGhb',
],
#说明:修改后可以不用重启owncloud服务。
完整配置文件如下图所示:
4.5、OwnCloud实现文件在线预览和编辑
官方参考地址:使用docker部署onlyoffice/documentserver
1、安装并启用 onlyoffice/documentserver
docker pull onlyoffice/documentserver
docker run -i -t -d -p 8899:80 \
-v /data/onlyoffice/documentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
2、登录到ownCloud,单击左上角进入Market页面
3、找到 ONLYOFFICE 插件,点击安装
4、安装完成后,点击右上角用户名进入到设置页面,进行如图所示的设置
特别说明:
a、这里选择关闭证书校验,如果需要安装,请参考官方文档。
b、请根据实际的需求填写默认关联的文件格式以及默认文件编辑器。
5、返回到首页,刷新或重新登录,然后单击 Office 文件即可在线预览和编辑
说明:点击文件—>高级设置—>关闭拼写检查。
4.6、OwnCloud实现邮件发送
OwnCloud支持第三方的SMTP发送邮件模式,具体如下:
1、登录OwnCloud后,进入管理用户->设置->个人->常规页面,填写发件邮箱地址
2、进入设置->管理->常规页面,依次填写SMTP
设置完成后,测试邮件发送,如果现实发送成功,则表明设置正确。
五、平台操作
5.1、创建普通用户
说明:这里就不截图显示了,应该很简单,但是有几点需要注意。
1、根据公司部门结构,设置不同的组。
2、根据不同的组,创建相应的用户。
5.2、用户密码修改
修改密码这里有个小坑,之前一直以为密码修改不成功,是因为没有按回车键。
5.3、用户组删除
删除组不会立即删除,需要等待几分钟(这个需要注意)。
5.4、owncloud升级
OwnCloud提供了非常人性化的升级(update)入口,根据系统的更新提示既可以完成主版本、APP插件的更新。
特别注意:在升级之前请做好服务器的快照备份,这个是必须的步骤,因为谁都无法保证升级100%成功。
插件升级
1、登录OwnCloud之后查看右上角是否有更新通知,若有,请点击其中的更新条目
2、点击更新条目后,进入更新界面
3、点击“更新”按钮,系统进入“UPDATING”,耐心等待更新。
4、更新完成后,更新清单会显示“所有应用都是最新的”。
主程序升级
1、当有可用升级的程序时,系统提示“ownCloud *** is available. Get more information on how to update”
2、依次打开:点击右上角用户->设置->常规,找到更新管理器,若有更新请点击“打开更新管理器”按钮
3、点击“Create a checkpoint”,创建一个核心文件备份
3、进入Updater(更新管理器)
点击“Start”按钮,系统进入自动化升级过程,下载和升级过程比较长,请耐心等待
说明:由于升级过程会下载最新版本,OwnCloud的下载服务器在国外,若下载不成功,需要不定期尝试。
5.4、owncloud备份
说明:这里的备份分为两部分,一部分为mysql数据库cloud库,一部分为用户上传的文件数据
1、mysql数据库备份建议写一个数据库备份脚本定时备份。
2、由于owncloud采用的是容器化部署,且/var/www/html目录有做本地映射,当前本地映射的目录为/data/ownclouddata,进入该目录下会有一个data目录里面存储各个用户的数据的目录,建议如果资源足够的情况下做多机备份,采用rsync脚本或其他方式定时备份到其他主机上,实时保证公司企业内部重要数据的安全。
5.5、本地磁盘映射
实现方案:利用owncloud提供的WEBDAV服务,我们可直接把这个owncloud映射出本地磁盘驱动器,方便随时存储和查看文件。
1、修改注册表使得WIN同时支持http和https
说明:当前部署的owncloud不能使用https,只能使用http,且当前环境的系统是win7以上版本,包括win8、win10,会稍微麻烦一些,win7以上版本操作系统微软禁用了http形式的webdav验证形式,所以我们必须修改注册表来实现。
#操作步骤如下
1、打开cmd,输入regedit
2、计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
把BasicAuthLevel 值改成2,即同时支持http和https,默认只支持https
如下图所示:
2、启动WebClient服务
点击我的电脑—>右键点击管理—>点击服务和应用程序—>点击服务—>找到WebClient—>右键启动服务
3、查看owncloud的webdav地址
4、点击我的电脑,邮件选择网络映射驱动器
说明:填入webdav地址之后,调整盘符,点击完成,在弹出的方框内输出账号和密码即可。
六、部署总结
1、上述部署文档适用于内网服务器。
2、如果是在云虚拟机上部署,如华为云、阿里云或腾讯云这种,建议使用oss,不建议使用SFS或NAS。
#使用华为云 OSS
参考由华为云官方提供的教程:https://bbs.huaweicloud.com/forum/thread-1001-1-1.html
#使用腾讯云 OSS
参考由腾讯云官方提供的教程:https://cloud.tencent.com/document/product/436/6883
#使用阿里云 OSS
参考由阿里云官方提供的教程:https://help.aliyun.com/document_detail/32196.html
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结