所需软件 & 环境

操作系统:CentOS 7.3.1711 最小安装 (已关闭 SELinux 和防火墙)

应用软件: Nginx  、MariaDB  、PHP  、ownCloud 10.0.3

一.安装软件包

yum -y install nginx mariadb-server redis lbzip2 php71w-common php71w-fpm php71w-gd php71w-mysql php71w-mbstring php71w-intl php71w-mcrypt php71w-pecl-imagick php71w-xml php71w-pecl-redis

二. 下载 & 安装 ownCloud

wget  https://download.owncloud.org/community/owncloud-10.0.2.tar.bz2
tar -xf ./owncloud-10.0.3.tar.bz2 mv owncloud /usr/share/nginx/
chown -R nginx:nginx /usr/share/nginx/owncloud
find /usr/share/nginx/owncloud -type d -exec chmod 755 {} \;
find /usr/share/nginx/owncloud -type f -exec chmod 644 {} \;

三.创建 ownCloud 数据目录

ownCloud 上的数据将存储到 /data/owncloud 中。

mkdir /data/owncloud
chown nginx:nginx /var/lib/owncloud

四.配置数据库

4.1启动数据库

systemctl start mariadb

systemctl enable mariadb

4.2 进行安全设置

mysql_secure_installation

4.3 数据库配置

CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'owncloud';
CREATE DATABASE owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'owncloud';
FLUSH PRIVILEGES;

五.配置nginx

vim /etc/nginx/conf.d/owncloud.conf
upstream php-handler {
server unix:/run/php-fpm/owncloud.sock;
}
server {
listen 8080;
server_name _;
# Path to the root of your installation
root /usr/share/nginx/owncloud;
# set max upload size
client_max_body_size 10G;
fastcgi_buffers 64 4K;
# Disable gzip to avoid the removal of the ETag header
gzip off;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
deny all;
}
location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ /index.php;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler;
}
# Optional: set long EXPIRES header on static assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
access_log off;
}
}

六. 配置 PHP-FPM

6.1 编辑配置文件

vi /etc/php-fpm.d/owncloud.conf
[owncloud]
user = nginx
group = nginx
listen = /run/php-fpm/owncloud.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0600
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/owncloud-slow.log
php_admin_value[error_log] = /var/log/php-fpm/owncloud-error.log
php_admin_flag[log_errors] = on
php_value[memory_limit] = 512M
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
php_value[upload_max_filesize] = 16G
php_value[post_max_size] = 16G
php_value[max_input_time] = 3600
php_value[max_execution_time] = 3600
php_value[date.timezone] = Asia/Shanghai
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

6.2 创建 PHP 会话目录

mkdir -p /var/lib/php/session && chown -R nginx:nginx /var/lib/php/session

七.启动服务

7.1 启动服务

systemctl start nginx php-fpm

7.2 设置开机启动

systemctl enable nginx php-fpm mariadb

八.配置 ownCloud

打开浏览器,输入 https://192.168.129.100 ,回车打开。然后按图片提示进行 ownCloud 的初始化。

 

九.配置缓存 & 启用本地文件读取

配置缓存文件

vi /usr/share/nginx/owncloud/config/config.php   #倒数第二行开头(installed 那里) 
'memcache.local' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
'memcache.locking' => '\OC\Memcache\Redis',
'files_external_allow_create_new_local' => true,

配置计划任务

crontab -e
*/15 * * * * sudo -u nginx php -f /usr/share/nginx/owncloud/cron.php > /dev/null 2>&1

十.用Docker部署ONLYOFFICE Document Server

10.1 安装docker
yum install docker -y

10.2 启动服务,设置开机启动

# systemctl start decker

# systemctl enable decker

10.3 拉取ONLYOFFICE Document Server 的Docker镜像

docker pull onlyoffice/documentserver


10.4 启动Docker容器

并映射80端口至本地:

docker run -i -t -d -p 80:80 onlyoffice/documentserver

将Document Server映射至其它端口

80端口上往往会运行像Apache、Nginx之类的HTTP服务,为了避免端口冲突,我们可以将Document Server映射至其它端口。

映射至9000端口:

docker run -i -t -d -p 9000:80 onlyoffice/documentserver

通过IP:9000地址访问

Document Server的数据在容器中的储存位置如下:

  • /var/log/onlyoffice 存放ONLYOFFICE Document Server日志
  • /var/www/onlyoffice/Data 存放证书文件

