owncloud配置中的几个错误以及解决步骤
in owncloud with 16 comments

owncloud配置中的几个错误以及解决步骤

in owncloud with 16 comments

owncloud简介

ownCloud是一个自由且开源的个人云存储解决方案,包括两个部分:服务器和客户端。ownCloud 最早由KDE开发者Frank
Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费,但相应地,用户必须自行架设
ownCloud的服务器,这需要一点技术。不过也是有商业云存储服务提供商使用 ownCloud 作为服务器,例如奥地利商的 OwnCube。

owncloud配置步骤

这段时间入了owncloud的坑,我一开始很纳闷的一点就是网上很多配置owncloud的教程,一找一大堆。但是遇到bug的解决方案非常少。原因吧其实就是因为官方文档说明的很详细了已经,每一种情况都有对应的解决方案,官方文档中都能找得到,但是问题在于官方文档是英文的,没有中文文档,很少,中文社区也不多,导致很多人安装不上,找不到解决方案就放弃了。先上一张我刚安装完遇到的问题截图吧。

wget https://download.owncloud.org/community/owncloud-9.1.4.tar.bz2
tar -jxvf owncloud-9.1.4.tar.bz2
cp -r owncloud/* /www/owncloud/
chmod -R 0777 /www/owncloud/   

然后打开站点,配置用户名密码数据库信息,之后一切顺利,进入到该页面:
oc01.jpg

首先映入眼帘的就是那个黄色的提示框,应该都能理解这种感受,看到bug就有种浑身难受的劲,我就点进去看了。
oc02.jpg
完犊子,一眼过去六七个bug,这我能忍,唉,既然入了这个坑就去一个一个调吧。

BUG详解

getenv("PATH")返回一个空值

这个还好理解,getenv没有开启或者缺少配置。
首先找到PHP.INI中的getenv项,看配置是否正确,不放心或看不懂就都加上
oc03.jpg
更改完毕,刷新页面。
???
timg.jpg
还是不行,看官方文档
oc04.jpg
初步判断php.ini肯定没问题,因为服务器使用了PHP-FPM,大概就是fpm的配置问题吧。果然官方文档中找到了关于fpm的配置。
php-fpm Configuration Notes

文档中是这样写的:

Usually, you will find some or all of the environment variables
already in the file, but commented out like this:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Uncomment the appropriate existing entries. Then run printenv PATH to confirm your paths, for
example: $ printenv PATH

/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/

大概意思就是让你找到你的FPM配置文件,将env[PATH]等项打开(去掉分号),然后找到你系统的环境变量,粘贴到PATH项后。
OK,重启fpm,nginx。第一个bug解决。

PHP模块'文件信息'丢失

这个简单,一般找到你的php.ini中,找到;extension=php_fileinfo.dll,去掉前面的分号,重启fpm,OK。

一些文件没有通过完整性检查

一些文件没有通过完整性检查。如何解决此问题的详细信息可以查看我们的 文档. (无效文件列表… / 重新扫描…)

感情所有的重要文件信息都还得检测一遍,确保没有被修改过或删除。点开看了一下,是这样的:

oc05.jpg

FILE_MISSING,EXTRA_FILE。保险起见还是看看官方文档吧。

oc06.jpg

刚开始的时候我其实并没有看官方文档,加上我的环境在项目中会自带一个.user.ini文件,还遇到了INVALID_HASH的错误,文件的HASH信息保存在/core/signature.json,和我环境生成的.user.ini文件HASH不一致。这个问题折腾了我一晚上没搞定,我甚至都想怎么样去更改文件的HASH值去解决这个问题了,试了不行,更改signature.json中保存的HASH信息,直接就进不去站点了。

最后其实我发现是我傻逼了,傻逼在一开始解压完之后复制过去的时候cp -r owncloud/* /www/owncloud/,解压出来的文件夹中有两个隐藏文件我根本就没看到,那两个文件其实就是.htaccess和.user.ini,原原本本的复制过去就可以了。

.htaccess 文件不工作

你的数据目录和你的文件可能从互联网被访问到。.htaccess
文件不工作。我们强烈建议你配置你的网页服务器,使数据目录不再可访问,或者将数据目录移动到网页服务器根文档目录之外。

上面我把那两个隐藏的文件.htaccess和.user.ini复制到项目根目录下后这个问题就自动解决了。(一定要原版的,没了就重新从压缩包里找)

/dev/urandom无法被php读取

一般的话只要上面两个步骤尤其是项目根目录下的.htaccess正常工作,这里不会出问题,如果还是有问题:
查看文档中是这样说的:

ownCloud uses a RFC 4086 (“Randomness Requirements for Security”)
compliant mixer to generate cryptographically secure pseudo-random

  1. This means that when generating a random number ownCloud will

  2. multiple random numbers from different sources and derive from

these the final random number.

The random number generation also tries to request random numbers from
/dev/urandom, thus it is highly recommended to configure your setup in
such a way that PHP is able to read random data from it.

When having an open_basedir configured within your php.ini file, make sure to include /dev/urandom.

大概意思就是让你配置php的open_basedir项支持/dev/urandom
找到php.ini,找到open_basedir项,去掉分号,等号后面加上/dev/。就可以了。

配置服务器强制使用 HTTPS

网上教程很多,这里不再赘述,不想花钱或者只是自己用的话,就自己配置SSL就好了。一百度一大堆,

别忘了配置HSTS,在nginx配置文件中添加如下语句:

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; 你的域名前缀";

总结

通过这两天捣鼓owncloud,我的第一感觉就是,安全性相对来说已经很可以了。

其次自己用或和几个朋友一起用的话需求基本都能满足,而且他还有很多的插件可以添加,这个我暂时还没怎么用,先不评价。分享功能、webdav什么的有待去探索。好像还有PC和手机端的客户端,安卓的客户端在谷歌商店还收费,个人感觉还不如web版的好用。

还有就是owncloud的官方文档已经包含了你可能出的绝大部分错误以及解决办法,甚至连服务器的配置他都有详细的说明,所以善用官方文档以及善用谷歌翻译(其实就是看不懂英文(╯‵□′)╯︵┻━┻)。

还想折腾owncloud配合反向代理实现家里的电脑当网盘使,算了,过段时间再折腾吧。

Responses
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
  1. healthcare insurance aarp supplemental insurance cost of health insurance health insurance companies

    Reply
  2. life insurance life insurance for seniors life insurance quotes online voya reliastar life insurance

    Reply
  3. cheap viagra generic viagra without a doctor prescription cheap viagra [url=https://susamsokagim.com/]teva generic viagra[/url]

    Reply
  4. cheap insurance quotes cheap auto insurance quotes online cheap car insurance quotes car insurance comparison sites

    Reply
  5. federal health insurance plans us health group insurance health insurance health insurance agents near me

    Reply
  6. dr steven gundry dr gundry dr gundry supplements dr. gundry's diet gundry gundry gundry md vital health review gundry

    Reply