Upgrade ns6 to ns7: backup/restore
Let’s start with it: restore a backup set of ns6 on ns7.
Luckily, there are more similarites than differences. Most of the modules are 1-1 upgrade. I’d like to discuss about how to cope with differences!
The File server/Shared folders module received the biggest changes, and present the following issues:
-
Authenticated access to shared folders. If the account provider is LDAP, authentication cannot work: Active Directory is required.
-
Web access to shared folders. In ns7, web access is provided by a new package, nethserver-virtualhosts. Shared folders are accessible only as Samba shares (also SFTP and NFS soon - yes, this is another story).
This morning, I was discussing those points with @filippo_carletti and @giacomo.
About 1, a possible strategy could be:
-
retain nethserver-directory as ns6 (LDAP provider) after restore
-
If needed, perform an additional, separate, step: upgrade to nethserver-dc
The upgrade is technically possible because the ns6 LDAP backup contains the Samba SAM DB data.
About 2, there could be different solutions, depending on how a particular shared folder is used. Possible scenarios that come to mind:
-
The shared folder was the virtual host web root:
http://vhost.tld
-
The shared folder was a path in a particular virtual host
http://vhost.tld/ibayaliasname
-
The shared folder was available from ANY virtual host (global):
http://192.168.1.1/ibayaliasname
,http://vhost.tld/ibayaliasname
… -
HTTP Basic Authentication was required
-
Custom filesystem permissions are set
-
(…did I miss something?)
It’s hard to catch them all. Let’s see some possible approaches:
-
Run a special upgrade script that generates a backward-compatible Apache
.conf
file and place it under/etc/httpd/conf.d/
. If filesystem permissions allow it, Apache can still serve contents from shared folders. -
Run a special “Upgrade to virtual host” action to “Shared Folders”, something like:
I feel the “Upgrade to virtual host” action would cover a lot of upgrade requirements. It’s missing scenario 3. Because of it, a generated .conf
file is still necessary.
Are we missing some other cases? What do you think? /cc @dev_team @quality_team @Lewis @Mario_Lanno @telekomiker (@alefattorini, please help me on notifying other people interested on this!)