No description
Find a file
2023-06-13 20:33:57 +02:00
igw-content v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
igw-includes v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
igw-static v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
igw-templates v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
screenshots Readme & Screenshots 2023-05-27 17:18:03 +02:00
.gitignore Readme test and gitignore 2023-05-26 22:35:51 +02:00
composer.json v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
composer.lock v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
index.php v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00
LICENSE Initial commit 2023-05-25 19:36:45 +02:00
README.md Readme & Screenshots 2023-05-27 17:18:03 +02:00
update_data.php v0.0.1 Basic functions server list and stats with cron page. 2023-06-13 20:33:57 +02:00

Plesk MS - Multiserver Administration panel

Cluster solution for plesk multiserver administration.

DO NOT USE THIS ON A PUBLIC SERVER, IT IS INTENDED TO RUN ONLY ON LOCALHOST. IF YOU RUN IT ON A PUBLIC SERVER WITHOUT HTACCESS PROTECTION, YOU ARE GIVING ACCESS TO YOUR PLESK SERVER TO THE PUBLIC

Preliminar estructure.

  • Server List with basic information
  • Server information page with domains, clients, services and server info.

Install instructions

  1. Copy the repository on your server directory
git clone https://github.com/Iguannaweb/ples_multi_server.git
  1. Run composer install to fetch dependencies
  2. Fill data on ./igw-includes/config/config.example.php (email, name and array data with host, user and passwords) and rename to ./igw-includes/config/config.php

Page information

1. Server list

2. Server info

3. Manual update data

Data files

I just wanted to make things easy... so I decided to save data on files. One global and others separated.

  • Data directory: ./igw-content/data/xxx
  • Folder type (xxx): clients | domains | server | status
  • Files (xxx).data:
    • clients.data (serialized array of clients info) and clients.X.data (single serialized array of clients of one server)
    • domains.data (serialized array of domains info) and domains.X.data (single serialized array of domains of one server)
    • server.data (serialized array of server info) and server.X.data (single serialized array of one server info)
    • status.data (serialized array of status info) and status.X.data (single serialized array of service status of one server)

Data saved in files (xxx).data

server(x).data

"platform": "...",
"hostname": "...",
"guid": "...",
"panel_version": "...",
"panel_revision": "...",
"panel_build_date": "...",
"panel_update_version": "...",
"extension_version": "...",
"extension_release": "..."

client(x).data

"id": x,
"created": "...",
"name":  "...",
"login":  "...",
"status": x,
"email":  "...",
"locale":  "...",
"guid":  "...",
"description":  "...",
"type":  "..."

domains(x).data

"id": x,
"created": "...",
"name": "...",
"ascii_name": "...",
"base_domain_id": x,
"guid": "...",
"hosting_type": "...",
"www_root": "...",
"aliases": []

status(x).data (xml file with status services)

<id>xxx</id>
<title>xxx</title>
<state>running/stopped/none</state>

Cron setup to retrieve data every x minutes

Check that the time it takes to run the script is less than the time between one scheduled job and another. 5 minutes is a good time to time to check things.

*/5 * * * * wget http://locahost/plesk_multi_server/update_data.php

Screenshots

Home Screenshot Desktop Home Screenshot Tablet Home Screenshot Tablet Home Screenshot Mobile Home Screenshot Mobile