Myself and another programmer are tasked with maintaining a few webservers. I prefer CLI tools, she prefers Plesk. However, I am adamant about not installing Plesk for quite a few reasons.
I have written a small Python script for adding new domains, and now I am about to add the ability to configure email addresses while abstracting the details of Postfix from her. Before I go that route, I have googled to see if anything already exists, and am surprised that I have come up with nothing! Are there any mature, stable "control panels" or "server admin" tools like Plesk, but which are accessed via the CLI over SSH? I am looking for the following features:
Add / remove / configure domains served by Apache.
Add / remove / configure email boxes and mail groups.
Add / remove MySQL databases, users, and configure users to databases.
Provide basic monitoring of "server health", that is: memory usage, disk usage, CPU usage, bandwidth usage.
Possibly set up STFP accounts so that only specific FTP users could access specific /var/www/someSite/ directories.
Note that I was unsure if this question is OT for ServerFault. As per the ServerFault about page (There seems to be no more FAQ) this question meets two of the "ask about" criterion and zero of the "don't ask about" with the possible exception of being opinion-based. Therefore, to keep on-topic, I would like to know about the available applications but we should be subjective and less opinionated. Thank you!