ISP config and staging environment?

Discussion in 'General' started by mbria, Sep 6, 2007.

  1. mbria

    mbria New Member

    Dear all,

    This is my first post to this forum and I'm a real newbie in ISPconfig, so sorry in advance if I'm talking rubbish.

    I'm working for an office in a public university, mainly with web applications based on free software (Drupal, OJS, moodle...) and I'm designing now our general infrastructure.

    The HW scenario is really simple: a development laptop (ubuntu), a testing machine (debian) and a production server (debian).

    As I said, my usual work is setting up and extend free soft applications... as well as offer hosting to some fellows that also love to experiment with those applications.

    So when I discovered ISPconfig I thought was the perfect environment to work with: I can create those "web spaces" to my fellows letting them play with their favorite toys and I can create my own "web spaces" to deploy my own testings of new soft applications and developments.

    I tested ISPconfig on my testing server and I need to say I fall in love (thanks for the wonderful tool) so I also installed in the production server.

    The question (and sorry for the long explanation) is:
    Is there any way to "pass to production" or "recover from production" between testing ISPconfig to the production one? Is it possible to be done just for a single website?

    I know is a very specific requirement but it's the only thing I miss in ISPconfig to make my life easier. :)

    From my complete ignorance, I thought in a few of solutions that I suggest here, just in case any expert can drive me to the right direction:

    a) ISPconfig Backup: Is it possible to recover a ISPconfig backup from one server in a different one? If this is right, may be I can develop some simple scripts to extend ISPconfig with this kind of "migration tool". But I'm unsure about DB names and site names or other similar ISP dependencies.

    b) rsync or similar tools: I really don't know if this is a feasible but is there any simple way to copy some specific files from one server to the other and do the magic of "pass to production" (and "recover from production")?

    c) CVS or subversion: Is there any way to combine ISP with a CVS?

    As I said, I just hope I will make sense for somebody.

    Thanks a lot in advance,

    m.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Do you want to pass/recover the content of your websites and databases or do you want to do this with the complete operating systema incl. all websites at once?

    If you want to do this just for the website data and you need versioning, have a look at SVN. I know some webdesign companies that do it this way.

    1) Develop sites on a workstation and use SVN for versioning.
    2) Use "svn export ...." to export the latest changes to the staging and ater to the production server.
    3) If something does not work as expected, you can roll back your changes by exporting a older release back to the production server.

    If you do not need versioning, rsync is a good choice. Rsync can also be used to sync sites within a cluster of webservers or to make a hot standby server.
     
  3. mbria

    mbria New Member

    ISPconfig as a webdevelopment environment...

    First, thanks a lot Till for your answer... although we both know this issue is just in the limits of ISPconfig's concerns. :)

    If I finally pass the "out of topic" line, just say it and I won't ask again.

    > Do you want to pass/recover the content of your websites and databases or do you want to do this with the complete operating systema incl. all websites at once?

    It need to be as atomic as a single "website"... as far as every website will content a different project. And when I say "website" I mean apache files (html, php, css...) and mysql ones because every CMS store some essential data in the DB that is an important part of what need to release (user information, form creation, text content...).

    As you noticed, my English is a crap :eek: , so just in case I didn't explain myself the scenario is very well explained here: http://www.sitepoint.com/blogs/2006/02/07/using-svn-for-web-development/
    (although the subversion solution is just one possible approach...)

    > If you want to do this just for the website data and you need versioning, have a look at SVN. I know some webdesign companies that do it this way.


    Thanks. Yes, this is my first option right now... if I didn't find a simple and effective way.

    The idea is installing a subversion server (in the testing machine) and when development is finished, release it to the production server in a new (or updated) ISPconfig's site.

    So seams obvious that an script could be helpful... I'm asking myself if there any way to create new ISP Sites from command line. Any clue about this?

    > If you do not need versioning, rsync is a good choice. Rsync can also be used to sync sites within a cluster of webservers or to make a hot standby server.


    If it's easier to implement, I can start without versioning and jump to subversion further.

    Instead of rsync, people is talking a lot about "unison" as a much better solution:
    http://www.cis.upenn.edu/~bcpierce/unison/index.html

    But once again, it's important to know what files need to be synchronized.
    From my ignorance of ISPconfig I believe that an update of the /var/www/sitename and the associated DB will be enough to let the production server work with a new release, but... what will happen on new sites? Looks like production ispconfigDB also need to be updated with site creation and user accounts... but I don't know if I'm missing something else...

    Finally I was really optimistic about the ISPconfig's backup utility.
    May I recover a partial backup from testing ISPconf to the production one?

    If I'm not been too much creative with ISPconfig uses and this is possible it will be (by far) the simplest solution and will "transform" ISPconfig to a nice staging system.

    I just hope I did explained myself.

    Thanks a lot in advance for your help,

    m.
     

Share This Page