如何将ownCloud安装转换到Ubuntu 14.04上的Nextcloud

介绍

近日,核心开发团队的很大一部分 ownCloud向左展开了一个名为新项目 Nextcloud 。虽然ownCloud仍然会继续开发,你可能想看看新项目提供什么。 Nextcloud和ownCloud共享一个公共代码库,这意味着将您现有的ownCloud安装迁移到Nextcloud应该是一个无痛的任务。 在本教程中,您将将现有的ownCloud安装迁移到Nextcloud。该过程涉及将核心应用程序文件与来自Nextcloud的文件交换出去,让Nextcloud的内置更新程序做得很重。虽然过程很简单,但有许多事情需要以正确的顺序完成,以确保一切顺利。

先决条件

为了将您ownCloud安装迁移到Nextcloud,您将需要:

第1步 - 停止Web服务器和备份数据

即使您使用新配置的安装,最好执行快速备份。你即将开始移动和删除的东西,所以安全第一! 如果您尚未连接,请登录运行ownCloud的服务器:
ssh sammy@your_server_ip
在执行备份和迁移时确保没有任何变化很重要,因此确保这一点的最简单的方法是关闭Web服务器,以便用户无法访问ownCloud。执行此命令:
sudo service apache2 stop
现在Web服务器已停止,请导航到服务器存储ownCloud的目录。如果您使用的是在Ubuntu 14.04为ownCloud的一键安装,安装位于中 /var/www/目录下。 运行以下命令,切换到该目录,并验证它包含 owncloud/
cd /var/www
ls
你会看到 owncloud文件夹:
Outputhtml  owncloud
接下来,创建使用备份存档 tar命令到 c ompress AGžIP˚FIle和显示 v erbose输出到屏幕上。 新的档案将被称为 owncloud.tar.gz和将包含整个 owncloud/目录下。执行以下命令:
sudo tar czfv owncloud.tar.gz owncloud/
现在将存档移动到您的主目录以进行安全保存:
sudo mv owncloud.tar.gz ~/
注意 :您ownCloud文件进行备份,但是,如果你正在使用MySQL或任何其他数据库,而不是内部数据存储选项,还应该使数据库的备份。对于MySQL,通过运行以下命令创建备份:
mysqldump -u username -p dbname > ~/owncloud_backup.sql
你可以找到这些值 usernamepassworddbname位于配置文件中 /var/www/owncloud/config/config.php 。 你可以找到关于备份和恢复MySQL数据库的更多信息 在这里 。 现在让我们安装Nextcloud。

第2步 - 下载最新版本的Nextcloud

您可以通过访问获得Nextcloud文件 发布网站和滚动一路下跌至底部。 寻找与最新10.XX版本号文件和扩展 .tar.bz2例如,在写最新版本的时间是10.0.2,那么你将寻找文件 nextcloud-10.0.2.tar.bz2 。 当您找到该文件时,不要将其下载到个人计算机上。相反,右键单击文件名并复制链接地址,以便您可以将文件下载到您的服务器。 你要下载两个文件。第一个是您在网站上找到的Nextcloud软件包。其他文件将被称为 MD5校验验证文件。 的MD5文件将具有作为包的精确相同的路径,但与额外的扩展 .md5添加到末尾。执行以下命令移动到您的主目录,然后下载这两个文件。
cd ~
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2.md5
运行 md5sum命令来生成校验和来验证包文件的完整性:
md5sum nextcloud-10.0.2.tar.bz2
您将看到类似于此输出的内容:
Outputdc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2
然后显示的内容 .md5你下载的文件:
cat nextcloud-10.0.2.tar.bz2.md5
此命令的输出应与上一个命令的输出相同:
Outputdc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2
如果输出不同,请再次下载Nextcloud。 要解压缩文件,使用 tar再次命令,但这次,E X系的 F ILE用 v erbose输出。执行此命令提取归档文件:
tar xfv nextcloud-10.0.2.tar.bz2
最后,新提取复制 nextcloud文件夹复制到 /var/www文件夹:
sudo mv nextcloud /var/www/nextcloud
现在,您可以开始将文件从ownCloud迁移到Nextcloud。

第3步 - 迁移数据和设置文件所有权

您现有的ownCloud安装有你想保留两个目录: data/config/ 。 您可以移动这些从原来的位置到 nextcoud目录,但首先,你要删除与Nextclout附带的默认版本。 首先,执行命令从删除默认的目录 nextcloud目录,如果它们存在:
sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/config
然后将旧目录上从 owncloud目录:
sudo mv /var/www/owncloud/data /var/www/nextcloud/data
sudo mv /var/www/owncloud/config /var/www/nextcloud/config
与移动文件之一consquence sudo命令文件将全部由 root用户所拥有。 Nextcloud,然而,总是由 WWW的数据用户运行。 这意味着你需要改变的所有权 /var/www/nextcloud文件夹及其内容,你再往前走了。 要做到这一点运行 chown用命令 -R参数recursivly改变所有的文件所有权到 www数据的用户:
sudo chown -R www-data:www-data /var/www/nextcloud/
现在文件已就位,我们需要告诉Web服务器如何访问它们。

