Comment convertir une installation ownCloud en Nextcloud sur Ubuntu 14.04

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 avecsudo. 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.