introduction
Récemment, une grande partie de l'équipe de développement de base àownCloud est partie pour démarrer un nouveau projet appeléNextcloud. Bien que ownCloud continue à être développé, vous voudrez peut-être voir ce que le nouveau projet a à offrir. Nextcloud et ownCloud partagent une base de code commune, ce qui signifie que la migration de votre installation ownCloud existante vers Nextcloud devrait être une tâche simple.
Dans ce tutoriel, vous allez migrer une installation ownCloud existante vers Nextcloud. Le processus consiste à échanger les fichiers principaux de l’application avec ceux de Nextcloud et à laisser le programme de mise à jour intégré à Nextcloud se charger de tout. Bien que le processus soit simple, il y a un certain nombre de choses à faire dans le bon ordre pour que tout se passe bien.
[.note] #Note: Vous ne pouvez mettre à jour les installations d'ownCloud et Nextcloud qu'un numéro de version majeur à la fois. Si vous utilisez actuellement ownCloud 9, vous devez d'abord migrer vers Nextcloud 10, puis passer à Nextcloud 11. Ce didacticiel couvre ce processus.
#
Conditions préalables
Pour migrer votre installation ownCloud vers Nextcloud, vous aurez besoin des éléments suivants:
-
Une installation de ownCloud 9 qui fonctionne sous Ubuntu 14.04.
-
Un compte utilisateur non privilégié sur le serveur ownCloud qui peut exécuter des commandes avec
sudo
. Vous pouvez configurer cela en suivant le tutoriel deHow to Create a Sudo User on Ubuntu.
[[step-1 -—- arrêt-du-serveur-Web-et-sauvegarde-des-données]] == Étape 1 - Arrêt du serveur Web et sauvegarde des données
Même si vous travaillez avec une installation récemment configurée, il est judicieux de faire une sauvegarde rapide. Vous êtes sur le point de commencer à déplacer et à supprimer des éléments, la sécurité avant tout!
Connectez-vous à votre serveur en exécutant ownCloud si vous n’êtes pas déjà connecté:
ssh sammy@your_server_ip
Il est important de s’assurer que rien ne change pendant la sauvegarde et la migration. Le moyen le plus simple de s’assurer que cela est d’arrêter le serveur Web afin que les utilisateurs ne puissent pas accéder à ownCloud. Exécutez cette commande:
sudo service apache2 stop
Maintenant que le serveur Web est arrêté, accédez au répertoire dans lequel votre serveur stocke ownCloud. Si vous utilisez l'installation One-Click pour ownCloud sur Ubuntu 14.04, votre installation se trouve dans le répertoire/var/www/
. Exécutez les commandes suivantes pour basculer vers ce répertoire et vérifiez qu'il contientowncloud/
:
cd /var/www
ls
Vous verrez le dossierowncloud
:
Outputhtml owncloud
Ensuite, créez l'archive de sauvegarde à l'aide de la commandetar
pourccompresser un fichier gzipfet afficher la sortie serbosevà l'écran. La nouvelle archive s'appelleraowncloud.tar.gz
et contiendra tout le répertoireowncloud/
. Exécutez la commande suivante:
sudo tar czfv owncloud.tar.gz owncloud/
Maintenant, déplacez l'archive dans votre répertoire personnel pour la garder en sécurité:
sudo mv owncloud.tar.gz ~/
[.Remarque]##
Note: Vos fichiers ownCloud sont sauvegardés, mais si vous utilisez MySQL ou toute autre base de données au lieu de l'option de stockage de données interne, vous devez également faire une sauvegarde de la base de données. Pour MySQL, créez une sauvegarde en exécutant cette commande:
mysqldump -u username -p dbname > ~/owncloud_backup.sql
Vous pouvez trouver les valeurs pourusername
,password
etdbname
dans le fichier de configuration situé à/var/www/owncloud/config/config.php
.
Vous pouvez trouver plus d'informations sur la sauvegarde et la restauration des bases de données MySQLhere.
Avant d’installer Nextcloud, il existe une étape supplémentaire spécifique aux serveurs Ubuntu 14.04.
Étape 2 - Mettre à jour PHP
Si vous migrez depuis l'installation One-Click sur Ubuntu 14.04, vous devrez mettre à niveau PHP pour pouvoir utiliser n'importe quelle version de Nextcloud plus récente que 10.0.2. Les référentiels Ubuntu 14.04 standard incluent uniquement PHP 5.5, mais PHP 5.6 est requis à partir de NextCloud 11. Heureusement, Ubuntu prend en charge les référentiels tiers connus sous le nom de PPA. Si vous n'avez pas encore installé de PPA, exécutez cette commande pour installer un package appelépython-software-properties
:
sudo apt-get install python-software-properties
Ensuite, ajoutez le PPA contenant les versions mises à jour de PHP:
sudo add-apt-repository ppa:ondrej/php
Ensuite, indiquez au gestionnaire de paquets de mettre à jour sa liste de paquets connus, y compris ceux du PPA:
sudo apt-get update
Vous pouvez maintenant installer PHP7 et tous les modules requis par Nextcloud:
sudo apt-get install php7.0 php7.0-sqlite php7.0-mysql php7.0-pgsql php7.0-zip php7.0-gd php7.0-mb php7.0-curl php7.0-xml php7.0-apc
Enfin, changez le module PHP utilisé par votre serveur Web. Pour Apache, les commandes à effectuer sont les suivantes:
a2dismod php5
a2enmod php7.0
[.note] #Note: Si vous utilisez votre serveur pour autre chose que ownCloud, vous devez vous assurer que votre serveur Web n’a pas besoin de PHP5.5 avant de désactiver ce module.
#
Maintenant, installons Nextcloud.
[[step-3 -—- download-nextcloud]] == Étape 3 - Téléchargement de Nextcloud
AuNextcloud release site, vous trouverez une liste de chaque version de Nextcloud dans un certain nombre de formats différents. Recherchez le fichier.tar.gz
le plus récent de la version qui est identique ou une version majeure après votre version actuelle d'ownCloud. Par exemple, si vous migrez depuis l'installation d'ownCloud 9 One-Click, vous recherchez le fichiernextcloud-10.0.2.tar.bz2
.
Lorsque vous trouvez le fichier, ne le téléchargez pas sur votre ordinateur personnel. Au lieu de cela, cliquez avec le bouton droit sur le nom du fichier et copiez l'adresse du lien afin de pouvoir télécharger le fichier sur votre serveur.
Vous allez télécharger deux fichiers. Le premier sera le paquet Nextcloud que vous avez trouvé sur le site web. L’autre fichier sera un fichier de vérification appelé «somme de contrôle md5». Le fichier md5 aura exactement le même chemin que le package, mais avec l'extension supplémentaire.md5
ajoutée à la fin. Exécutez les commandes suivantes pour accéder à votre répertoire personnel, puis téléchargez les deux fichiers.
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
Exécutez la commandemd5sum
pour générer sa somme de contrôle afin de vérifier l'intégrité du fichier de package:
md5sum nextcloud-10.0.2.tar.bz2
Vous verrez quelque chose de similaire à cette sortie:
Outputdc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2
Affichez ensuite le contenu du fichier.md5
que vous avez téléchargé:
cat nextcloud-10.0.2.tar.bz2.md5
Le résultat de cette commande doit être identique à celui de la commande précédente:
Outputdc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2
Si les sorties sont différentes, téléchargez à nouveau Nextcloud.
Pour décompresser le fichier, utilisez à nouveau la commandetar
, mais cette fois, exétire le fichierfavec la sortie serbosev. Exécutez cette commande pour extraire l’archive:
tar xfv nextcloud-10.0.2.tar.bz2
Enfin, copiez le dossiernextcloud
nouvellement extrait dans le dossier/var/www
:
sudo mv nextcloud /var/www/nextcloud
Vous pouvez maintenant commencer à migrer vos fichiers de ownCloud vers Nextcloud.
[[step-4 -—- migrating-data-and-setting-file-owner]] == Étape 4 - Migration des données et définition de la propriété des fichiers
Votre installation ownCloud existante comporte deux répertoires que vous souhaitez conserver:data/
etconfig/
. Vous allez les déplacer de leurs emplacements d'origine vers votre répertoirenextcoud
, mais vous souhaiterez d'abord supprimer les versions par défaut fournies avec Nextclout.
Tout d'abord, exécutez la commande pour supprimer les répertoires par défaut de votre répertoirenextcloud
, s'ils existent:
sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/config
Ensuite, déplacez les anciens répertoires depuis le répertoireowncloud
:
sudo mv /var/www/owncloud/data /var/www/nextcloud/data
sudo mv /var/www/owncloud/config /var/www/nextcloud/config
Une conséquence du déplacement de fichiers avec la commandesudo
est que tous les fichiers appartiendront à l'utilisateur deroot. Nextcloud, cependant, est toujours exécuté par l'utilisateurwww-data. Cela signifie que vous devez changer la propriété du dossier/var/www/nextcloud
et de son contenu avant d'aller plus loin. Pour ce faire, exécutez la commandechown
avec l'argument-R
pour modifier de manière récursive toutes les propriétés des fichiers en l'utilisateurwww-data:
sudo chown -R www-data:www-data /var/www/nextcloud/
Maintenant que les fichiers sont en place, nous devons dire au serveur Web comment y accéder.
[[step-5 -—- upgrade-the-nextcloud-internals]] == Étape 5 - Mise à niveau des composants internes de Nextcloud
Avec tous les fichiers en place, vous pouvez lancer le processus de mise à niveau interne. Nextcloud et ownCloud fournissent un outil de gestion et de mise à niveau des installations appeléocc
. Accédez au répertoire/var/www/nextcloud/
:
cd /var/www/nextcloud
Avant de pouvoir utiliserocc
, vous devrez mettre à jour le fichier/var/www/nextcloud/config/config.php
pour refléter le nouvel emplacement du répertoire de données. Plus précisément, la ligne'datadirectory' => '/var/www/owncloud/data',
doit être remplacée par'datadirectory' => '/var/www/nextcloud/data',
. Utilisezsed
pour effectuer facilement ces changements:
sudo sed -i "s/owncloud\/data/nextcloud\/data/g" config/config.php
[.note] #NOTE: Normalement,sed
diffuse la sortie à l'écran, mais l'indicateur-i
lui dit de modifier le fichier en place. Pour plus d'informations sur l'utilisation des expressions régulières, consultezAn Introduction To Regular Expressions. Et pour en savoir plus sursed
, regardezThe Basics of Using the Sed Stream Editor to Manipulate Text in Linux.
#
Utilisez maintenantocc
pour mettre Nextcloud en mode maintenance. Cela verrouille les fichiers afin qu'aucune modification ne puisse être apportée en externe lors de la mise à niveau de l'application. Exécutez la commande suivante pour activer le mode maintenance:
sudo -u www-data php occ maintenance:mode --on
Notez que cela utilisesudo
pour exécuter des commandes en tant qu'utilisateur dewww-data.
Vous verrez cette sortie pour vous permettre de confirmer que le mode de maintenance est activé:
[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
Ensuite, utilisezocc
pour lancer le processus de mise à niveau interne:
sudo -u www-data php occ upgrade
Cette commande affiche beaucoup de résultats lorsqu’elle migre toutes les données ownCloud vers Nextcloud, mais à la fin vous verrez les messages suivants:
Output...
Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Reset log level
S'il y a eu des problèmes lors de la mise à niveau, la sortie vous donnera des informations sur ce qui n'a pas fonctionné et sur la façon de résoudre le problème. En supposant que la mise à niveau se soit bien déroulée, il est temps de désactiver le mode maintenance.
sudo -u www-data php occ maintenance:mode --off
Votre installation ownCloud a maintenant été migrée vers Nextcloud, mais il est possible qu'elle soit toujours obsolète. Si vous avez migré ownCloud 9, vous n’auriez migré que vers Nextcloud 10, mais comme il existe toujours une version plus récente, la mise à niveau est nécessaire.
[[step-6 -—- upgrade-nextcloud]] == Étape 6 - Mise à niveau de Nextcloud
Pour mettre à niveau Nextcloud vers une nouvelle version majeure, utilisez la même procédure que celle utilisée aux étapes 3 à 5 de ce didacticiel. Commencez par déplacer votre dossier Nextcloud actuellement installé avec cette commande:
sudo mv /var/www/nextcloud /var/www/nextcloud.old
Recherchez ensuite le fichier.tar.gz
dans lesNextcloud release site, téléchargez-le et vérifiez sa somme de contrôle MD5 comme vous l'avez fait à l'étape 3.
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2.md5
md5sum nextcloud-11.0.0.tar.bz2
cat nextcloud-11.0.0.tar.bz2.md5
Une fois que vous avez téléchargé et vérifié l’archive. décompressez-le et déplacez-le vers l'emplacement Nextcloud sur le serveur Web:
tar xfv nextcloud-11.0.0.tar.bz2
mv nextcloud /var/www/nextcloud
Ensuite, déplacez les fichiers de configuration et de données de l'ancienne installation vers le nouveau, comme vous l'avez fait à l'étape 4:
rm -rf /var/www/nextcloud/config /var/www/nextcloud/data
mv /var/www/nextcloud.old/config /var/www/nextcloud
mv /var/www/nextcloud.old/data /var/www/nextcloud
sudo chown -R www-data:www-data /var/www/nextcloud/
Enfin, utilisezocc
pour effectuer la mise à niveau:
sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ upgrade
sudo -u www-data php occ maintenance:mode --off
Répétez ces étapes pour chaque version majeure de Nextcloud que vous devez mettre à niveau.
Maintenant que tout est à jour, nous pouvons configurer le serveur Web pour envoyer du trafic à Nextcloud.
Étape 7 - Modification du flux de trafic du serveur Web
Le serveur Web Apache est dirigé vers différents répertoires via des hôtes virtuels ou vhosts. Le dossier/etc/apache2/sites-available/
contient une description de chaque hôte virtuel configuré pour le serveur. Ces hôtes virtuels sont activés en liant leurs fichiers associés au dossier/etc/apache2/sites-enabled/
. Le fichier/etc/apache2/sites-available/000-owncloud.conf
configure le serveur pour lire les/var/www/owcloud
et cette configuration est activée par le lien situé à/etc/apache2/sites-enabled/000-owncloud.conf
.
Pour convertir le serveur afin qu'il utilise l'installation Nextcloud, créez une copie de la configuration ownCloud vhost, modifiez-la pour qu'elle pointe vers Nextcloud, désactivez le ownCloud vhost et activez-le Nextcloud vhost.
Commencez par copier le fichier de configuration ownCloud:
sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf
Ensuite, remplacez toutes les instances deowncloud
dans le fichier de configuration parnextcloud
. Vous pouvez le faire en ouvrant/etc/apache2/sites-available/000-nextcloud.conf
avec un éditeur de texte et en apportant les modifications vous-même, ou en utilisant des expressions régulières et la commandesed
.
Exécutez la commande suivante pour convertir le contenu du fichier de configuration vhost avecsed
:
sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf
Ensuite, désactivez le vhost ownCloud en supprimant le lien/etc/apache2/sites-enabled/000-owncloud.conf
. Ubuntu fournit la commandea2dissite
pour désactiver les sites. Exécutez cette commande:
sudo a2dissite 000-owncloud.conf
Enfin, activez Nextcloud vhost en créant un lien symbolique vers le fichier de configuration Nextcloud. Utilisez la commandea2ensite
pour créer le lien:
sudo a2ensite 000-nextcloud.conf
[.note] #Note: Si vous accédez à ownCloud via HTTPS, vous devrez également répéter ces étapes avec l'hôte virtuel/etc/apache2/sites-available/owncloud-ssl.conf
.
#
Maintenant que le serveur Web sait où trouver Nextcloud, nous pouvons le démarrer avec cette commande:
sudo service apache2 start
À ce stade, tout devrait être opérationnel avec votre nouvelle installation Nextcloud. Ouvrez un navigateur Web et accédez à l'emplacement de votre ancien serveur ownCloud. L'écran de connexion Nextcloud s'affichera. Tous vos anciens noms d'utilisateur et mots de passe fonctionneront exactement comme avant la migration. Connectez-vous en tant qu'utilisateuradmin, car vous devrez peut-être réactiver certaines de vos applications, y compris les applications Calendrier et Contacts.
Conclusion
Dans ce tutoriel, vous avez sauvegardé votre précédente installation ownCloud, migré vers Nextcloud et désactivé ownCloud. Vous pouvez maintenant vous connecter à Nextcloud à l'aide de l'interface Web, comme vous le faisiez avec ownCloud.
Maintenant que votre serveur a migré vers Nextcloud, il est temps de mettre à jour tous les clients de synchronisation que vous utilisez. Tout comme ownCloud, Nextcloud fournit un certain nombre de clients de synchronisation pour votre ordinateur de bureau et vos appareils mobiles.
Si vous décidez de revenir à ownCloud, vous pouvez restaurer les dossiersdata/
etconfig/
à partir de la sauvegarde que vous avez créée à l'étape 1, ainsi que toute base de données externe que vous avez sauvegardée. N'essayez pas de copier les dossiersdata/
etconfig/
de/var/www/nextcloud
vers ownCloud. Une fois les sauvegardes restaurées, il vous suffit de désactiver le Nextcloud vhost et d'activer celui de ownCloud, en suivant la même procédure à l'étape 4.