Beiträge von Chriz123

    In dem Sinne handelt es sich nicht um Software die Installiert werden muss, sondern lediglich freigeschaltet werden muss die Software ist ja bereits da im Sitejet Paket. Ne Sache von nichtmal zwei Minuten

    Aber wenn es nen Managed Server ist, zahlt man dann nicht dafür das netcup einen solche Aufgaben abnimmt?

    Scheint ja ne SuperUser Einstellung zu sein die der Endkunde nun nicht einstellen kann in der Konstellation

    Man kann die Panel.ini auch via internen Editor bearbeiten, dazu findest du unter den Erweiterungen (extensions) das Modul Panel.ini Editor in der Kategorie Severtools. (https://www.plesk.com/extensions/panel-ini-editor/)

    Aber aus neugierde mal geschaut bei mir findet man die panel.ini unter dem dir angegeben Pfad /usr/local/psa/padmin/conf/panel.ini

    (Debian 12)

    Allerdings benutze ich nicht das WCP sondern hab ne eigene Lizenz und eigenen Server, keine ahnung ob das was ausmacht.

    $ chsh -s /bin/bash

    Password:

    chsh: PAM: Authentication failure

    Dann kommt leider das :\

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

    hab in der passwd file den user von /bin/sh auf bash geändert jetzt hab ich normal es interface bei der kleinen maschine, danke

    huhu schwarmwissen,

    Nachdem ich gerade bei Seite 17 durch bin in Buds "Server administrieren...." Thread und mehrfach erwähnt wurde nen sudo benutzer statt root zu verwednen, wollt ich dem Tipp auch mal nachkommen. Jedoch scheitere ich an dem SSH Key für den Benutzer... Der SSH Key wurde übers SCP hinzugefügt und funktioniert soweit auch für den root User.

    Nun hab ich mir auf meinen beiden Servern jeweils den selben benutzer mit selben passwort angelegt und der sudo gruppe zugewiesen. dann quasi die authorized_keys file von .ssh nach /home/user/.ssh kopiert.

    Aber ich kann mich nicht mit dem neu angelegten User anmelden. Auf einer Maschine werde ich direkt abgelehnt (hier ist Plesk drauf) und die andere Maschine ohne Panelsoftware lässt mich rein hab, hab aber keine rechte oder sowas zumindest sieht das Terminal Fenster so aus :

    Spoiler anzeigen

    Last login: Tue Aug 20 10:30:11 2024 from 62.159.14.27

    $

    normal sollte da doch user@hostname: sein quasi

    chris@ubuntu:~$

    Hab noch eine 1€ maschine von der konkurenz, da kann ich mich einloggen mit dem benutzer chris anstatt root

    Hab es nach dem selben Schema gemacht wie oben, bei der grßen wo Plesk ist kann ich mir vorstellen das ich das irgendwie über Plesk lösen muss, aber warum geht es bei der nano nicht ?

    Kann mir jemand auf die sprünge helfen was ich falsch mache ?

    Ok gut zu wissen das man sich dann das also-notify sparen würde, ich belasse es nun bei explicit. .

    Ganz nach dem Motto never change a running system :D

    So hab das in einem lxc container nochmal nachgestellt, und keine fehler zu mariadb bekommen.

    Wird wohl in meinem 100 versuchen irgendwas durcheinander gekommen sein, hab den schnipsel entfernt

    Danke für den stupser da nochmal nach zu schauen :)

    warum nicht einfach yes?

    Öhm hab beides probiert und beides geht, bin irgendwie auf explicit hängen geblieben.

    warum nicht aus den Ubuntu repos?

    hab immer nen fehler bekommen, weiß jetzt auch nicht mehr welcher. tante google lieferte mir dann nach einigen beiträgen das es mit dieser "repo" keine fehler gibt und so war es dann auch.

    warum aus den Ubuntu repos?

    darauf hab ich keine antwort, habs einfach aus anderen guides so übernommen

    Ich versuche es mal nieder zu kritzeln falls jemand auch powerdns+poweradmin haben möchte als slave DNS für Plesk (Bind) Primary

    Bin zwar selbst noch bischen am tüfteln, aber die Zone werden automatisch in PowerDNS erstellt und aktualisiert. nur wenn man eine Domain löscht, verbleibt es im PowerDNS und bedarf eines manuellen Eingriffs.

    Master:

    Ubuntu 22.04

    Plesk Obsidian Web Admin Edition Version 18.0.63 Update Nr. 1

    In der Plesk Oberfläche gehen wir auf

    Tools & Einstellung -> DNS-Einstellungen -> Transferbeschränkungen-Template

    und fügen hier die IP Adressen unserer DNS Server ein.

    Im nächsten Reiter "Serverweite Einstellungen" fügen wir unter Zusätzliche DNS-Einstellungen folgendes hinzu:

    Nachtrag; man kann auch "notify yes;" anstatt von "notify explicit;" verwenden.

    Bei notify yes werden alle Server angesprochen die im NS RRset stehen außer der, der im SOA Feld ans MNAME steht und die aus der also-notify liste

    bei notify explicit werden nur die Server angesprochen die in der also-notify liste stehen.

    Spoiler anzeigen
    Code
    notify explicit;
    notify-source MasterIP;
    also-notify { NS1-IP; NS2-IP; usw...; };

    Slave:

    Ubuntu 22.04

    Als erstes alles auf aktuellen Stand bringen falls das noch nicht der fall sein sollte:

    Spoiler anzeigen

    apt update && apt upgrade -y

    Dannach laden wir schonmal alles runter was wir später an Abhängigkeiten brauchen:

    Spoiler anzeigen

    apt install nginx python3-dev libsasl2-dev libldap2-dev libssl-dev libxml2-dev libxslt1-dev libxmlsec1-dev libffi-dev pkg-config apt-transport-https virtualenv build-essential libmariadb-dev git python3-flask libpq-dev software-properties-common gnupg2 -y

    Installieren und absichern der MariaDB Instanz:

    Spoiler anzeigen

    apt install mariadb-server mariadb-client -y && mysql_secure_installation

    Dieses könnte ein optionaler Schritt sein, bin mir nicht ganz sich:

    Spoiler anzeigen

    printf "# InnoDB

    innodb_log_file_size = 64M

    default-storage-engine=INNODB

    innodb_buffer_pool_size=1G

    innodb_buffer_pool_instances = 2

    innodb_autoinc_lock_mode = 2

    innodb_doublewrite = 1

    innodb_file_per_table = 1

    innodb_flush_log_at_trx_commit = 2

    innodb_lock_wait_timeout = 60

    innodb_locks_unsafe_for_binlog = 1

    innodb_stats_on_metadata = 0

    transaction-isolation=READ-COMMITTED" >> /etc/mysql/mariadb.conf.d/50-server.cnf

    Dann werden Datenbank und Benutzer für PowerDNS hinzugefügt (User und Datenbank heißen in diesen Beispiel pdns)

    Spoiler anzeigen

    mysql

    create database pdns;

    grant all on pdns.* to pdns@localhost identified by 'password';

    flush privileges;

    exit;

    Nun wird das Resolv System gestoppt und PowerDNS mit MySQL Backend installiert:

    Spoiler anzeigen

    systemctl disable --now systemd-resolved && rm -rf /etc/resolv.conf

    echo "nameserver 8.8.8.8" > /etc/resolv.conf

    apt-get install pdns-server pdns-backend-mysql -y

    Das Datenbank-Schema importieren:

    Spoiler anzeigen

    mysql -u pdns -p pdns < /usr/share/pdns-backend-mysql/schema/schema.mysql.sql

    MariaDB Config erstellen für PDNS: (sollte euer mysql password sonderzeichen enthalten solltet Ihr die Datei besser mit nano oder vi per Hand erstellen)

    Spoiler anzeigen

    printf "# MariaDB Configuration file

    launch+=gmysql

    gmysql-host=127.0.0.1

    gmysql-port=3306

    gmysql-dnssec=yes

    gmysql-dbname=pdns

    gmysql-user=pdns

    gmysql-password=password">/etc/powerdns/pdns.d/pdns.local.gmysql.conf

    Rechte anpassen und PDNS stoppen:

    Spoiler anzeigen

    chmod 640 /etc/powerdns/pdns.d/pdns.local.gmysql.conf

    chown pdns:pdns /etc/powerdns/pdns.d/pdns.local.gmysql.conf

    systemctl stop pdns

    SuperMaster in die Datenbank Eintragen:

    Spoiler anzeigen

    mysql

    insert into pdns.supermasters (ip, nameserver, account) VALUES ('x.x.x.x', 'ns1.example.com', 'admin');

    exit;

    NodeJS + Yarn installieren:

    Spoiler anzeigen

    curl -sL https://deb.nodesource.com/setup_16.x | bash -

    apt-get install nodejs -y

    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -

    echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

    apt update -y

    apt install yarn -y

    PowerDNS Admin Repo herunterladen und abhänigkeiten updaten/installieren:

    Spoiler anzeigen

    git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /var/www/html/pdns

    cd /var/www/html/pdns/

    virtualenv -p python3 flask

    source ./flask/bin/activate

    pip install --upgrade pip

    pip install -r requirements.txt

    deactivate

    Jetzt müssen wir die Datei (/var/www/html/pdns/powerdnsadmin/default_config.py) bearbeiten, dazu fügt Ihr folgendes hinzu oder ändert es ab falls vorhanden:

    Spoiler anzeigen

    BIND_ADDRESS = '0.0.0.0'
    CAPTCHA_ENABLE = True
    CAPTCHA_HEIGHT = 60
    CAPTCHA_LENGTH = 6
    CAPTCHA_SESSION_KEY = 'captcha_image'
    CAPTCHA_WIDTH = 160
    CSRF_COOKIE_HTTPONLY = True
    HSTS_ENABLED = False
    OFFLINE_MODE = False
    PORT = 9191
    SALT = '32charsecret'
    SAML_ASSERTION_ENCRYPTED = True
    SAML_ENABLED = False
    SECRET_KEY = 'another32charsecret'
    SERVER_EXTERNAL_SSL = os.getenv('SERVER_EXTERNAL_SSL', True)
    SESSION_COOKIE_SAMESITE = 'Lax'
    SESSION_TYPE = 'sqlalchemy'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'pdns.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    SQLA_DB_USER = 'pdns'
    SQLA_DB_PASSWORD = 'euerDB Passwort'
    SQLA_DB_HOST = '127.0.0.1'
    SQLA_DB_NAME = 'pdns'
    # SQLALCHEMY_DATABASE_URI = 'mysql://{}:{}@{}/{}'.format(
    # urllib.parse.quote_plus(SQLA_DB_USER),
    # urllib.parse.quote_plus(SQLA_DB_PASSWORD),
    # SQLA_DB_HOST,
    # SQLA_DB_NAME
    # )


    Danach führen wir folgendes aus:

    Spoiler anzeigen

    cd /var/www/html/pdns/

    source ./flask/bin/activate

    export FLASK_APP=powerdnsadmin/__init__.py

    flask db upgrade

    yarn install --pure-lockfile

    flask assets build

    deactivate

    Nginx als reverse Proxy für PowerDNS Admin:

    Spoiler anzeigen
    nano /etc/nginx/conf.d/pdns-admin.conf

    und folgendes einfügen (server_name nicht vergessen zu bearbeiten)

    Spoiler anzeigen

    server {
    listen *:80;
    server_name pdns01.example.com;

    index index.html index.htm index.php;
    root /var/www/html/pdns;
    access_log /var/log/nginx/pdnsadmin_access.log combined;
    error_log /var/log/nginx/pdnsadmin_error.log;

    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_redirect off;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffers 32 4k;
    proxy_buffer_size 8k;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_headers_hash_bucket_size 64;

    location ~ ^/static/ {
    include /etc/nginx/mime.types;
    root /var/www/html/pdns/powerdnsadmin;

    location ~* \.(jpg|jpeg|png|gif)$ {
    expires 365d;
    }

    location ~* ^.+.(css|js)$ {
    expires 7d;
    }
    }

    location / {
    proxy_pass http://unix:/run/pdnsadmin/socket;
    proxy_read_timeout 120;
    proxy_connect_timeout 120;
    proxy_redirect off;
    }

    }

    Rechte anpassen und nginx neustarten:

    Spoiler anzeigen

    chown -R www-data:www-data /var/www/html/pdns

    systemctl restart nginx

    Systemd Dienst für PowerDNS erstellen:

    Spoiler anzeigen

    printf "[Unit]

    Description=PowerDNS-Admin

    Requires=pdnsadmin.socket

    After=network.target

    [Service]

    PIDFile=/run/pdnsadmin/pid

    User=pdns

    Group=pdns

    WorkingDirectory=/var/www/html/pdns

    ExecStart=/var/www/html/pdns/flask/bin/gunicorn --pid /run/pdnsadmin/pid --bind unix:/run/pdnsadmin/socket 'powerdnsadmin:create_app()'

    ExecReload=/bin/kill -s HUP $MAINPID

    ExecStop=/bin/kill -s TERM $MAINPID

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target" >> /etc/systemd/system/pdnsadmin.service

    printf "[Unit]

    Description=PowerDNS-Admin socket

    [Socket]

    ListenStream=/run/pdnsadmin/socket

    [Install]

    WantedBy=sockets.target" >> /etc/systemd/system/pdnsadmin.socket


    echo "d /run/pdnsadmin 0755 pdns pdns -" >> /etc/tmpfiles.d/pdnsadmin.conf

    mkdir /run/pdnsadmin/

    chown -R pdns: /run/pdnsadmin/

    chown -R pdns: /var/www/html/pdns/powerdnsadmin/

    PowerDNS Config bearbeiten: (/etc/powerdns/pdns.conf)

    Spoiler anzeigen

    allow-dnsupdate-from=127.0.0.0/8,::1,MasterIP

    allow-notify-from=0.0.0.0/0,::/0

    api=yes

    api-key=yourapikey

    autosecondary=yes

    disable-axfr=yes

    include-dir=/etc/powerdns/pdns.d

    launch=

    primary=no

    secondary=yes

    security-poll-suffix=

    slave-cycle-interval=20

    version-string=anonymous


    Zu guter letzt Dienste neustarten/laden

    Spoiler anzeigen

    systemctl daemon-reload

    systemctl enable --now pdnsadmin.service pdnsadmin.socket

    systemctl start pdns

    Nun könnt Ihr unter der zuvor angelegten URL euren PowerDNS Admin besuchen und einen Benutzer anlegen. Nach dem einloggen müsst Ihr noch die Api URL und euren API Key eingeben. Nach einpaar momenten könnt Ihr auf das Dashboard gehen und Ihr solltet sehen wir eure Domains/Zonen auftauchen.

    das Transfer-allow setzt Plesk selber wenn man die IP der Nameserver im Transferbeschrönkungen Template einträgt.

    Nur das notify musst ich selber setzen, hab es direkt in die named.conf eingetragen von Plesk

    möchte noch ausprobieren ob es genügt die notify Einträge in den Serverweiten Einstellungen von Plesk zu setzen, dann würde das manuelle bearbeiten der named.conf entfallen.

    Nameserver laufen, wie gesagt die Webseiten werden ja auch aufgelöst. Nur Plesk ist der Meinung das die .de-Domains nicht erreichbar wären.Was wiederum keine automatische erstellung von TLSA Einträgen gestattet. (Zertifikat holen geht aber)

    Einzigen workaround den ich im Plesk Forum fand besteht darin die Abfrage von Plesk abzuschalten indem man was in die Panel.ini schreibt.

    Behebt zwar die Fehlermeldung im Interface aber das eigentlich Problem nicht wirklich.


    Im angefügten Bild sieht man es oben die .de Domain kann angeblich nicht aufgelöst werden unten eine .me Domain

    Beide benutzen das selbe DNS Template

    Im moment sieht es für mich so aus als läge es irgendwie an netcup oder allgemein an den .de Domains

    Hi,

    beim herumspielen und lernen mit Plesk und Nameservern ist mir eine Sache gestern aufgefallen.

    Bei den Netcup Domains (3x .de) sagt Plesk immer das "Die Domain nicht aufgelöst werden kann" unterhalb des DNS Buttons

    Während die Spaceship Domains (1x .me/1x .net) das nicht anmeckern.

    eigene Nameserver laufen auf meiner .net domain während Plesk selber der Primäre DNS ist.

    Hat jemdand ne Idee woran das liegen könnte ?

    Bin zwar nur ein laie aber so wirklich Sinn macht das für mich nicht.

    Also nur Plesk ist der Meinung das es nicht aufgelöst werden kann. Webseiten sind besuchbar etc...

    Das zieht auch nach sich das man DNSSEC bzw die TLSA Einträge selber setzen muss, SSL it blendet einem dann nicht die DANE Support Checkbox ein.