Entwicklungsstand #1

Open
opened 2023-09-13 16:20:56 +02:00 by xantian · 31 comments

Ich grüße Dich,

wollte mich mal informieren wie der Stand ist.

Du schreibst in der Anleitung man solle diesen Code "nicht benutzen" und dann schreibst man soll den neusten benutzen. Was ist richtiug und wo erhalte ich den neusten Code?

Schöne Grüße
xantian

Ich grüße Dich, wollte mich mal informieren wie der Stand ist. Du schreibst in der Anleitung man solle diesen Code "nicht benutzen" und dann schreibst man soll den neusten benutzen. Was ist richtiug und wo erhalte ich den neusten Code? Schöne Grüße xantian
Owner

Hi xantian, da ich lange nichts mehr an dem Code gemacht habe, kann ich Dir ad hoc gar nicht sagen, wie der Stand ist.
Ich nutze es auf drei Servern und es läuft. Ich kann aber am WE mal drauf gucken und die Doku auf Stand bringen.

mfg,
Micha

Hi xantian, da ich lange nichts mehr an dem Code gemacht habe, kann ich Dir ad hoc gar nicht sagen, wie der Stand ist. Ich nutze es auf drei Servern und es läuft. Ich kann aber am WE mal drauf gucken und die Doku auf Stand bringen. mfg, Micha
Author

Ich danke dir :)

dann setze ich es auch bei mir auf und teste es mal :)

sollte es nicht funktionieren warte ich bis WE und setze die zweite Kiste neu auf.

Aber ich verstehe es schon richtig, auf beiden Server muss KeyHelp drauf sein. Wie schaut es aus vom Slave auf Master zu syncen? Falls ich da hosting einrichte.

Schöne Grüße
Vladimir

Ich danke dir :) dann setze ich es auch bei mir auf und teste es mal :) sollte es nicht funktionieren warte ich bis WE und setze die zweite Kiste neu auf. Aber ich verstehe es schon richtig, auf beiden Server muss KeyHelp drauf sein. Wie schaut es aus vom Slave auf Master zu syncen? Falls ich da hosting einrichte. Schöne Grüße Vladimir
Owner

Ursprünglich hatte ich es so gemacht, dass es sowohl als nacktem Debian als auch auf KeyHelp läuft, irgendwann habe ich dann aber einfach auf die beiden Slave NS auch KeyHelp installiert, um es einheitlich zu haben.
Jede Instanz muss die jeweiligen Slaves kennen, das kann per CLI konfiguriert werden.

Ursprünglich hatte ich es so gemacht, dass es sowohl als nacktem Debian als auch auf KeyHelp läuft, irgendwann habe ich dann aber einfach auf die beiden Slave NS auch KeyHelp installiert, um es einheitlich zu haben. Jede Instanz muss die jeweiligen Slaves kennen, das kann per CLI konfiguriert werden.
Author

Top. Danke dir! Dann probiere ich es mal :)

Top. Danke dir! Dann probiere ich es mal :)
Author

Guten Morgen,

etwas läuft da schief.

Trotz der DB-Einträge etc kommt diese Meldung

Guten Morgen, etwas läuft da schief. Trotz der DB-Einträge etc kommt diese Meldung
Owner

Probier mal
./bin/console check:permissions
Alle Befehle sind hier:
image

Probier mal ./bin/console check:permissions Alle Befehle sind hier: ![image](/attachments/49240fda-1437-45fd-a5be-c276c0041680)
614 KiB
Author

Das gleiche

´´´´´
./bin/console check:permissions
You need to setup the bindAPI first.
´´´´´

Das gleiche ´´´´´ ./bin/console check:permissions You need to setup the bindAPI first. ´´´´´
Owner

Ich checke heute Abend mal den aktuellen Stand auf einem Testsystem aus, und schau nach, wo es klemmt.

Ich checke heute Abend mal den aktuellen Stand auf einem Testsystem aus, und schau nach, wo es klemmt.
Owner

Hi, ein schneller fix, besser im Laufe des WE:

