阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS7.2搭建ownCloud私有云并启用SSL

158次阅读
没有评论

共计 5061 个字符,预计需要花费 13 分钟才能阅读完成。

ownCloud 简介

ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的 VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了 ownCloud。

用途

  • 如果搭在 VPS 上,可以用作个人的网盘使用。ownCloud 提供了各个平台的文件同步客户端,因此搭建好 ownCloud 之后即可使用客户端来同步、上传、下载文件,十分方便。
  • 可以搭在性能较好的智能路由器上,连接硬盘,这样路由器就能作为个人的 NAS 存储云使用。ownCoud 的文档上说明了最低配置要求需要 128MB 的内存(推荐 512MB),这对路由器的性能提出了一定需求,请注意。

推荐配置

官方文档提供了推荐的配置要求

  • 操作系统:Ubuntu 16.04 LTS.
  • Web 服务器:Apache 2.4.
  • 数据库:MySQL/MariaDB 并使用 InnoDB storage engine 
  • PHP 7

安装

安装准备

在安装之前,你需要准备的内容有:

  • 一台满足最低配置要求的 Linux 主机,可以是云主机、路由器、服务器。
  • 主机可以从外网通过 ip 地址或者域名访问 从外网通过 ip 地址或者域名访问。
  • 由于主机将会作为网盘使用,牵涉到大量的文件传输,因此带宽和硬盘都不能太小。能接近常见使用场景的最高带宽和硬盘大小为最佳。在本例中,我的云主机带宽只有 1MB,硬盘 20GB。因此打开网页时能明显感到延迟。如果使用路由器搭建私有云,那么带宽一般不会有问题。请确保硬盘空间和内存大小足够,如路由器支持 USB,可外接硬盘,内存大小请务必满足 ownCloud 的最低要求(见上)。

开始安装

登录你的主机,并开始安装 ownCloud。安装的方法可以参考官方文档。下面我会以 CentOS7.2 为例进行介绍。

数据库安装

ownCloud 支持 SQlite 数据库,因此可以选择不安装额外的数据库系统。然而 SQlite 不适用于大型的系统,因此如果你使用配置足够的云主机,建议额外安装数据库,如果使用路由器,可以选择不安装数据库系统。

ownCloud 支持的数据库有 MySQL 和 MariaDB,下面以 MySQL 为例。

首先,centOS 支持 yum 包管理器,可以很方便的安装各种组件。但 MySQL 不在 yum 的默认源当中,因此需要添加这项源。

可以访问这里,查看完整的安装过程。由于版本的更新,详细步骤可能有所不同,一切请以官方文档为准。MySQL5.7 的安装过程如下:

# 下载源
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# 添加源
sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm
# 安装 MySQL
sudo yum install mysql-community-server

请保持流畅的网络访问。至此 MySQL 安装完毕。

接下来,启动并查看 MySQL 的安装状态

# 启动 mysql
sudo service mysqld start
#查看 mysql 状态
sudo service mysqld status

成功运行的结果如下,(注意由于不同的系统,命令显示可能不同)

CentOS7.2 搭建 ownCloud 私有云并启用 SSL

接下来,就可以登录 mysql 并修改 root 密码了。如果你是 ubuntu 系统,可能安装 mysql 的过程中系统会要求你设置 root 密码,那么这些步骤可以跳过。对于 centOS 而言,系统在第一次启动 mysql 时自动生成了一个随机的密码,因此最好修改它。网上提供了很多修改 root 密码的方式,但最好还是参考官方文档。使用如下命令:

# 查看 mysql 密码
sudo grep 'temporary password' /var/log/mysqld.log
# 登录 mysql
mysql -uroot -p 
# 接下来输入 root 密码

对于 centOS 而言,mysql 在第一次启动时创建了临时的密码,并写入了 mysqld.log 日志,因此通过 grep 命令找到临时密码的值,并使用这个值登录系统。

接下来需要修改 root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

其中 ’MyNewPass4!’ 位置改为你自己的 root 密码。官方文档中指出,密码需要至少 8 位,并且包含小写、大写、数字、符号。

至此,mysql 的安装就完成了。你可以使用任意的 mysql 客户端如 navicat、workbench 等测试登录,你可能还需要修改 root 用户的 allow host,这些内容请自行搜索解决,再次不再赘述。

web appche 的安装

appche web 用于网页服务器的运行,在 centOS 下,我们只需要通过以下命令即可安装。

yum install httpd

通过以下命令来启动或关闭 httpd 服务器

# 启动 apache 服务
service httpd start
# 关闭
service httpd stop
# 重启
service httpd restart
# 查看状态
service httpd status

启动 appche 服务器,接下来打开浏览器,从外网访问你的主机地址,如果你看到了 apache 的网页,就表明配置成功啦。

在 centOS 中,默认的网页根目录位于 /var/www/html 下,这个位置随着系统的不同可能有所不同,请注意。

安装 ownCloud

安装 ownCloud 的过程也很简单,方法如下

