Migration von i-MSCP zu KeyHelp

Für Modifikationen in und um KeyHelp.
User avatar
Ralph
Posts: 847
Joined: Mon 30. Mar 2020, 16:14

Re: Migration von i-MSCP zu KeyHelp

Post by Ralph »

space2place wrote: Sun 6. Aug 2023, 13:59 Das mit den Datenbanken war schon mal Thema. Nein - Das werde ich nicht umprogrammieren.
Aus einem ganz einfachen Grund. i-MSCP kann Prefixe (1_, 2_ usw davor setzen). Bei KeyHelp war das damals nicht erlaubt. Deswegen ist das so gebaut worden.
Wenn Du das ändern willst und auch eigene Kappe nimmst, stenht es Dir frei das Git zu klonen und die Anpassungen selnbst durchzuführen.

Code: Select all

Die FTP Passwörter werden nicht übernommen - werden ohne Hash in die KH ftpuser table gesetzt
aus:
$6$rounds=5000$rS8BY7V7V7X ......
wird:
TCG8vUZ>
Das ist mir was ganz Neues. Du bist der erste nach so langer Zeit der das meldet.
Und

Code: Select all

$6$rounds=5000$
kenne ich nur von den Email Konten. Das hat nicht mit den FTP Konten zu tun. Das kommt von der Passwortverschlüsselung die i-MSCP nutzt.
Wenn Deine Passwörter der FTP Konten so gepseichert wurden, dann hast Du selbst was an i-MSCP gedreht. Das kenne ich von keinem i-MSCP Server die ich betrieben habe.
Ja das mit den Datenbank Prefixen ist nun mal jetz drin ... kann man mit leben ;-)
Hier schau mal bei den FTP Passwörtern, die werden neu generiert in der i-mscp_keyhelp_migration.py:

Code: Select all

'iFtpInitialPassword': keyhelpAddData.keyhelpCreateRandomFtpPassword(
                                                 keyhelpMinPasswordLenght),
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Migration von i-MSCP zu KeyHelp

Post by OlliTheDarkness »

Hier schau mal bei den FTP Passwörtern, die werden neu generiert in der i-mscp_keyhelp_migration.py:

Code: Select all

'iFtpInitialPassword': keyhelpAddData.keyhelpCreateRandomFtpPassword(
                                                 keyhelpMinPasswordLenght),
Und das Problem ist jetzt genau wo ?!

I-MSCP wird die FTP Kennwörter sicherlich nicht Klartext gesichert haben, sondern "verschlüsselt".
Und die "Verschlüsselung" von I-MSCP ist nicht identisch mit der Art & Weise wie KH die Daten verschlüsselt.
Also, welche Optionen hast du dann noch ... Garkeine, also wird ein vollständig neues Kennwort generiert und eingetragen.

Das is halt nötig, weil sich ein FTP User im KH nur mit einem Kennwort anlegen lässt, kein Kennwort = Fehler beim anlegen.

Und sind wir mal ehrlich, nen Kunde bricht sich dabei nicht die Finger wenn er mal nen neues (oder wieder altes) Kennwort (was sicherlich letztmalig geändert wurde als die Mauer noch stand) neu setzt.
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Ralph
Posts: 847
Joined: Mon 30. Mar 2020, 16:14

Re: Migration von i-MSCP zu KeyHelp

Post by Ralph »

Gibt kein Problem, die Frage war nur auf Hintergrund-Infos und mögliche Änderungen bezogen. läuft alles sauber durch und ich bin sehr glücklich und dankbar für das Script :D
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Migration von i-MSCP zu KeyHelp

Post by OlliTheDarkness »

Ralph wrote: Sun 6. Aug 2023, 17:28 Gibt kein Problem, die Frage war nur auf Hintergrund-Infos und mögliche Änderungen bezogen. läuft alles sauber durch und ich bin sehr glücklich und dankbar für das Script :D
Ok.
ich bin sehr glücklich
Das kann ich dir nicht glauben :lol:

Du hast ja scheinbar bis "heute" noch mit I-MSCP gearbeitet, da kann man nicht glücklich sein, sondern wahrscheinicher auf einem Hochhaus an der Dachkannte stehen. :P :lol:
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Ralph
Posts: 847
Joined: Mon 30. Mar 2020, 16:14

Re: Migration von i-MSCP zu KeyHelp

Post by Ralph »