In /src/Controller/CliController.php in Zeile 269 das true in flase ändern:

        if (!$this->domainController->checkPermissions(disableVerbose: false)) {

Edit: Nicht Head auschecken, war ein Fehler meinerseits, ich muss mir erst mal wieder einen Überblick verschaffen.

Hi, ein schneller fix, besser im Laufe des WE: In /src/Controller/CliController.php in Zeile 269 das true in flase ändern: ``` if (!$this->domainController->checkPermissions(disableVerbose: false)) { ``` Edit: Nicht Head auschecken, war ein Fehler meinerseits, ich muss mir erst mal wieder einen Überblick verschaffen.
Author

Hat nichts gebracht.

Kein Stress. Ich warte (Analysiere mal nebenbei selbst)

Hat nichts gebracht. Kein Stress. Ich warte (Analysiere mal nebenbei selbst)
Owner

Hmm, es sollte auf jeden Fall zu sehen sein, wo es klemmt.

image

Aber ich werde das ganze in Ruhe überarbeiten, Du bist der erste, der sich seit über einem Jahr meldet, ich habe es ewig nicht mehr angefasst.

Hmm, es sollte auf jeden Fall zu sehen sein, wo es klemmt. ![image](/attachments/52a37460-a3ad-44fc-91be-45b537766c59) Aber ich werde das ganze in Ruhe überarbeiten, Du bist der erste, der sich seit über einem Jahr meldet, ich habe es ewig nicht mehr angefasst.
335 KiB
Owner

Im aktuellen HEAD sollte er nun bei dem Aufruf

./bin/console --verbose check:permissions

gesprächiger sein. Ich überarbeite es aber weiter.

Im aktuellen HEAD sollte er nun bei dem Aufruf ``` ./bin/console --verbose check:permissions ``` gesprächiger sein. Ich überarbeite es aber weiter.
Author

Hallo Micha,

'''

  • Installing doctrine/annotations (2.0.1): Extracting archive
  • Installing zircote/swagger-php (4.7.14): Extracting archive
    Generating optimized autoload files
    Class LucidFrameTest\Console\ConsoleTable\ConsoleTableTest located in ./vendor/phplucidframe/console-table/tests/LucidFrame/Console/ConsoleTableTest.php does not comply with psr-0 autoloading standard. Skipping.
    38 packages you are using are looking for funding.
    Use the composer fund command to find out more!
    No security vulnerability advisories found
    it@vps001 ..it/www/ns01.....it.de/bindAPI (git)-[master] % ./bin/console --verbose check:permissions
    Required runtime components are missing. Try running "composer install".
    '''

Liegt es an Composer-Version? Mache ich was falsch?

Hallo Micha, ''' - Installing doctrine/annotations (2.0.1): Extracting archive - Installing zircote/swagger-php (4.7.14): Extracting archive Generating optimized autoload files Class LucidFrameTest\Console\ConsoleTable\ConsoleTableTest located in ./vendor/phplucidframe/console-table/tests/LucidFrame/Console/ConsoleTableTest.php does not comply with psr-0 autoloading standard. Skipping. 38 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found it@vps001 ..it/www/ns01.....it.de/bindAPI (git)-[master] % ./bin/console --verbose check:permissions Required runtime components are missing. Try running "composer install". ''' Liegt es an Composer-Version? Mache ich was falsch?
Owner

I'll commit a newer version by the weekend. Currently busy at work.

I'll commit a newer version by the weekend. Currently busy at work.
Author

Vielen Dank für dein Support und entschuldige den Trouble 🥇

Vielen Dank für dein Support und entschuldige den Trouble 🥇
Owner

Alles gut, ich freue mich ja, dass es jemand (außer mir nutzen will). aber ich habe im Moment ein Ticket an der Backe was ich echt einspannt (und meinem Chef am Herzen liegt), und dieses WE ist wieder F1.
Ich habe aber wohl in der 1 Oktoberwoche Urlaub, dann ist mehr Luft.

Alles gut, ich freue mich ja, dass es jemand (außer mir nutzen will). aber ich habe im Moment ein Ticket an der Backe was ich echt einspannt (und meinem Chef am Herzen liegt), und dieses WE ist wieder F1. Ich habe aber wohl in der 1 Oktoberwoche Urlaub, dann ist mehr Luft.
Author

Ich bin selbst ut systems engineer, alles gut. Ich kann halt Scripten aber nicht programmieren 🤪

Ich weiß wie unser Leben von innen aussieht 👍

Ich bin selbst ut systems engineer, alles gut. Ich kann halt Scripten aber nicht programmieren 🤪 Ich weiß wie unser Leben von innen aussieht 👍
Author

Moin. Letzter push +

`-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/

-- Host: localhost
-- Erstellungszeit: 24. Sep 2023 um 10:00
-- Server-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1
-- PHP-Version: 8.1.2-1ubuntu2.14

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

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/
!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/
!40101 SET NAMES utf8mb4 */;

--
-- Datenbank: nex2goit_db1


--
-- Tabellenstruktur für Tabelle panels

DROP TABLE IF EXISTS panels;
CREATE TABLE panels (
id int(11) NOT NULL,
name varchar(255) NOT NULL,
a varbinary(255) DEFAULT NULL,
aaaa varbinary(255) DEFAULT NULL,
apikey varbinary(255) DEFAULT NULL,
apikey_prefix varbinary(255) DEFAULT NULL,
self varbinary(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indizes der exportierten Tabellen

--
-- Indizes für die Tabelle panels

ALTER TABLE panels
ADD PRIMARY KEY (id);

--
-- AUTO_INCREMENT für exportierte Tabellen

--
-- AUTO_INCREMENT für Tabelle panels

ALTER TABLE panels
MODIFY id int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/
!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/
!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
`

Das fehlt ;)

