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.

Leave a Reply