Thursday 10th December 2020 14:57

I am not sure if this is the correct place to post this question or not. If I am in the wrong place, it can be deleted.

 

I have multiple installations of Zenario, as well as a multitude of other cms programs, spread out over various hosting companies & servers. I normally utilize the Softaculous App Installer in order to keep be notified of upgrades needed.

 

However, I recently discovered that I have several installations of Zenario that need to be updated. While Softaculous does offer an automatic install of new versions of Zenario, I found out they do not currently offer the ability to clone, stage or update Zenario.

 

So, my question is: Does anyone know if there are any future plans to offer updates via Softaculous and if not, has anyone successfully installed a new version of Zenario and then transferred the data from an old Database backup, into the new database, without having an abundance of downtime on the site?

 

Thanks

FTW

Thursday 10th December 2020 20:24

Hey there!

 

We do have a little bit of contact with Softaculous, but we're not actually affiliated with them, and I couldn't tell you how they handle updates.

 

If you want to know how we handle it, we have guides here:

 

If you wanted to stick to the Softaculous way of doing things, I think the smoothest way would be to follow the Cautious Upgrade guide. The only different step would be step 2; instead of following the guide I think you'd want to do a fresh install, then copy your existing database over into the fresh install's database.

 

I hope that helps!

Monday 14th December 2020 15:10

Hi FTW,

 

Thanks for the question. I think Softaculous do a nice job of making Zenario available to easily install, but within Tribal Systems we have our own ways of hosting Zenario for multiple customers, which are designed to be easy for us to maintain.

 

Here are a few tips I am happy to share. We rely heavily on AWS, and we use EC2s as Apache 2 web servers combined with RDS Aurora for MySQL databases, with replication (easy to set up on AWS). 

 

Within the web servers, we have a central source directory for Zenario, and then multiple client sites, each in their own directory. Within the source Zenario directory we have a directory for each version of Zenario. This is our core software that we update when Zenario is patched or a new version is released, and it's connected via SVN to our source repository.

 

In each client directory, we symlink the "zenario" directory, index.html, .htaccess and robots.txt files to the appropriate Zenario/version source directory.

 

Everything that's client-specific is in either the zenario_siteconfig.php directory, or the zenario_custom directory. So the custom configuration, designs, modules and frameworks are nicely separated from the Zenario core code.

 

When we perform a client site upgrade, we usually do this on a staging server, with a separate copy of the database. We test that on the newer version of Zenario, whatever it may be. When we're satisfied everything is tested, we make a new public_html directory on the live server, and this time its symlinks point to the newer Zenario core software version.

 

When making the change, we always make a new database, so for example the live may be some_client_87 and the new one will be called some_client_88. If things go wrong, it's then easy to roll back, but anyway we keep the reference copy for some time before deleting.

 

If you follow the links above, the process is described in a bit more detail. It usually results in a well-tested environment (as any problems are normally sorted out during staging), and a site down-time of not more than a few seconds in the upgrade process. Just occasionally it can be minutes or an hour or so if they database is very large and/or transaction-based (since we want to freeze the database until the upgrade is over).

 

I hope that helps!


Tony

You must confirm your screen name on your profile in order to comment.

Please Login if you wish to add a comment.