OlliTheDarkness wrote: Sun 6. Aug 2023, 17:49
ich bin sehr glücklich
Das kann ich dir nicht glauben :lol:
Du hast ja scheinbar bis "heute" noch mit I-MSCP gearbeitet, da kann man nicht glücklich sein, sondern wahrscheinicher auf einem Hochhaus an der Dachkannte stehen. :P :lol:
haha, doch bis auf winzige Kleinigkeiten ... aber damit komme ich schon klar!
imscp läuft derzeit auf Buster (eigene version) auch äusserst stabil, aber bei PHP 8.x (fürs Panel) ist da Feierabend.
KH gefällt mir mittlerweile immer besser auch wenn ich anfangs viel rumgemeckert habe, bin gespannt auf die kommende Version und froh wenn endlich alles umgezogen ist.
User avatar
space2place
Posts: 494
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Migration von i-MSCP zu KeyHelp

Post by space2place »

Bzgl. Des Passwortes für FTP..
Da es damals noch keine Möglichkeit des Passwort Hashes per API hinzuzufügen gab, kam das InitialPasswort ins Spiel.
Den Hash konnte ich ja nicht in ein lesbares Passwort umandeln.
Da scheint dann doch ein kleiner Fehler in der _keyhelp.py zu sein.

Die Zeile 758:
alt

Code: Select all

data['password_hash'] = keyHelpData['iFtpInitialPassword']
neu

Code: Select all

data['password_hash'] = keyHelpData['iFtpUserPassword']
Damit sollte der alte Hash dann auch drin sein.
Ist aber nicht getestet!
User avatar
Ralph
Posts: 847
Joined: Mon 30. Mar 2020, 16:14

Re: Migration von i-MSCP zu KeyHelp

Post by Ralph »

space2place wrote: Sun 6. Aug 2023, 19:03 Bzgl. Des Passwortes für FTP..
Da es damals noch keine Möglichkeit des Passwort Hashes per API hinzuzufügen gab, kam das InitialPasswort ins Spiel.
Den Hash konnte ich ja nicht in ein lesbares Passwort umandeln.
Da scheint dann doch ein kleiner Fehler in der _keyhelp.py zu sein.

Die Zeile 758:
alt

Code: Select all

data['password_hash'] = keyHelpData['iFtpInitialPassword']
neu

Code: Select all

data['password_hash'] = keyHelpData['iFtpUserPassword']
Damit sollte der alte Hash dann auch drin sein.
Ist aber nicht getestet!
Super, das freut mich, ich teste es morgen mal und checke die PW hashes auch vorher noch in der imscp ftp_user table!
Dickes Danke dafür dass Du am heiligen Sonntag noch danach geschaut hast!
L.G.
User avatar
Ralph
Posts: 847
Joined: Mon 30. Mar 2020, 16:14

Re: Migration von i-MSCP zu KeyHelp

Post by Ralph »

space2place wrote: Sun 6. Aug 2023, 19:03 Bzgl. Des Passwortes für FTP..
Da es damals noch keine Möglichkeit des Passwort Hashes per API hinzuzufügen gab, kam das InitialPasswort ins Spiel.
Den Hash konnte ich ja nicht in ein lesbares Passwort umandeln.
Da scheint dann doch ein kleiner Fehler in der _keyhelp.py zu sein.

Die Zeile 758:
alt

Code: Select all

data['password_hash'] = keyHelpData['iFtpInitialPassword']
neu

Code: Select all

data['password_hash'] = keyHelpData['iFtpUserPassword']
Damit sollte der alte Hash dann auch drin sein.
Ist aber nicht getestet!
Kurze Info: iFtpUserPassword funktioniert mit den migrierten FTP Logins :D
Danke nochmal!
User avatar
space2place
Posts: 494
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Migration von i-MSCP zu KeyHelp

Post by space2place »

Danke fürs testen.. Fix ist Online
Mutschas
Posts: 27
Joined: Sun 22. Mar 2020, 14:49

Re: Migration von i-MSCP zu KeyHelp

Post by Mutschas »

Guten Tag zusammen,

auch ich würde sehr gerne von i-MSCP zu KeyHelp wechseln und dank diesem tollen Tool (danke @space2place) soll es ja sehr einfach gehen.

Ich war gerade dabei, die erste Domain zu migrieren, da kam dieser Fehler:

Code: Select all

Starting migration i-MSCP to KeyHelp

