我有一个小型家用 NAS/服务器 - Zyxel NSA310S。不幸的是,在官方软件包存储库中,只有 5.0.8 版本可用。去年我设法安装了 7.x. 版本,使用以下方法:
(Connect to the NSA as root using telnet - you first need to enable
in the administrator's webpanel. Then you can run the commands.)
cd /usr/local/zy-pkgs/gui
wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
tar xjvf owncloud-latest.tar.bz2
cp ownCloud/config/config.php owncloud/config/config.php
vi owncloud/config/config.php
(To set 'version' to the correct value for the downloaded one.)
cd /usr/local/zy-pkgs/gui/owncloud/lib/private
chmod 660 config.php
cd /usr/local/zy-pkgs/gui
mv ownCloud oldCloud
(Just to be safe, keeping the old original version at hand for now.)
mv owncloud ownCloud
(Putting the new version in place of the old one. Now only thing needed
is to log in as the admin to the web interface and follow the instruction
shown on screen - voila, new version installed and working.)
不幸的是,这种方法在当前版本的 ownCloud 上根本行不通。我不知道是什么变化破坏了这种升级方法,也不知道哪个版本是最后一个可以工作的。
有人用过 ZyXEL NSA 吗?或者有人知道哪个版本的 ownCloud 可以与此设备兼容吗?
我使用的是最新版本的固件-4.75。
答案1
我做了一些实验,发现我在原始问题中提到的安装方法适用于 8.0.10。或者至少 - 它部分有效 - 该应用程序仅在我执行后才有效
chmod -R 777 /usr/local/zy-pkgs/gui/ownCloud
作为最后一步。没有这个,我得到的是空白页。当然,我强烈反对这样做,因为这允许任何人阅读、运行或编辑目录中的任何文件,这是一个严重的安全漏洞。
目前,我正在试验 ownCloud 内置升级工具,看看它能允许我对应用程序进行多大程度的升级,然后我将尝试手动安装最高工作版本,并尝试找到在权限方面需要特别注意的文件。
更新:ownCloud 已成功更新至 8.0.13。现在更新程序建议升级至 8.1.8。立即尝试。
更新 2:版本 8.1.8 无法使用,尝试在浏览器中打开它失败 - 显示空白页。将 ownCloud 目录的 Chmod 改为 777 不会改变任何内容。8.0.13 可能是可以在这些设备上运行的最新版本,目前我会坚持使用它。
更新 3:使用此方法无法安装版本 8.0.13(尽管将整个目录的 chmod 设置为 777,但页面仍然空白)。启动并运行 8.0.13 的唯一可能方法似乎是安装 8.0.10,然后使用内置工具进行升级。
更新 4:在将 ownCloud 目录 chown 改为 root:root 并将其 chmod 改为 og+rw 后,我设法让版本 8.0.13 从全新安装中运行(我知道从安全角度来看这可能不是最佳解决方案,但这仍然比 777 好得多)。然后我使用内置更新程序成功将其更新为 8.0.13。在设备上安装新版本的整个过程如下:
(Connect to the NSA as root using telnet - you first need to enable
in the administrator's webpanel. Then you can run the commands.)
cd /usr/local/zy-pkgs/gui
wget https://download.owncloud.org/community/owncloud-8.0.13.tar.bz2
tar xjvf owncloud-8.0.13.tar.bz2
cp ownCloud/config/config.php owncloud/config/config.php
vi owncloud/config/config.php
(To set 'version' to the correct value for the downloaded one - 8.0.13 in this case)
mv ownCloud oldCloud
(Just to be safe, keeping the old original version at hand for now.)
mv owncloud ownCloud
(Putting the new version in place of the old one.)
chown -R root:root ownCloud
(Changing ownership to root:root, the way original ZyXEL apps are)
chmod -R uog+rw ownCloud
(Giving permission to read and write the files to the system users,
this is needed, because otherwise the app won't work - an empty
page will be shown.)
Next step is opening the app in browser, by visiting
http://nsa's_ip/pkg/ownCloud and following the instructions
displayed on screen. Feel free to remove the oldCloud directory if
everything worked fine. To do this run the command:
rm -rf oldCloud
请勿更新到 8.1.X 或更新版本,它将无法在这些设备上运行 - 将显示空白页。
更新 5:我已测试当前版本 (8.0.14) - 从 8.0.13 更新和基于上述示例的全新安装过程均有效。应用程序运行干净可靠。不过 8.1.x 仍然没有成功。
答案2
我本来很想发表评论,但由于我的声誉太低,所以我不能,但我要感谢 Jakub 的精彩描述,并添加一些可能对其他人有用的东西。
我有一台 Zyxel 的 NSA325-v2,但一直无法使用 OwnCloud 7.0.3。我使用了 Jakubs 的出色教程,可以更新到 8.0.13。对于任何想要精细版本备份的人:这里有一个很好的链接OwnCloud 的完整版本历史
仅一些补充(针对 NSA325-v2):
- 连接前必须检查 Telnet 是否已启用
- 我无法使用 wget 从 https 站点下载,因此我手动下载并使用 WinSCP 通过 SSH 进行传输
- 我必须进入软件包 > 查找 ownCloud,在更新之前禁用它,然后在登录 NasIP/pkg/ownCloud 之前重新启用它
- 最重要的区别:您必须在重新启动包之前将文件夹 /usr/local/zy-pkgs/gui/oldCloud/data “复制”到 .../ownCloud/data 以保留访问权限和组分配。
成功之后,我成功升级到 8.0.16(使用完全相同的方法)。
之后我成功升级到 8.1.12,但我必须在 config.php 中添加行“'trusted_domains' => array ('nsa325-v2' ),”然后才能登录。
但是:当尝试使用 OwnCloud 内置内部更新程序升级到 8.2.11 时,一切更新似乎都有效,但是当登录 OwnCloud 时,开始抱怨缺少 PHP 模块 CURL,而我暂时无法安装它。