Zugangsdaten und Passwörter bei der Webserveroberfläche Plesk auslesen oder weiterverarbeiten
Dieser Artikel bezieht sich auf die Webservermanagementsoftware Plesk. Diese gibt es für Windows und für Linux. Im Hostingalltag hat sich herausgestellt, dass bei den Kunden immer wieder Zugangsdaten verloren gehen. Man hat die Zugangsdaten zwar bei der Einrichtung des Webbereiches in einer Warenwirtschaft oder Intranet gespeichert, aber irgend jemand anders hat diese zwischenzeitlich wieder geändert. Im Fall von Plesk ist es zwar so, dass die Daten grundsätzlich in der PSA-Datenbank gespeichert werden, diese aber auf verschiedene Tabellen verstreut sind.
Nachstehend einige SQL-Sichten, mit denen alle relevanten Daten bequem in einer Tabelle ausgegeben werden können. Dies erleichtert den Support ungemein und ermöglicht darüber hinaus die Einbindung oder Weiterverarbeitung der aktuell eingerichteten Zugangsdaten in einem Warenwirtschaftssystem. Das lästige Pflegen der Zugangsdaten von Hand entfällt damit.
Hier die Sicht für Windows. Sie muss in der PSA-Datenbank eingerichtet werden:
SELECT dbo.domains.name AS Domainname, dbo.clients.cname AS Client, dbo.clients.login AS PLESKuser, dbo.clients.passwd AS PLESKpasswort,
dbo.hosting.fp_adm AS FTPuser, dbo.hosting.fp_pass AS FTPpasswort, dbo.domains.real_size / 1024 / 1024 AS Domaingroeße_in_MB, dbo.dsn.name AS DB_Name,
dbo.dsn.driver AS DB_Art
FROM dbo.domains LEFT OUTER JOIN
dbo.hosting ON dbo.hosting.dom_id = dbo.domains.id INNER JOIN
dbo.clients ON dbo.domains.cl_id = dbo.clients.id LEFT OUTER JOIN
dbo.dsn ON dbo.domains.id = dbo.dsn.id
ORDER BY dbo.domains.name
Die Sicht für Linux besteht aus einer Verknüpfung von 4 Sichten, die auch alle in der PSA-Datenbank einzurichten sind:
CREATE VIEW `psa`.`view_db` AS select `psa`.`domains`.`id` AS `Domainid`,`psa`.`domains`.`name` AS `Domainname`,`psa`.`data_bases`.`name` AS `DBname`,`psa`.`db_users`.`login` AS `DBuser`,`psa`.`accounts`.`password` AS `DBpasswort` from (((`psa`.`domains` left join `psa`.`data_bases` on((`psa`.`domains`.`id` = `psa`.`data_bases`.`dom_id`))) left join `psa`.`db_users` on((`psa`.`data_bases`.`default_user_id` = `psa`.`db_users`.`id`))) left join `psa`.`accounts` on((`psa`.`db_users`.`account_id` = `psa`.`accounts`.`id`))) order by `psa`.`domains`.`name`;
CREATE VIEW `psa`.`view_ftpuser` AS select `psa`.`domains`.`id` AS `Domainid`,`psa`.`domains`.`name` AS `Domainname`,`psa`.`sys_users`.`login` AS `FTPuser`,`psa`.`accounts`.`password` AS `FTPpassword` from (((`psa`.`domains` left join `psa`.`hosting` on((`psa`.`domains`.`id` = `psa`.`hosting`.`dom_id`))) left join `psa`.`sys_users` on((`psa`.`hosting`.`sys_user_id` = `psa`.`sys_users`.`id`))) left join `psa`.`accounts` on((`psa`.`sys_users`.`account_id` = `psa`.`accounts`.`id`))) order by `psa`.`domains`.`name`;
CREATE VIEW `psa`.`view_pleskclients` AS select `psa`.`domains`.`id` AS `id`,`psa`.`domains`.`name` AS `name`,`psa`.`clients`.`cname` AS `cname`,`psa`.`clients`.`login` AS `login`,`psa`.`accounts`.`password` AS `password` from ((`psa`.`domains` left join `psa`.`clients` on((`psa`.`clients`.`id` = `psa`.`domains`.`cl_id`))) left join `psa`.`accounts` on((`psa`.`clients`.`account_id` = `psa`.`accounts`.`id`))) order by `psa`.`domains`.`name`;
CREATE VIEW `psa`.`view_all` AS select `psa`.`domains`.`name` AS `Domainname`,round(((`psa`.`domains`.`real_size` / 1024) / 1024),0) AS `Groesse_in_MB`,`view_pleskclients`.`cname` AS `Client`,`view_pleskclients`.`login` AS `PLESKuser`,`view_pleskclients`.`password` AS `PLESKpasswort`,`view_ftpuser`.`FTPuser` AS `FTPuser`,`view_ftpuser`.`FTPpassword` AS `FTPpassword`,`view_db`.`DBname` AS `DBname`,`view_db`.`DBuser` AS `DBuser`,`view_db`.`DBpasswort` AS `DBpassword` from (((`psa`.`domains` join `psa`.`view_pleskclients` on((`psa`.`domains`.`id` = `view_pleskclients`.`id`))) join `psa`.`view_ftpuser` on((`view_pleskclients`.`id` = `view_ftpuser`.`Domainid`))) join `psa`.`view_db` on((`view_ftpuser`.`Domainid` = `view_db`.`Domainid`))) order by `psa`.`domains`.`name`;
In der Ausgabe beim PHPmyAdmin sind die Passwörter nicht lesbar. Eine Detailansicht bzw. ein Aufruf mit dem Mysql Querry Browser kann hier Abhilfe schaffen.
Aktualisiert (Samstag, den 21. November 2009 um 19:30 Uhr)