KeyHelp API Login successfull.
Checking whether Default hostingplan "Unlimited" exist.
KeyHelp default hostingplan "Unlimited" exists.

[?] How do you want to migrate the i-MSCP account? Add to => : a new KeyHelp account
 > a new KeyHelp account

Enter a new KeyHelp username: testolino
KeyHelp username is ok.
Password is generated automatically!
Enter an email address: info@testolino.de
Enter a first name: TestFName
Enter a last name: TestLName
Which hosting plan should be used (Enter to use the default hosting plan)?
All KeyHelp data are now complete.


Enter the i-MSCP user name (first domain): testolino.de

Found domain: testolino.de
Get i-MSCP domain dns data
Get i-MSCP sub domain data
Get i-MSCP alias domain data
Get i-MSCP domain emailaddress data
Get i-MSCP roundcube domain email contact data
Get i-MSCP roundcube domain email contact data
Get i-MSCP roundcube domain email contact data
Get i-MSCP roundcube domain email contact data
Get i-MSCP roundcube domain email contact data
Get i-MSCP database data
Get i-MSCP FTP user data
Get i-MSCP HtAccess user data
All i-MSCP data are now complete.


We are ready to start. Check the logfile "testolino.de_get_data_from_imscp.log".
Do you want to start now [y/n]? y
Adding User "testolino" to Keyhelp
Waiting since 23 seconds for Keyhelp. KeyHelp user was not added yet!
KeyHelpUser "testolino" added successfully.
Adding first domain "testolino.de" to KeyHelpUser "testolino".
Please wait...
Domain "testolino.de" added successfully.

Start adding FTP users.
FTP user "test@testolino.de" added successfully.


Start adding HTACCESS users.
Directory protection "testolino" added successfully.

Adding SSL cert for domain "testolino.de".
SSL cert for domain "testolino.de" added successfully.
Update "testolino.de" with SSL cert.
Please wait...
Domain "testolino.de" updated succesfully with SSL cert.

Adding email addresses for domain "testolino.de".
Email address "info@testolino.de" added successfully.
Traceback (most recent call last):
  File "/root/imscp2keyhelp/i-mscp-keyhelp-migration/./i-mscp_keyhelp_migration.py", line 467, in <module>
    keyhelpAddData.addKeyHelpDataToApi(apiEndPointEmails, keyhelpAddApiData)
  File "/root/imscp2keyhelp/i-mscp-keyhelp-migration/_keyhelp.py", line 429, in addKeyHelpDataToApi
    apiJsonData = self.__makeClientsJsonData(keyHelpData, apiEndPoint)
  File "/root/imscp2keyhelp/i-mscp-keyhelp-migration/_keyhelp.py", line 725, in __makeClientsJsonData
    data['max_size'] = int(keyHelpData['iEmailMailQuota'])
ValueError: invalid literal for int() with base 10: 'NULL'
Ist das bekannt?

i-MSCP-Server:
Debian 9.13
i-MSCP 1.5.3
Build: 2018120800
Codename: Ennio Morricone

KeyHelp-Server:
Debian 11

Danke.

Viele Grüße
Mutschas

//Edit
In der i-MSCP Datenbank in der Tabelle "mail_users" hat die ""info@testolino.de" in der Spalte "quota" eine "echte" 0. Alle anderen dazugehörigen E-Mail Adressen dagegen eine "NULL".

//Edit 2
Hier mal der DB-Export für "testolino.de"

Code: Select all

-- phpMyAdmin SQL Dump
-- version 4.7.4
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Erstellungszeit: 14. Sep 2023 um 11:17
-- Server-Version: 5.7.34
-- PHP-Version: 5.6.40-57+0~20211119.60+debian9~1.gbp8a9bd1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";

--
-- Datenbank: `ispcp`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `mail_users`
--