11. 启用OwnCloud ONLYOFFICE集成应用程序

11.1 下载安装ONLYOFFICE

将OwnCloud ONLYOFFICE集成应用程序放在OwnCloud服务器上的/ apps目录中:

cd  /usr/share/nginx/owncloud/apps

git clone https://github.com/ONLYOFFICE/onlyoffice-owncloud.git onlyoffice

11.2 安装ONLYOFFICE

转到OwnCloud,打开带有未启用应用程序的页面,然后单击启用 ONLYOFFICE应用程序。

11.3

11.3 配置ONLYOFFICE

完成配置。

 

  

  

  

 

 

CentOS 7 上搭建 ownCloud 私有云的更多相关文章

  1. centos 搭建owncloud私有云

    ownCloud是一个免费开源的软件,用于为分享文件,日历,联系人,书签和个人音频/视频.非常容易安装和管理. 1:搭建环境配置:你的服务应该工作在LAMP上.参考下面链接去安装一键LAMP服务. h ...

  2. CentOS利用nginx和php-fpm搭建owncloud私有云

    1.安装owncloud CentOS下有一键安装命令 yum install owncloud 默认配置目录: /etc/owncloud 默认内容目录: /usr/share/owncloud 2 ...

  3. 搭建owncloud私有云

    参考:教程1,教程2,教程3,教程4 硬件:raspi 3b+ 系统:UbuntuMate 步骤: 1.安装Apache2 sudo apt-get install apache2 完成后访问服务器地 ...

  4. Linux学习笔记-Centos7搭建owncloud私有云盘

    使用环境:虚拟机centos7 1.下载安装LAMP相关软件 [root@localhost yum.repos.d]# yum install httpd –y [root@localhost yu ...

  5. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  6. Centos7 安装 OwnCloud 私有云

    OwnCloud 一款文件主机服务软件,就是我们平时使用的云存储,不过这是在自己主机的服务器上建立属于自己的私有云,OwnCloud 使用AGPLv3协议发布.本项目是基于PHP和SQLite,MyS ...

  7. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

  8. Linux(Centos)系统上搭建SVN以及常见错误解答

    本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...

  9. CentOS 7 上搭建LNMP环境

    (转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...

随机推荐

  1. group by多字段分组

    在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据.比如有一个学生选课表,表结构如下: Table: Subject_Selection S ...

  2. bzoj 4724 [POI2017]Podzielno 二分+模拟

    [POI2017]Podzielno Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 364  Solved: 160[Submit][Status][ ...

  3. 上下文管理器 contextlib

    from contextlib import contextmanager @contextmanager def tag(name): print "<%s>" % ...

  4. Centos下Mysql密码忘记解决办法

    1.修改MySQL的登录设置: # vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/m ...

  5. [Unity]多线程编程的一点心得

    在做毕设的时候涉及到了较大数据的读取,每次从硬盘读都会卡很久,于是找资料之后自己做了个简单的多线程解决方案. 一共有两个类.第一个类ThreadJob如下: using System.Collecti ...

  6. MSSQL备份脚本

    ) ) ) ),),':',''),' ',''),'-',''),'.','') set @name=N'DEMO'+@temp+'-完整 数据库 备份' set @disk=N'F:\Backup ...

  7. HDU 1599 find the mincost route (最短路 floyd)

    题目链接 Problem Description 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....V ...

  8. MSSQL数据库 事务隔离级别

    数据库事务的隔离级别有4个,由低到高依次为Read uncommitted .Read committed .Repeatable read .Serializable ,这四个级别可以逐个解 脏读 ...

  9. 如何彻底关闭退出vmware虚拟机

    如何彻底关闭退出vmware虚拟机 每次使用虚拟机之后退出时,它都会在系统托盘区留下一个虚拟机图标,该如何彻底关闭退出vmware虚拟机呢? 首先我们需要运行一下虚拟机程序 1:我们如果要对虚拟机进行 ...

  10. Metlnfo cms后台getshell漏洞复现

    整体思路 挖掘伪全局变量 然后找可控参数进行利用#伪全局变量:可理解为全局变量,例部分CMS为了全局过滤SQL注入或者XSS之类的漏洞就会将GET.POST.COOKIE等请求借入全局然后直接过滤.这 ...