# 下载
wget https://download.owncloud.org/community/owncloud-9.1.4.zip
# 解压
unzip https://download.owncloud.org/community/owncloud-9.1.4.zip
# 复制到网页根目录
cp -r owncloud/* /var/www/html

注意代码中的下载地址,可能随着版本的更新而失效,你可以在这里找到最新的下载地址。

通过以上三步,就能把 ownCloud 放到正确的目录了。这时候你可以再度打开浏览器输入地址查看,但是你可能只能看到一堆源代码,这是因为 ownCloud 基于 php 开发,但我们还没有安装 PHP 的运行环境。

安装 PHP 及相关组件

接下来我们需要安装 PHP 及其他的 PHP 组件。ownCloud 官方建议安装 5.6+ 以上的 PHP 版本,这也就是说如果我们使用

1
yum install php

yum 只会为我们安装 5.4 版本的 php。要安装 php5.6,需要首先添加一些源。你可以在这里查看更详细的教程。

# 添加源
rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装 PHP5.6
yum install php56w php56w-opcache

请注意,如果你使用 Ubuntu 安装,那么官方文档里提供了一种非常简单的方法,你可以参看这里。

除了 php 本身之外,你还需要安装其他 php 的各类组件。

yum install php56w-cli php56w-common php56w-fpm php56w-gd php56w-mbstring php56w-xml

可以在这里找到所有需要的组件。

此外,还需要安装数据库连接驱动

# php-mysql
yum install php56w-mysql
# 以下可选yum install php56w-pecl-apcu

apcu 是 ownCloud 可选安装的 local cache,用于增强性能。

php 组件相关安装列表如下

CentOS7.2 搭建 ownCloud 私有云并启用 SSL

你可以使用如下命令查看所有安装的 php 组件

yum list installed | grep "php"

最后重启 apache 服务器。

service httpd restart

从浏览器打开主机地址,看看是否能够访问了呢。

配置 ownCloud 简介

至此,ownCloud 安装完毕。接下来就是 ownCloud 的配置了,受篇幅所限,下面不再详述,仅提供相关的链接供参考。

初次设置

接下来打开主机地址,如果看到了 ownCloud 的界面即安装完成,如果提示缺少组件,请对照上文。接下来输入管理员账号和密码,并选择 mysql 作为数据库,填入 mysql 连接所需的用户名、密码、地址即可。

第一次配置时,需要输入 data 的存放位置,这里建议不要放在网站目录中,请将 data 文件夹放在其他目录。如 /data/ownCloudData/ 位置,以防产生权限相关的安全问题。

如果提示缺少权限的问题,请参考这个文档或者这个文档的内容。

另外,如果将 data 文件夹放在了非网页目录,需要再次使用 chown 命令修改该文件夹的命令,参考这份代码。

输入完必要信息之后,就能顺利登录 ownCloud 并正常使用啦!恭喜!

启用 SSL

在 chrome 全面开始封杀 HTTP 之时,再继续用 HTTP 真有点说不过去啦,是时候将网站转移到 HTTPS 了。要使用 HTTPS,你需要有一张 SSL 证书,可信的 SSL 证书大都需要付费。免费的 SSL 证书有两种办法可以获得

  1. 使用自签名的 SSL 证书
  2. 向 StarSSL 机构申请证书

下面是相关的链接

  • 安装 ssl 服务,创建自签名证书,部署到 apache 服务器,激活证书
  • 申请使用 StarSSL 颁发的免费证书

更多设置

更多配置包括配置本地缓存、建立邮箱服务等,下面是一些相关的链接

  • 配置缓存服务
  • 配置邮件服务
  • 修改最大上传文件限制

疑难解答

在搭建过程中,我碰到了形形色色的各式各样问题,如果你也如此,可以首先查看 httpd 中的 logs 获取错误日志来判断问题所在,centOS 下 logs 的目录位于

cd /etc/httpd/logs/
ls

打开文件名包含 error 的日志,你可以看到各种详细的 PHP 发生的错误日志,并据此判断问题所在。

下面是我碰到过的问题,仅供参考。

  • 权限相关
    • ownCloud 缺少权限读取配置文件
    • ownCloud 报.user.ini , .htaccess 文件缺失
    • 上传文件时,ownCloud 没有权限写入文件暂存区
    • 上传文件时,ownCloud 没有权限缺少写入 data 目录的权限
    • 解决:使用 chown 修改权限
  • 组件相关
    • 打开 ownCloud 时 php 报 PDO 错误
    • 解决:安装 php56w-mysql
  • 邮件服务
    • 解决:修复 PHP 语法错误
  • 网页
    • 报 SSL 证书不受信任
    • 解决:没办法,要不花钱买付费证书吧

友情链接

  • ownCloud – Admin Mannual
  • ownCloud – Server Configuration
  • ownCloud – Troubleshooting
  • How To Install and Configure ownCloud on CentOS 7

最后,祝大家都能搭建出属于自己的私有云!

CentOS7.2 搭建 ownCloud 私有云并启用 SSL

CentOS7 下 Nginx+ownCloud+PHP+MySQL 搭建个人私有云  http://www.linuxidc.com/Linux/2015-05/117086.htm

在 Ubuntu 上安装 OwnCloud 7.0.4  http://www.linuxidc.com/Linux/2015-01/111710.htm

CentOS 6.3 搭建个人私有云存储 ownCloud http://www.linuxidc.com/Linux/2014-03/98757.htm

在 Ubuntu 12.04 LTS 上安装 ownCloud 4.0.6 平台 http://www.linuxidc.com/Linux/2012-08/68297.htm

CentOS 6.2 下安装 ownCloud 4.0 图解 http://www.linuxidc.com/Linux/2013-03/80994.htm

Ubuntu 12.04 下使用 ownCloud 搭建私人存储云 http://www.linuxidc.com/Linux/2013-08/89380.htm

Ubuntu/Debian/CentOS/Fedora/OpenSUSE 及衍生系统如何安装 OwnCloud 6 http://www.linuxidc.com/Linux/2014-06/102679.htm

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/141097.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5061字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中