CREATE TABLE `mail_users` (
  `mail_id` int(10) UNSIGNED NOT NULL,
  `mail_acc` text COLLATE utf8_unicode_ci,
  `mail_pass` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '_no_',
  `mail_forward` text COLLATE utf8_unicode_ci,
  `domain_id` int(10) UNSIGNED DEFAULT NULL,
  `mail_type` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
  `sub_id` int(10) UNSIGNED DEFAULT NULL,
  `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `po_active` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'yes',
  `mail_auto_respond` tinyint(1) NOT NULL DEFAULT '0',
  `mail_auto_respond_text` text COLLATE utf8_unicode_ci,
  `quota` bigint(20) UNSIGNED DEFAULT NULL,
  `mail_addr` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Daten für Tabelle `mail_users`
--

INSERT INTO `mail_users` (`mail_id`, `mail_acc`, `mail_pass`, `mail_forward`, `domain_id`, `mail_type`, `sub_id`, `status`, `po_active`, `mail_auto_respond`, `mail_auto_respond_text`, `quota`, `mail_addr`) VALUES
(16, 'webmaster', '_no_', 'info@testolino.de', 2, 'normal_forward', 0, 'ok', 'no', 0, NULL, NULL, 'webmaster@testolino.de'),
(17, 'postmaster', '_no_', 'info@testolino.de', 2, 'normal_forward', 0, 'ok', 'no', 0, NULL, NULL, 'postmaster@testolino.de'),
(18, 'abuse', '_no_', 'info@testolino.de', 2, 'normal_forward', 0, 'ok', 'no', 0, NULL, NULL, 'abuse@testolino.de'),
(20, 'idee', '$6$rounds=5000$68ubFxW3C9/KOg5q$b1.90Q3vH2BtEwEhLwPFBGuqhPkT9nQ6E6T3u321y7SNpFob4GN5BeXkltw0vQbHEFP4HCAaTy3iQC3XJhgQi/', '_no_', 2, 'normal_mail', 0, 'ok', 'yes', 0, '', NULL, 'idee@testolino.de'),
(21, 'werbung', '$6$rounds=5000$rhftHrkGTfmRAtic$J.uXzrTlWaTeqVlu9GAgXNj3Ry2XqKUc678OpXZlj5mo6vLUtLJ/MbTPYaD22Rvm8T6SN1WcrZ1UbCFUn1BTs0', '_no_', 2, 'normal_mail', 0, 'ok', 'yes', 0, '', NULL, 'werbung@testolino.de'),
(22, 'rechnung', '$6$rounds=5000$BVaBRMt3i8rEH/X/$w64QVS5gf2nOjlr3s..kNE81slUEI5L542sMFsywn3B7rrddB56.VusC/DT/3ZPKuIVOjmX9nAZw7oz9qixUO/', '_no_', 2, 'normal_mail', 0, 'ok', 'yes', 0, '', NULL, 'rechnung@testolino.de'),
(591, 'webmaster', '_no_', 'info@testolino.de', 2, 'subdom_forward', 85, 'ok', 'no', 0, NULL, NULL, 'webmaster@admin.hscp.testolino.de'),
(595, 'webmaster', '_no_', 'info@testolino.de', 2, 'subdom_forward', 89, 'ok', 'no', 0, NULL, NULL, 'webmaster@shop007.testolino.de'),
(598, 'webmaster', '_no_', 'info@testolino.de', 2, 'subdom_forward', 90, 'ok', 'no', 0, NULL, NULL, 'webmaster@dsgvo-av.testolino.de'),
(745, 'webmaster', '_no_', 'info@testolino.de', 2, 'subdom_forward', 92, 'ok', 'no', 0, NULL, NULL, 'webmaster@testolino.testolino.de'),
(240, 'support', '$6$rounds=5000$pjFn/0oiWRe3Z0gt$m1Oj1FlUYVg394hQqDYlWkYvrrst345wbKobhFHPWhCQ.e7Yd9U3gES1gZXh/P743CwnvrOczU4GKNuWGNuFe1', '_no_', 2, 'normal_mail', 0, 'ok', 'yes', 0, '', NULL, 'support@testolino.de'),
(19, 'info', '$6$rounds=5000$LWdnJBh3A8CDLgVr$np/Bb.W1gMX2lnUR/1wMjCB5EsaYhM2ghSY851P33504vPydVfgRHuoralxUVh4oOAz4bC6DihqsmB74Q7vYs1', '_no_', 2, 'normal_mail', 0, 'ok', 'yes', 0, '', 0, 'info@testolino.de');


--
-- Indizes der exportierten Tabellen
--

--
-- Indizes für die Tabelle `mail_users`
--
ALTER TABLE `mail_users`
  ADD PRIMARY KEY (`mail_id`),
  ADD UNIQUE KEY `mail_addr` (`mail_addr`),
  ADD KEY `domain_id` (`domain_id`),
  ADD KEY `status` (`status`),
  ADD KEY `po_active` (`po_active`),
  ADD KEY `sub_id` (`sub_id`);

--
-- AUTO_INCREMENT für exportierte Tabellen
--

--
-- AUTO_INCREMENT für Tabelle `mail_users`
--
ALTER TABLE `mail_users`
  MODIFY `mail_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=862;
COMMIT;
//Edit 3
Ich habe 651 Datensätze mit einer "NULL" in "quota".

Code: Select all

SELECT COUNT(*) FROM `mail_users` WHERE `quota` IS NULL; 

COUNT(*) 	
651
Soll ich die alle in eine "echte" 0 abändern? Oder ist ein Fix des Tools nötig?
User avatar
space2place
Posts: 494
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Migration von i-MSCP zu KeyHelp

Post by space2place »

Mutschas wrote: Thu 14. Sep 2023, 10:18 //Edit 3
Ich habe 651 Datensätze mit einer "NULL" in "quota".

Code: Select all

SELECT COUNT(*) FROM `mail_users` WHERE `quota` IS NULL; 

COUNT(*) 	
651
Soll ich die alle in eine "echte" 0 abändern? Oder ist ein Fix des Tools nötig?
Guten Morgen,
ich habe mir mal einen alten i-MSCP angesehen und dort stehen fast alle auf "NULL"... Wenn es als schnellen Fix hilft die Spalte "quota" auf "0" zu setzen, dann mache das so. Ich schau mir das in Ruhe an und prüfe das.
Obwohl echte Zahlen nur bei richtigen Postfächern bei mir vorhanden sind.. Bei Weiterleitungen steht immer "NULL" drin, was auch logisch ist.
Mutschas
Posts: 27
Joined: Sun 22. Mar 2020, 14:49

Re: Migration von i-MSCP zu KeyHelp

Post by Mutschas »

Guten Tag,

ich könnte die Einträge auf "0" abändern. Ich frage mich jedoch, ob i-MSCP damit Probleme haben könnte - das alte Panel ist ja noch im Betrieb.
Weißt du da genaueres?

Ansonsten kann ich auch auf eine genauere Prüfung deinerseits warten. Kannst du mir einen zeitlichen Horizont nennen?

Danke.
User avatar
space2place
Posts: 494
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Migration von i-MSCP zu KeyHelp

Post by space2place »

Mutschas wrote: Mon 18. Sep 2023, 13:13 Guten Tag,

ich könnte die Einträge auf "0" abändern. Ich frage mich jedoch, ob i-MSCP damit Probleme haben könnte - das alte Panel ist ja noch im Betrieb.
Weißt du da genaueres?

Ansonsten kann ich auch auf eine genauere Prüfung deinerseits warten. Kannst du mir einen zeitlichen Horizont nennen?

Danke.
Da dieser Fehler hier das erste mal aufgetreten ist und ich keinen einzigen Server mit diesem Fehler hatte muss ich erst einmal schauen was an Deiner Datenbank nicht stimmt.. Leider hat man im Forum von i-MSCP nur noch Frickelanleitungen geliefert. Support ist was anderes. Wer das gefrickel übernommen hat, stösst jetzt auf Probleme. Ich würde es bei Dir nach und nach in der Datenbank anpassen. Wenn Du damit eine Migration des Webspaces hinbekommst. Ich kann Dir nicht sagen wann ich dazu komme es zu prüfen. Bin zur Zeit busy.
Seh zu das Du von diesem i-MSCP Dreck wegkommst.. Da sind solche kleinen Hürden egal.
Mutschas
Posts: 27
Joined: Sun 22. Mar 2020, 14:49

Re: Migration von i-MSCP zu KeyHelp

Post by Mutschas »

space2place wrote: Mon 18. Sep 2023, 14:24 Seh zu das Du von diesem i-MSCP Dreck wegkommst..
Das ist der Weg. :D

Nun, ich werde die Einträge mal für einen Kunden entsprechend anpassen und prüfen, ob's klappt.

Danke.
Mutschas
Posts: 27
Joined: Sun 22. Mar 2020, 14:49

Re: Migration von i-MSCP zu KeyHelp

Post by Mutschas »

Guten Abend,

ich wollte nur mitteilen, dass nach Änderung der DB-Einträge von "NULL" auf "0" die Migration des einen Kontos geklappt hat.

Tolles Tool.

Vielen Dank!
Post Reply