Plesk CLI Administration Guide: Managing Domains, Emails, and Databases
Introduction
Plesk provides a powerful command-line interface (CLI) and database structure that allows administrators to manage domains, users, email accounts, and databases efficiently. This guide outlines useful commands and queries to retrieve account details and perform common administrative tasks directly from the server.
Prerequisites
Before proceeding, ensure the following:
- Root or sudo access to the Plesk server
- Access to the Plesk internal database (
psa) - Basic knowledge of Linux command line
- MySQL/MariaDB client installed
- Proper permissions to execute Plesk CLI utilities located in
/usr/local/psa/bin/
Implementation
1. Retrieve Domain Account Information
mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D psa -e "
SELECT login, password, home
FROM sys_users
INNER JOIN accounts ON accounts.id = sys_users.account_id;"
2. Get Client Login Details
mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D psa -e "
SELECT login, password
FROM clients
INNER JOIN accounts ON accounts.id = clients.account_id;"
3. Retrieve Mail Account Information
mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D psa -e "
SELECT CONCAT_WS('@', mail.mail_name, domains.name) AS email,
accounts.password
FROM domains, mail, accounts
WHERE domains.id = mail.dom_id
AND accounts.id = mail.account_id
ORDER BY domains.name ASC, mail.mail_name ASC;"
4. Manage Mail Accounts via CLI
Create Mail Account
/usr/local/psa/bin/mail -c USER@DOMAIN.COM -passwd PASSWORD -mailbox true -cp-access true
Update Mail Account
/usr/local/psa/bin/mail -u USER@DOMAIN.COM -passwd NEWPASS
Remove Mail Account
/usr/local/psa/bin/mail --remove USER@DOMAIN.COM
5. Mailing List Management
Create Mailing List
/usr/local/psa/bin/maillist --create MYLIST -domain DOMAIN.COM \
-passwd_type plain -passwd PASS -notify false -email LISTADMIN@DOMAIN.COM
Add Member
/usr/local/psa/bin/maillist -u MYLIST -domain DOMAIN.COM -members add:NEW@DOMAIN.COM
Remove Member
/usr/local/psa/bin/maillist -u MYLIST -domain DOMAIN.COM -members del:NEW@DOMAIN.COM
View Members
/usr/local/psa/bin/maillist -i MYLIST -domain DOMAIN.COM
Delete Mailing List
/usr/local/psa/bin/maillist -r MYLIST -domain DOMAIN.COM
6. Database Management
Create Database
/usr/local/psa/bin/database --create DBNAME -domain DOMAIN.COM \
-server localhost:3306 -add_user DBUSER -passwd PASS
Remove Database
/usr/local/psa/bin/database -r DBNAME
Conclusion
Using Plesk’s CLI tools and direct database queries can significantly streamline server administration tasks. These commands allow administrators to efficiently manage users, domains, email accounts, mailing lists, and databases without relying solely on the web interface. Proper usage can improve automation, reduce manual effort, and enhance overall server management efficiency.
