Been using ISPConfig for awhile, mostly with single server setups, but a few test runs of multiserver setups. Really great software! We appreciate all the hard work that goes into it's development and support!

Based off some existing scripts (referenced elsewhere in these forums), we've successfully been able to create an automated script with a combination of bash and expect that can setup up everything unattended (after the basic OS install). We are having trouble with one last step.

This step involves modifying the services provided by each server. In the Web Interface this is under System > Server Services > <server_name>. We can successfully modify the sql to change the services, but it seems to miss some setting, and the monitoring thinks the FTPServer should be running on all the systems.

(Obviously the variables get replaced with the necessary information.) What else do we need to do? I notice that when the changes are made from the Web Interface, the only difference (that I could find anyway) is that the changes are logged into the sys_datalog table as well. Do we need to emulate that from our script? If so, what would we insert? The information in there seems somewhat cryptic.

Any help, or leads to finding what we need are appreciated! Thanks in advance!

Of course, we can always resort to using the Web Interface to make the changes, however, we would like to fully automate the install end to end!

All cahnges that you do in the mysql database of the amster server have to be done with the ispconfig remote api or at least the ispconfig mysql api which has special functions to write the datalog. If you do changes in the database manually in the database and thes echanges dont have a valid transaction record in sys_datalog, the changes will be ignored and not transferred to the slave server.

The sys datalog is a transaction log which contains serialized objects of changed record with the state of the record before and after the change to allow the servers to identify which columns and values have been changed in a databse record.

All cahnges that you do in the mysql database of the amster server have to be done with the ispconfig remote api or at least the ispconfig mysql api which has special functions to write the datalog. If you do changes in the database manually in the database and thes echanges dont have a valid transaction record in sys_datalog, the changes will be ignored and not transferred to the slave server.

The sys datalog is a transaction log which contains serialized objects of changed record with the state of the record before and after the change to allow the servers to identify which columns and values have been changed in a databse record.

Click to expand...

Hi Till,

Thanks for your reply and the timely information. So now I will have to try to figure out the API. My first scan of the remote APIs doesn't seem to turn up one that could be used for this purpose. I do see a function in db_mysql.inc.php that I could possibly leverage. Not quite sure how to do so. However, I do see some info here that might help me: http://www.howtoforge.com/how-to-create-remote-api-scripts-for-ispconfig-3

If anyone has some helpful hints on using these APIs and functions it would be greatly appreciated!

...That was the function I had my eye on! Now I just have to figure out how to use it. I think I have some ideas, so we'll see how it goes!...

Click to expand...

Piecing together information I found in various posts on this forum, I think I was able to figure it out. Here's the script I worked up. It probably could be refined, and I'm open to suggestions & improvements!