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

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

接下来,就可以登录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版本,这也就是说如果我们使用

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组件相关安装列表如下

你可以使用如下命令查看所有安装的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机构申请证书

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

  • 配置缓存服务

  • 配置邮件服务

  • 修改最大上传文件限制

疑难解答

在搭建过程中,我碰到了形形色色的各式各样问题,如果你也如此,可以首先查看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,启用SSL相关推荐

  1. 自行搭建私有云ownCloud,启用SSL,其他配置

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

  2. 搭建私有云:owncloud(用Docker构建owncloud私有云盘)

    网上各种云盘都要收费,又或有速度限制,感觉用起来不方便,想抽时间想搭建一个私有云盘.下面讲解下搭建私有云:owncloud. 搭建私有云:owncloud(用Docker构建owncloud私有云盘) ...

  3. 自行搭建私有云kodexplorer

    kodexplorer是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!最近百度网盘还发出申明,说要限制使用空间.用别人的东西 ...

  4. Windows系统上搭建私有云OwnCloud【保姆级别的教程】

    目录 准备环境: 实验开始: 1.打开已经下载好的VMware Workstation Pro 15.5(我这里使用的是15.5版本的,可根据自行需要进行下载) 2.配置虚拟网络(影响到你后续的虚拟机 ...

  5. php owncloud_技术|搭建私有云:OwnCloud

    所有人都在讨论云.尽管市面上有很多为我们提供云存储和其他云服务的主要服务商,但是我们还是可以为自己搭建一个私有云. 在本教程中,我们将讨论如何利用 OwnCloud 搭建私有云.OwnCloud 是一 ...

  6. 搭建私有云:OwnCloud

    所有人都在讨论云.尽管市面上有很多为我们提供云存储和其他云服务的主要服务商,但是我们还是可以为自己搭建一个私有云. 在本教程中,我们将讨论如何利用 OwnCloud 搭建私有云.OwnCloud 是一 ...

  7. owncloud需要php,搭建私有云:OwnCloud

    所有人都在讨论云.尽管市面上有很多为我们提供云存储和其他云服务的主要服务商,但是我们还是可以为自己搭建一个私有云. 在本教程中,我们将讨论如何利用 OwnCloud 搭建私有云.OwnCloud 是一 ...

  8. linux 可道云_如何搭建私有云

    最近有个Team共享文档的需求.包括大文件,有个access文件超过500m.开始用百度网盘,发现只能分享,不能共享.试了几个其它网盘,广告超级多,但是都没有共享这个功能. 基于此,找了几个私有云程序 ...

  9. 华为私有云的搭建方案_如何搭建私有云

    最近有个Team共享文档的需求.包括大文件,有个access文件超过500m.开始用百度网盘,发现只能分享,不能共享.试了几个其它网盘,广告超级多,但是都没有共享这个功能. 基于此,找了几个私有云程序 ...

最新文章

  1. Cisco之ARP配置
  2. RouterOS和艾泰路由建立ipsec ×××连接
  3. 奥巴马表示10天内债务谈判出结果 债务违约可能性底
  4. BJUI验证后弹窗不显示
  5. OpenCV基础篇之读取显示图片
  6. github可视化工具_【神经网络可视化01】——用Netron实现可视化
  7. 数字IC验证学习(二)
  8. 先富带动后富:雷军带领一大批程序员发家致富
  9. Redis工作笔记-持久化
  10. 谁说双非本科就一定无缘阿里?H哥粉丝6棉通过,喜提Offer!
  11. silverlight 自定义资源整理(待后续补充)
  12. 构建ai数据库_为使用AI的所有人构建更安全的互联网
  13. 太完整了!java编程思想电子书下载
  14. 免费内网穿透-端口映射
  15. 查询手机号码归属地区等信息API接口
  16. linux配置网桥,Linux下通过brctl配置网桥
  17. 代码大全(第2版)_2021【公式大全3.0版】【(数一)第371页】【(数二)第283页】【(数三)第324页】【有关矩阵秩的重要结论】6)~...
  18. Android重难点解析——面试中可能被问到的那些问题
  19. 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
  20. 无线安全渗透测试套件WiFi-Pumpkin新版本发布

热门文章

  1. H5初体验~一个新手H5前端开发的笔记
  2. TCP/IP四层模型(协议簇)各层作用
  3. python麻将机器人_tensorflow麻将智能出牌源码-机器学习代码类资源
  4. 三星嘲讽iPhone13:我们早就已经支持120Hz高刷了
  5. 日记类App原型制作分享-Grid Diary
  6. SteamVR+Unreal4 VR开发心得(一)
  7. Python语言的2017年终总结
  8. Jackson公司蛋白质电印迹方法确认蛋白质转移
  9. 济南市各区县(功能区)名称
  10. 检测组织中的横向鱼叉式钓鱼攻击