I have the basics all up and running, and have successfully packaged up my patch and SQL update script. This patch applies to a fresh install of ISPCP RC6, it contains both the .patch file and the SQL update script:
ispcp_multisite_rc6_tar.gz (Size: 8.29 KB / Downloads: 33)
Basically, this patch does the following:
- - Updates/Modifies the GUI to all for managing hosts, assigning IP addresses to hosts, and displaying the applicable host under Domain Details.
- - Revises the GUI to call the daemon on each configured host when changes are applied to the database.
- - Revises the daemon to listen for connections on all IP addresses, not just the local host. This is obviously a potential security concern, and will need to be hardened with some form of authentication in the future.
- - Revises the ispcp-rqst-mngr engine script queries to only apply modifications intended for this host on this server. Note: Currently I have just implemented revisions for handling the primary domains and mailbox accounts. I have not fully implemented Aliases and Subdomains yet.
Applying the Experimental ISP-CP Multi-Site Patch
I have tested this process on a fresh Ubuntu 8.04 Hardy server. Here is the process for applying the patch and setting up multi-servers:
Step 1: Download and unzip ISPCP-omega RC6
Code:
# wget http://voxel.dl.sourceforge.net/sourceforge/ispcp/ispcp-omega-1.0.0-rc6.tar.gz
# tar -xvzf ispcp-omega-1.0.0-rc6.tar.gz
Step 2: Download and unzip ISPCP-multisite Patch (see attachment above)
Step 3: Install ISPCP Dependencies (see documentation for your specific distro)
Step 4: Apply ISPCP-multisite Patch - from ispcp-omega.1.0 folder, run:
Code:
# cd ispcp-omega-1.0.0
# patch -p2 <[path to patchfile]/ispcp_multisite_rc6.patch
Step 5: Build ISP-CP
Step 6: Copy files to root
Code:
# cp -Rv /tmp/ispcp/* /
Step 7: Run ISP-CP Setup
Code:
# cd /var/www/ispcp/engine/setup
# perl ispcp-setup
- For the first host in the cluster, select MySQL host as 'localhost'. For additional hosts in the cluster, enter the hostname of the first host you installed.
Step 8: Run ISP-CP multisite DB plugs
Code:
# mysql -u root -p ispcp < [path to patchfile]/ispcp_multisite_rc6.sql
Step 9: Login to ISP-CP
Step 10: Create new host entry for local machine
- Click Settings > Manage Hosts
- For Host: enter local hostname
- For Alias: enter a description of the local server
- Click Add
All Done! To add additional servers to the ISP-CP cluster, follow the steps above, installing a full copy of ISP-CP,
The only difference on the additional servers will be during the ispcp-setup, point the MySQL database to the original ISP-CP server. All ISP-CP node servers will point to the same server. Note: You may need to manually adjust permissions on the 'ispcp' database to allow connections from other hosts.
Once you have multiple servers set up in this manner, you can add IP addresses, and assign those IP address to any host setup and configured on the system.
Note: This modification is highly experimental and untested, and intended only for testing purposes on a clean installation of ISP-CP - proceed at your own risk. There is still quite a bit of work to be done. Not intended for use in Production.