第4步 - 修改Web服务器的流量

Apache Web服务器通过使用虚拟主机或vhosts指向不同的目录。该文件夹 /etc/apache2/sites-available/包含配置为服务器中的每个虚拟主机的描述。 这些虚拟主机是由它们的相关文件链接到启用 /etc/apache2/sites-enabled/文件夹中。 该文件 /etc/apache2/sites-available/000-owncloud.conf配置服务器读取 /var/www/owcloud和配置由位于链接启用 /etc/apache2/sites-enabled/000-owncloud.conf 。 要转换服务器以使用Nextcloud安装,请创建ownCloud vhost配置的副本,将其编辑为指向Nextcloud,禁用ownCloud vhost并启用Nextcloud vhost。 Fist复制ownCloud配置文件:
sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf
接着,替换的所有实例 owncloud与配置文件中 nextcloud 。 您可以通过打开做 /etc/apache2/sites-available/000-nextcloud.conf用文本编辑器和你自己,或者通过使用正则表达式和进行更改 sed命令。 运行以下命令与虚拟主机配置文件的内容转换 sed
sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf  
通常情况下, sed流输出到屏幕上,但 -i标志告诉它来修改文件的地方。 有关如何使用正则表达式的信息,请参阅 简介正则表达式 。 而对于更多的 sed ,看看 使用SED流编辑器来操作Linux文本的基础 。 接下来,通过删除链接禁用ownCloud虚拟主机 /etc/apache2/sites-enabled/000-owncloud.conf 。 Ubuntu中的 a2dissite命令关闭网站。执行此命令:
sudo a2dissite 000-owncloud.conf
最后,通过创建指向Nextcloud配置文件的符号链接来启用Nextcloud vhost。使用 a2ensite命令创建的链接:
sudo a2ensite 000-nextcloud.conf
注意:如果您通过HTTPS访问ownCloud,你还需要重复这些步骤与/etc/apache2/sites-available/owncloud-ssl.conf虚拟主机。 Nextcloud现在在服务器上就位,但在发送任何流量之前,您必须升级从ownCloud复制的内部数据和配置。

第5步 - 升级Nextcloud内部

在所有文件到位后,您可以启动内部升级过程。 Nextcloud和ownCloud提供管理和升级安装所谓的工具 occ 。 导航到 /var/www/nextcloud/目录:
cd /var/www/nextcloud
在可以使用 occ ,你就必须更新 /var/www/nextcloud/config/config.php文件,以反映数据目录的新位置。 具体来说,该行 'datadirectory' => '/var/www/owncloud/data',需要将其改为 'datadirectory' => '/var/www/nextcloud/data', 。 使用 sed再轻易做出改变部份:
sudo sed -i "s/owncloud\/data/nextcloud\/data/g" config/config.php
现在,使用 occ将Nextcloud进入维护模式。这将锁定文件,因此在升级应用程序时无法从外部进行更改。运行以下命令打开维护模式:
sudo -u www-data php occ maintenance:mode --on
请注意,这里使用 sudo运行为 www数据的用户命令。 您将看到此输出,以便您可以确认维护模式已打开:
[secondary_output]
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode enabled
接下来,使用 occ启动内部升级过程:
sudo -u www-data php occ upgrade
此命令显示大量输出,因为它将所有ownCloud数据迁移到Nextcloud,但最终您将看到以下消息:
Output...

Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Reset log level
如果升级有问题,输出将给您一些反馈,哪里出了问题,以及如何解决问题。假设升级进行顺利,请关闭维护模式并启动Web服务器。
sudo -u www-data php occ maintenance:mode --off
sudo service apache2 start
在这一点上,一切都应该启动并运行与您的新Nextcloud安装。打开Web浏览器并导航到您的旧ownCloud服务器的位置,您将看到Nextcloud登录屏幕。所有旧的用户名和密码都将像迁移前一样工作。请以 管理员用户,你可能需要重新启用一些您的应用程序,包括日历和联系人应用程序。

结论

在本教程中,您备份了以前的ownCloud安装,迁移到Nextcloud,并禁用ownCloud。现在,您可以使用web界面登录到Nextcloud,就像使用ownCloud一样。 现在您的服务器已迁移到Nextcloud,现在是时候更新您正在使用的任何同步客户端。就像ownCloud,Nextcloud为您的桌面和移动设备提供了多个同步客户端。 如果您决定切换回ownCloud可以恢复 data/config/从第1步中创建的备份,以及任何外部数据库文件夹,你备份。 不要试图复制 data/config/文件夹从 /var/www/nextcloud回ownCloud。一旦备份已恢复,您所要做的就是禁用Nextcloud vhost并启用ownCloud,使用与第4步中相同的过程。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