ispCP - Board - Support
PATCH: Multi-Server ispCP! - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega Development Area (/forum-1.html)
+--- Forum: General discussion (/forum-11.html)
+--- Thread: PATCH: Multi-Server ispCP! (/thread-4022.html)

Pages: 1 2 3


PATCH: Multi-Server ispCP! - zmediaguru - 08-13-2008 02:10 AM

[Feb 13, 2008 Update, I have just posted a new patch for RC7here.]

All,

By way of introduction, I have used VHCS2 (heavily modded) in a production environment for several years, and have been following this ispCP project since it was started. I have installed most of the Release Candidates on various test environments as they were released and am impressed with the improvements that have been made to the project - good work!

For some time, I have been pondering the best route to enhance ispCP so that it can manage users and resellers across multiple servers. After much thought I have begun putting this together.

Here's how it works:

ispCP already allows you to create multiple IP addresses, and designate which IP addresses Resellers and Users can use with their accounts. I have simply built an additional table in the database and added one other column to an existing table to assign each IP address to a specific host server.

Yesterday, I completed mods to the GUI to allow for managing the hosts, and assigning each IP address to a specific host. See screenshots attached below:
[attachment=427][attachment=428]

The concept is that each server (host) will have ispCP installed on it, with the daemon running and the back-end perl engine scripts to build/manage the various server configuration files. The perl engine scripts (ispcp-rqst-mngr, etc.) will be modded slightly with a JOIN added to each query to limit results and operations to only domains assigned to it's local host (server).

The GUI function call to the daemon will also be adjusted to have it connect to each host IP address (as necessary) to trigger the Request Manager on each server whenever changes are made through the centralized GUI.

I will have more details on exactly how this is done as I complete more of the work. Once completed, I will be happy to submit my mods back to the project if the dev team is interested.

This may not be the optimal setup for everyone, but it seems like it will fit in with our infrastructure perfectly. Any thoughts and additional ideas building on what I have presented here would be appreciated!

If anyone is interested in testing this out once I get my mods to a fully-working condition, let me know!

I will report back in here when I have more hammered out.


RE: Multi-Server ispCP! - RatS - 08-13-2008 05:37 AM

zmediaguru Wrote:Once completed, I will be happy to submit my mods back to the project if the dev team is interested.
Of course, we are interested! We are proud of our community doing great things.


RE: Multi-Server ispCP! - simple - 08-13-2008 03:31 PM

Nice addition, I'll surely do a testdrive once you have the code ready, since a multiserver-singleGui-Interface has many benefits and very little disadvantages.


RE: Multi-Server ispCP! - Ballistic509 - 08-13-2008 06:02 PM

That seems amazing. I have plenty of extra boxes around here that need to be put to work!


RE: Multi-Server ispCP! - BioALIEN - 08-17-2008 03:14 PM

This seems promising. Keep us updated Smile


RE: Multi-Server ispCP! - ephigenie - 08-23-2008 06:49 PM

Hey there Wink

i think this is an nice approach - although there'll be some problems with statistics and so on (everything which should flow back to the "master" host ... )

And of course then we really really need to optimize the traffic calculation because now the master mysql gets really loaded if you switch to a reseller which can have 2000 domains because all of them are on 4 servers or so ...


RE: Multi-Server ispCP! - pgentoo - 08-24-2008 05:35 AM

This sounds great. Keep up the good work! Smile


RE: Multi-Server ispCP! - zmediaguru - 09-04-2008 09:26 AM

Update: Sorry for the delay. I was gone for about a week, and was not able to pick up and work on this project again until today.

Progress: With the GUI mods already in place (see attached graphics on my previous post), today I completed the initial mods to the ispcp-rqstmngr engine script. What I did was modify the query that looks for any domains that do not have a status of 'ok', refining it to only pull results for domains which are assigned to this server.

I went ahead and setup a second web server, installed ISP-CP, and applied my mod (gui & engine components) to this new server, and pointed it to use the ispcp database on the first primary server.

Success: Today I was able to successfully able to deploy domains across 2 separate web servers from a single GUI!.

With the second web server in place, I was able to add hosts in the control panel GUI, assign IPs to that host, and add a domain user to either of the first or second web servers.

I don't yet have all automation in place for calling the daemon on each web server, so once I've added a domain through the GUI, I still need to manually run the ispcp-rqst-mngr script on whichever server the domain was added to. However, I've already poked around at that code, and have a good idea how to have it call the Request Manager on each node via the daemon once a change is saved in the GUI.

Once I get some more of the initial issues worked out, and also apply some similar modifications to the mailbox process, I will hopefully figure out how to package up my mods as a patch for others to begin testing with.

Interestingly, with ISP-CP fully installed on both server, the GUI can now be accessed from either web server as well - this may be nice down the road implementing some form of load-balancing, etc.


RE: Multi-Server ispCP! - FeG - 09-04-2008 07:36 PM

This sounds very, very nice. Thank you for your great work!


RE: Multi-Server ispCP! - DiXeoN - 09-08-2008 05:34 PM

Really niice!

I really cant wait for this to finish!