Moin. Letzter push + `-- phpMyAdmin SQL Dump -- version 5.2.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Erstellungszeit: 24. Sep 2023 um 10:00 -- Server-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1 -- PHP-Version: 8.1.2-1ubuntu2.14 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Datenbank: `nex2goit_db1` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `panels` -- DROP TABLE IF EXISTS `panels`; CREATE TABLE `panels` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `a` varbinary(255) DEFAULT NULL, `aaaa` varbinary(255) DEFAULT NULL, `apikey` varbinary(255) DEFAULT NULL, `apikey_prefix` varbinary(255) DEFAULT NULL, `self` varbinary(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Indizes der exportierten Tabellen -- -- -- Indizes für die Tabelle `panels` -- ALTER TABLE `panels` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT für exportierte Tabellen -- -- -- AUTO_INCREMENT für Tabelle `panels` -- ALTER TABLE `panels` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; ` Das fehlt ;)
Author

Zudem muss in der config.json encryptionkey angepasst werden.

sodium_crypto_secretbox(): Argument #3 ($key) must be SODIUM_CRYPTO_SECRETBOX_KEYBYTES bytes long
sodium_hex2bin(): Argument #1 ($string) must be a valid hexadecimal string

Zudem muss in der config.json encryptionkey angepasst werden. sodium_crypto_secretbox(): Argument #3 ($key) must be SODIUM_CRYPTO_SECRETBOX_KEYBYTES bytes long sodium_hex2bin(): Argument #1 ($string) must be a valid hexadecimal string
Author

-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/

-- Host: localhost
-- Erstellungszeit: 24. Sep 2023 um 09:55
-- Server-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1
-- PHP-Version: 8.1.2-1ubuntu2.14

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

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/
!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/
!40101 SET NAMES utf8mb4 */;

--
-- Datenbank: nex2goit_db1


--
-- Tabellenstruktur für Tabelle nameservers

