Welcome to WebmasterWorld Guest from 54.147.134.218

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Shared System - same files, multiple installations

Sharing files among multiple projects - easiest way to maintain

     
9:51 am on Oct 10, 2008 (gmt 0)

Junior Member

5+ Year Member

joined:July 21, 2008
posts:103
votes: 0


Just a question to anyone who deals with multiple 'installations' of their own systems (lets say a CMS)

Up until now, I haven't really had the need to - but recently have developed quite a nice CMS (which has around 50 core files) and people are interested in licensing. I'm stuck on the theory/practise behind maintaining various versions/installations of the system over multiple a) ftp accounts b) servers - automatically.

My main question : is there a solution which manages this kind of operation already, or do the installations have to be located on the same server (sharing say a common directory of include files)

12:21 pm on Oct 10, 2008 (gmt 0)

Senior Member

WebmasterWorld Senior Member 5+ Year Member

joined:June 10, 2008
posts: 1130
votes: 0


You can share the same include files but the installations would need to be in different folders. I.E. folder1 folder2. Then within those files you would need to edit all linking files to a common folder I.E. somefolder/extensions
3:23 pm on Oct 10, 2008 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Apr 24, 2005
posts:697
votes: 0


I would send a cron script along the software, So after a certain period it checks your Dev server for any updates in any of your software file. If you flag an update it will download that file to your client's server.

And hence whenever you update your Dev server then after a short period all your clients will be updated automatically as well.

I mean your CMS, when i say software

[edited by: Anyango at 3:24 pm (utc) on Oct. 10, 2008]

3:37 pm on Oct 10, 2008 (gmt 0)

Junior Member

5+ Year Member

joined:July 21, 2008
posts:103
votes: 0


That sounds like a pretty good idea - on the case :)
7:28 am on Oct 11, 2008 (gmt 0)

Junior Member

10+ Year Member

joined:Jan 28, 2006
posts:96
votes: 0


I think the ideal case is to host the software yourself, allowing you to have a single copy which everybody runs off of. You'd use something like
php_value auto_prepend_file "/home/bob/site-conf.php"
in the appropriate virtualhost in httpd.conf to set the necessary configuration parameters. But your customers may be looking for something a little more under their control.

The next best thing would be using a revision control system (darcs, svn, git, or some other--it doesn't really matter which, so long as it can be installed on your client's servers). If you aren't using one already, you should be!

An RCS means you can, much like Anyango suggested, have a cron job which does 'svn update' or 'darcs pull' or 'appropriate-command-for-your-rcs'. Unlike blindly downloading updated files, use of an RCS is much less likely to clobber your users' local changes.

But that might not work, if your users are on normal shared-hosting accounts. In which case, the next option would be rsync. While it would clobber any of your users' local changes, it only downloads changes to files so tends towards being pretty light on bandwidth for updates.

If that doesn't work, tell your users to get better hosting accounts. :P

8:23 pm on Oct 13, 2008 (gmt 0)

Junior Member

5+ Year Member

joined:July 21, 2008
posts:103
votes: 0


I'll be using quality hosting accounts which will allow upgrades/extra software to be installed. I'm not shipping my system to users on a shared platform, they are all paying for VPS/dedicated servers to run the software.

Will look at the RCSs you recommended - as I mentioned, have a central repository to be syncronised, but also want to edit my clients files (installation files) locally and it be syncronised to their web server(s) automatically.

 

Join The Conversation

Moderators and Top Contributors

Hot Threads This Week

Featured Threads

Free SEO Tools

Hire Expert Members