ISPConfig Portability - Backend support for IIS/Exchange

Discussion in 'General' started by The1stImmortal, Jun 12, 2009.

  1. The1stImmortal

    The1stImmortal New Member HowtoForge Supporter

    Hi all,

    First of all, I'll be straight up. I'm sure you get these all the time. It's a ISPConfig-on-Windows question (kind of). :)

    I work for a smallish company that does ad-hoc hosting arrangements alongside IT service. Our core (hosting) infrastructure is primarily windows-based, all running atop ESX vms.

    We're currently evaluating management control panels for both internal and client use - two possibilities so far are DTC and ISPConfig. We're in the preliminary phases of investigating this (I've never run either myself)

    Open source has a couple of things going for it - it's modifyable, and it may be cheaper for me to modify it (with me being on salary anyway) versus paying a license fee of tens of thousands to one of the big boys.
    I'm also a big F/OSS guy myself and try to slip it in where possible :)

    Whilst I appreciate that ISPConfig is a Linux(/BSD)-centric system, my question is this:

    How closely tied to the supported infrastructure (that is, Apache and Sendmail/Postfix) is ISPConfig? Would it be a feasable project for me to port and/or reimplement backends to support IIS and Exchange? Or would the changes be so massive it's not worth the effort? :)

    Thanks in advance folks,

    -The1stImmortal
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    ISPConfig 3 is very portable and as PHP is working fine on Linux and windows, the ispconfig interface will work without modifications on IIS too. The backend, which does the configuration work is implemented as a set of plugins, also written in PHP for easy portability and to enable support for a wide variety of http and mail daemons.

    I'am not familar with the way a Exchange server can be configured by a script, but if its possible that you do the configuration of a exchange server from a php script e.g. by running the ispconfig server part in phalanger http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger if you have seome .net bindings or by using the com extension from the "normal" php or by accessing some kind of configuration database or files it should be possible. The server part is basically a script that runs every minute which first loads the plugins for the current system and then does the configuration work based on events. So the main work in porting would be to implement some plugins for IIS and Exchange and write a new installer.
     
  3. The1stImmortal

    The1stImmortal New Member HowtoForge Supporter

    Thanks for the heads-up on Phalanger, that may prove quite useful :)

    So architecturally, there's nothing that assumes unix-style daemons and textfile configs? Cool!

    To be honest, I think I can get away with the original, basic work being done with LDAP direct into Active Directory - most user-level Exchange config is done (or retrievable) through it. I was actually thinking that IIS config could be done either via interfacing to VB scripts or via Powershell, but you're right - direct COM or .NET calls would be cleaner. Worst case scenario I temporarily use tons of temporary system() calls to helper utilities until I can find better alternatives for each :)

    OK, I'll download everything tomorrow and start poking through the code to get a feel for the architecture. I think I might have fun tomorrow :D

    Another question - does ISPConfig support running the interface on one machine, and actually performing the config work on another (or others)? Or is that something left to the backend plugins to implement?

    Thanks heaps,
    The1stImmortal

    edit: forgot to disable smilies. I hate little picture smilies. ;)
     
    Last edited: Jun 13, 2009
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    ISPConfig 3 supports multi server setups with one interface node and as many slave nodes as you need. On the slave nodes you just have to install and run the "server" part of ispconfig (all scripts and files located in the server directory). The data is replicated by ispconfig internally, so the plugins have to do only the configuration on the local node were they are run. A requirement for ispconfig is that you have a mysql server running on every node incl. the master node. But as mysql is available for windows, this should not be a problem.

    I guess that even mixed setups with some slaves on windows and other slaves on Linux should work.
     
    Last edited: Jun 13, 2009

Share This Page