DROP TABLE IF EXISTS nameservers;
CREATE TABLE IF NOT EXISTS nameservers (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
a varbinary(255) DEFAULT NULL,
aaaa varbinary(255) DEFAULT NULL,
apikey varbinary(255) DEFAULT NULL,
apikey_prefix varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/
!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/
!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

-- phpMyAdmin SQL Dump -- version 5.2.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Erstellungszeit: 24. Sep 2023 um 09:55 -- Server-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1 -- PHP-Version: 8.1.2-1ubuntu2.14 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Datenbank: `nex2goit_db1` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `nameservers` -- DROP TABLE IF EXISTS `nameservers`; CREATE TABLE IF NOT EXISTS `nameservers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `a` varbinary(255) DEFAULT NULL, `aaaa` varbinary(255) DEFAULT NULL, `apikey` varbinary(255) DEFAULT NULL, `apikey_prefix` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Author

Danach kommt:

./bin/console --verbose check:panels fix=yes
You need to setup the bindAPI first.
No panel marked as this server.
Use panels:update self=1 to mark this panel.
check all …
KeyHelp-Panel: vps......de KeyHelp version: 23.1.1 (5.217 seconds)
JSON property "is_email_sending_only" does not exist in object of type App\Entity\KeyHelp\KeyHelpDomain

Danach kommt: ./bin/console --verbose check:panels fix=yes You need to setup the bindAPI first. No panel marked as this server. Use panels:update <ID> self=1 to mark this panel. check all … KeyHelp-Panel: vps......de KeyHelp version: 23.1.1 (5.217 seconds) JSON property "is_email_sending_only" does not exist in object of type App\Entity\KeyHelp\KeyHelpDomain
Owner

OK ich muss also das Setup der Initialen DB aktualisieren, und die Config kennt den Crypto-Key noch nicht.
Passiert, wenn man der einzige Nutzer ist und Änderungen on the fly macht, und vergisst, den Code anzupassen.

OK ich muss also das Setup der Initialen DB aktualisieren, und die Config kennt den Crypto-Key noch nicht. Passiert, wenn man der einzige Nutzer ist und Änderungen on the fly macht, und vergisst, den Code anzupassen.
Author

Ich helfe dir da sehr gerne weiter.
Momentan habe ich auch nicht viel Zeit, da ich Projekte habe und noch nebenbei studiere und bald wieder Prüfungen habe.

Übrigens, egal was ich schreibe, ich schreibe es ohne Hintergedanken und vor allem ohne Vorwürfe.
Ich kenne deine Situation.

Was ich später vorhabe, eine activ: passiv Cluster aufzubauen. ggf. mit einem Loadbalancer wie z.B. NGNIX oder manueller Switch durch Anpassung der Zonen .... alles noch Zukunftsmusik 🤪

Ich helfe dir da sehr gerne weiter. Momentan habe ich auch nicht viel Zeit, da ich Projekte habe und noch nebenbei studiere und bald wieder Prüfungen habe. Übrigens, egal was ich schreibe, ich schreibe es ohne Hintergedanken und vor allem ohne Vorwürfe. Ich kenne deine Situation. Was ich später vorhabe, eine activ: passiv Cluster aufzubauen. ggf. mit einem Loadbalancer wie z.B. NGNIX oder manueller Switch durch Anpassung der Zonen .... alles noch Zukunftsmusik 🤪
Owner

Bin irgendwie zu nichts gekommen im Urlaub, heute endlich mal Zeit gehabt.

image

Da checkt er das Setup, und mit check:setup sollte er die Permissions automatisch anpassen, das war schlicht noch nicht fertig, ich habe sie am Anfang manuell geändert, und nur geprüft, ob sie passen, dachte mir aber, das via check:setup machen zu lassen ist bequemer … und dann habe ich das Projekt aus den Augen verloren. Morgen werde ich die fehlen Checks implementieren, dann sehe ich weiter.

Bin irgendwie zu nichts gekommen im Urlaub, heute endlich mal Zeit gehabt. ![image](/attachments/4be80b24-02bf-48ab-acab-6f13cb850144) Da checkt er das Setup, und mit check:setup sollte er die Permissions automatisch anpassen, das war schlicht noch nicht fertig, ich habe sie am Anfang manuell geändert, und nur geprüft, ob sie passen, dachte mir aber, das via check:setup machen zu lassen ist bequemer … und dann habe ich das Projekt aus den Augen verloren. Morgen werde ich die fehlen Checks implementieren, dann sehe ich weiter.
415 KiB
Author

Hi,

ich bin auch zu nichts gekommen.

Es kam jetzt eine neue Version raus, die 23.2. Da sind einige Tabellen in der MySQL-DB anders. Ich weiß nicht ob das für dich relevant wäre.

Ich bin leider auch etwas vergraben. (Studium neben dem Beruf). Habe bald Prüfungen.

Hi, ich bin auch zu nichts gekommen. Es kam jetzt eine neue Version raus, die 23.2. Da sind einige Tabellen in der MySQL-DB anders. Ich weiß nicht ob das für dich relevant wäre. Ich bin leider auch etwas vergraben. (Studium neben dem Beruf). Habe bald Prüfungen.
Owner

Hi, relevant wären für mich nur Änderungen an der API, ich arbeite nicht direkt mit der Datenbank von KH.

Hi, relevant wären für mich nur Änderungen an der API, ich arbeite nicht direkt mit der Datenbank von KH.
Author

Ich Frage im Forum nach.
Ich denke ja, aber neue Doku ist noch nicht Online
Ich denke es ist erst prerelease für die neue Version.

Ich Frage im Forum nach. Ich denke ja, aber neue Doku ist noch nicht Online Ich denke es ist erst prerelease für die neue Version.
Author
API Changes
The endpoint '[GET] /server' (property: 'meta') now shows whether the server is running KeyHelp Pro
The endpoint '[GET] /server' (property: 'ports') now shows the protocol (tcp/udp)
The endpoint '[GET] /server' (property: 'components') now shows Redis and Rspamd (if installed) and omits Amavis and Spamassasin (if not installed)
The endpoint '[GET/PUT/POST] /domains' now allow querying and setting a domain's DKIM selector
Improved error messages for endpoint '[POST] /ftp-users', instead of informing about missing uid/gid, now the reason for this is better explained and what to do
Improved API documentation, added documentation of sorting parameters, corrected spelling and punctuation errors
Fixed the endpoint '[POST] /ftp-users' where the error message 'You are not allowed to create new directories at this level of the directory hierarchy.' was issued too early
Increase API version to 2.7
``` API Changes The endpoint '[GET] /server' (property: 'meta') now shows whether the server is running KeyHelp Pro The endpoint '[GET] /server' (property: 'ports') now shows the protocol (tcp/udp) The endpoint '[GET] /server' (property: 'components') now shows Redis and Rspamd (if installed) and omits Amavis and Spamassasin (if not installed) The endpoint '[GET/PUT/POST] /domains' now allow querying and setting a domain's DKIM selector Improved error messages for endpoint '[POST] /ftp-users', instead of informing about missing uid/gid, now the reason for this is better explained and what to do Improved API documentation, added documentation of sorting parameters, corrected spelling and punctuation errors Fixed the endpoint '[POST] /ftp-users' where the error message 'You are not allowed to create new directories at this level of the directory hierarchy.' was issued too early Increase API version to 2.7 ```
Author

Hey Michael,

dank devs von KeyHelp gibt es einen Diff der API

https://www.diffchecker.com/7i0vmOUB/

Hey Michael, dank devs von KeyHelp gibt es einen Diff der API https://www.diffchecker.com/7i0vmOUB/
Owner

Danke :-)

Danke :-)
Owner

Endlich wieder etwas Zeit:
image

Das ist der current master, ab Montag habe ich Urlaub, eine Woche, und derzeit hat das bei mir höchste Prio.

Endlich wieder etwas Zeit: ![image](/attachments/4115709c-ff92-4cad-86c1-3f3527335d86) Das ist der current master, ab Montag habe ich Urlaub, eine Woche, und derzeit hat das bei mir höchste Prio.
294 KiB
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: tracer/bindAPI#1
No description provided.