• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Plesk 7 API?

P

perryv

Guest
Can I manage domains in Plesk without resorting to its Web interface? Is there a sort of API or "scripting language" that can be used by external programs to communicate with a (remote) Plesk server?
 
That would be GREAT! I too am interested in such a feature. Does it already exist?
 
Upon some investigating, I found the Creation Utilities in the help documentation.

However, it seems as though only administrators can run these. Is there any way resellers can run this to automatically add/update/remove accounts/domains?
 
If you use these in conjunction with Modernbill you can. Modernbill has full support for this in Plesk for Windows and Linux.
 
Basically, I would like to create a modernbill equivalent of my own for my site. I'm not really keen on spending that much for the billing software.
 
If you knew how many hours I spent working with Andy Christ over at ModernGigabyte sorting out first 6.5.x and 7.x on Windows then you would understand why building your own billing system is not enticing.
 
I guess that would depend on the type of developer you are. I have built several large-scale web applications. The only difficult part in this that I see is the interfacing with Plesk. I can see that there are already Creation Utilities that make it possible, but only if you are an administrator.

Since I know the ability to administer things through Plesk outside of the Web Interface as an administrator, I am just checking to see if there is a way to do the same as individual users.

I may be over-generallizing, but it seems as though you would just have to prompt for a username and password in the Creation Utilities executable. That way, things created are associated with the correct users.
 
I found another way to communicate remotely with Plesk servers. You use another server software called Plesk Expand. Plesk Expand can talk to remote Plesk servers using XML (via SOAP?).

Unfortunately, you have to purchase a Plesk Expand license (read: another bulk of expensive software) in order to use it. So if you simply want to talk to remote Plesk servers and nothing else, then I think purchasing Plesk Expand is not worth it.

Maybe we should create CGI or SOAP scripts on the Plesk server. These scripts will use the Creation Utilities to perform Plesk tasks. The CGI/SOAP scripts will then be called by remote external programs to communicate with the Plesk server. Hmmm...
 
As far as I know, Expand Agent is included in Plesk install, and Expand Control Panel uses XML to talk to this agent. So you can use it to do whatever Expand can.

If you are interested, I think I can find the info regarding XML scheme for Expand Agent and the protocol used.
 
Wow, excellent. A lot of information here. It will take me some time go get through it, but this is a huge step in the right direction.

Is there anywhere that has information regarding these types of procedures? Anyone that has utilized them that would be a good resource? Examples, forums, newsgroups, etc...? Or am I pretty much pioneering territory that has not been explored too much?
 
My guess is that you will be one of the first after our own developers. We will help you as much as we can though.
 
My customers use a Content Management System written by me and it's confusing for them to learn 2 systems. I'd like to integrate a subset of the Plesk functions that they need into my CMS.

The first job is to integrate the authentication for single-sign-on. How do I validate the Plesk user through my own login page? How do I check from my script if the user is already logged into Plesk?

I'm using ASP by the way. Haven't yet decided whether to go to PHP or .NET next. What are other people using?

Cheers, Julian
 
You can check if the user has entered valid Plesk login and password by running a following query against mysql psa database:

select count(*) from clients where login='johndow' and passwd='12345';

As to finding out whether the user is logged on or not, I'm afraid this is not really possible in your setup - you are using ASP, and Plesk itself uses PHP on the separate Apache web server. You can't run a single session here. I mean, you can find out who is logged into Plesk quite easily, e.g.

select * from sessions;

but you would not be able to tell if this is the same session or not, because php session id would not make any sense to your ASP code.
 
Thanks for that jaytee. If the user database can be shared then I can live with that. Must say that I'm surprised if the password is not encrypted in the database.

It's good to see a moderator in these forums. I hope moderators will still be around after Plesk 7 settles down.

Cheers, Julian
 
hey just wanted to see if someone could help me out with something it has to do with mysql and i new at this im trying to setup my config on plesk
 
Originally posted by inCharge.co.uk
My customers use a Content Management System written by me and it's confusing for them to learn 2 systems. I'd like to integrate a subset of the Plesk functions that they need into my CMS.

The first job is to integrate the authentication for single-sign-on. How do I validate the Plesk user through my own login page? How do I check from my script if the user is already logged into Plesk?

I'm using ASP by the way. Haven't yet decided whether to go to PHP or .NET next. What are other people using?

Cheers, Julian

Hi Julian,

I am in the same situation as you I guess.
I am looking for the easiest way to write my own user interface which offers some basic plesk functionality. Normally I write ASP(.NET) code to communicate with a MS SQL Server database, but here it seems that we need to learn how to interact with the MySQL database that Plesk uses.
I don't know much about MySQL, so for me the basic questions are:

. Can we connect to the database and how do we do that.
. Are there a set of predifinede commands that we can use in our code (like stored procedures in MS SQL Server) or do we need to run sql statements (insert, update, del) to do the job. In this case it is necessary to learn more about the database (tables, relationships,...).

There is a lot to learn and discover.

Marcel
 
Hi Marcel

Same here - I'm familiar with SQL Server & Access but not MySql. I assume there's an ADO driver for MySql. Then there's the database admin to learn - the equivalent of SQL Server Enterprise Manager (C:\Program Files\SWsoft\Plesk\MySql\bin\ MySqlManager.exe ?)

However, I would avoid interracting with tables unless there is no way to do it through the API. Tables may change in future versions whereas an API should be backwardly compatible.

Which function do you want to integrate first? Customer signup is an obvious one. Mailbox admin is the function most frequently used by customers - although that is integration with MailEnable, not Plesk (I'll be looking in that product's forum for answers). The next most requested is webstats and that too is not Plesk.

Cheers, Julian
 
Originally posted by inCharge.co.uk
Hi Marcel

Same here - I'm familiar with SQL Server & Access but not MySql. I assume there's an ADO driver for MySql. Then there's the database admin to learn - the equivalent of SQL Server Enterprise Manager (C:\Program Files\SWsoft\Plesk\MySql\bin\ MySqlManager.exe ?)

However, I would avoid interracting with tables unless there is no way to do it through the API. Tables may change in future versions whereas an API should be backwardly compatible.

Which function do you want to integrate first? Customer signup is an obvious one. Mailbox admin is the function most frequently used by customers - although that is integration with MailEnable, not Plesk (I'll be looking in that product's forum for answers). The next most requested is webstats and that too is not Plesk.

Cheers, Julian

Hi Julian,

I would like to keep it simple at first. Just adding a domain for example. Once we know the principles, the more advanced features will follow.

Of course it is not a very good idea to make changes directly into a database table, but the questions is what are the alternatives. In the "Advanced Features Manual" there is a list of commands that can be run to manage the most common tasks. Maybe those commands can be called from within our ASP(.net) code.

Marcel
 
Back
Top