介绍
近日,核心开发团队的很大一部分
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
你可以找到这些值
username
,
password
和
dbname
位于配置文件中
/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步中相同的过程。