Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie aktuellen Server identifizieren?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Zitat von fireweasel Beitrag anzeigen
    Drei Apache[0]-Prozesse, auf denen jeweils PHP als Server-Modul läuft.

    Zumindest würde ich das so aus der Aufgabenstellung und den nachgeschobenen Erläuterungen herauslesen.
    Nehmen wir zusätzlich an, die Server werden NICHT über batch jobs gestartet und werden NICHT in unterschiedlichen USERN gefahren (was das setzen von Umgebungsvariablen möglich machen würde).
    das kann ich da nicht rauslesen...


    SERVER_NAME und SERVER_PORT sind in jeder PHP-Standardkonfiguration, mit Ausnahme des CLI-Modus, gesetzt.
    Wenn Deine annahme oben stimmt..


    Kommentar


    • #17
      Sorry, dass ich mich erst jetzt melde. War ein wenig mit einer Baustelle (Hardware) unter Wasser.

      Danke für die zahlreichen Beiträge.

      Noch eine paar Infos - nur zur Stützung meiner "PHP.INI" Idee/Wunsch:
      Die - nennen wir sie "Server-ID" - soll für ein "Pipelining" verwendet werden und sicher stellen, dass nur der entsprechende Server sich Dinge aus der Pipeline holt, die für ihn gedacht sind.

      Wünschenswert wäre, wenn das Einstellen dieses Namens ausschiesslich über einmalig beim Start zu lesende config's ginge, damit das Ermitteln dieser "Server-ID" nicht jedesmal (z.B. im autoprepend) gelesen bzw. ermittelt werden muss und vor allem, dass - bei weiteren Servern - keine Code-Änderungen vorzunehmen sind.

      Die Frage ist zunächst einmal eher "generisch" (und weniger vom aktuellen Szenario abhängig). Hochgekommen ist die Fragestellung, weil ich das Problem akut habe und ich aber denke, dass es da noch weitere Themen geben wird: Applikationen bringen teilweise heute schon ihren eigenen Webserver mit.

      UND: Mein Bestreben ist, für verschiedene Server möglichst WENIG bis GAR KEINEN Unterschied in den "Anwendungs-Dateien" zu haben. Das resultiert aus folgendem:

      Es wird viele Installationen EINES fertigen Systems geben, die sich bei mehreren ENDANWENDERN (Privatleute) befinden werden und die Installateure im Fall, das etwas nicht (mehr) geht, sehr schnell eingrenzen wollen, WORAN es liegt. So soll z.B. der komplette Code unangetastet bleiben.

      Und, bei vielen Installateuren werden sogar sonst "variable" Größen wie etwa Bezeichner ("Küche", "Wohnen") oder auch die lokalen IP-Nummern von Geräten wie Strom- Wasser- Gaszähler und auch die benutzen Systeme (KNX, Funk, Enocean etc.) geich sein, sodaß sich selbst die Konfigurationsdateien nicht unterscheiden. Ziel ist es, je Kunde nur max. EINE unterschiedliche Datei zu haben (von logs etc, also "temporärem" abgesehen)

      Somit kann der Installateur/Elektriker mit einem simplen Verzeichnisvergleich:

      1.) sehen, ob er bei sich die aktuelle Kundenversion hat
      2.) sehen, ob der Kunde irgendwo "rumgefuschelt" hat

      Dafür gibt's kleine Programme, die auch bestimmte Dateien - z.B. die o.g. temporären - ausblenden, und auch im FTP CLient ist das ansatzweise vorhanden.


      Zur Fragestellung:


      AKTUELL:
      Es laufen auf EINER PHYSIKALISCHEN Maschine OHNE Virtualisierung ein XAMPP (PHP v7.4.6), ein IPS-Server ("unter dessen HAube ein PHP v5.4.4 läuft) und ein weiterer Server ist geplant, der wird wohl nochmal ein anderes System sein, PHP VErsion unklar, entweder 5.6 oder 7.x

      Weiters weden auf demselben System noch Prozesse laufenn, die ihren eigenen kleinen Webserver mitbringen, (s.o.) auch da soll eine gemeinsame Klasselibraray benutzt werden.

      Daher scheidet für meinen ZWeck gethostname() aus. der Virtualisierungsvorschlag auch.

      Virtualisierung wäre evtl. eine Möglichkeit, habe ich aber keine Erfahrung mit und da die Server einiges gemeinsam haben und auch weitere Prozesse "bedienen/ansprechen" und z.B. bei anderen Systemen Dateien in deren Verzeichnis anlegen. Da könnte Virtualisierung dann evtl. Zugriffs-Problematiken nach sich ziehen (??? Frage, wie gesagt, habe keine Erfahrung damit)

      Server_Name wäre wohl etwas.Port & IP sind nicht so recht geeignet (siehe oben: auoprepend/code nötig), weil ich dann, wenn ein weiterer Server hinzu kommt, wieder irgendwo zusätzlich immer etwas am Code schrauben muß --> jspit'S Lösung ist auch nicht das Gelbe vom Ei für meinen Zweck.

      Neben dem Wunsch, diese ID "beeinflussen" und kurz, aber trotzdem sprechend halten zu können (z.B. Elektriker-Kürzel & Kunden-Kürzel) sind auch Applikationsspezifische Dinge problematisch.

      Und deshalb komme ich auf dei PHP.INI ...

      Ein Beispiel: Die "Server_xxx" Einträge sind bei IP-Symcon (in V5.4.4) NICHT gesetzt.


      Ich sehe, dass ich wohl um eine Config-Datei nicht rum kome, die dann dummerweise jedesmal auszuführen ist. Und da XCAHE ja die neueren PHP Versionen nicht unterstützt, ist auch die Array-Speicherung zwischen Sessions bei mir noch eine offene Flanke.

      Und final: der Wert sollte AUCH im CLI-Modus vorhanden sein.
      Ich muss PHP im Kontext Home Automation nutzen (Vorgabe Hersteller und nicht zu ändern). Da kommt es leider ggf. auf ms an. Deshalb manche "seltsame" Frage.

      Kommentar


      • #18
        Ich hab immer noch nicht verstaden was und wie das ganze gedacht ist, werfed aber mal PID in den Raum.

        Kommentar


        • #19
          Das klingt alles nach einem riesen Verwaltungsaufwand. Ich würde mir an deiner Stelle mal Docker anschauen. Hinterher führt man einfach nur noch ein docker-compose up aus und alles läuft.

          Kommentar


          • #20
            Docker im Kontext von Heimautomation ?

            Und, bei vielen Installateuren werden sogar sonst "variable" Größen wie etwa Bezeichner ("Küche", "Wohnen") oder auch die lokalen IP-Nummern von Geräten wie Strom- Wasser- Gaszähler und auch die benutzen Systeme (KNX, Funk, Enocean etc.) geich sein, sodaß sich selbst die Konfigurationsdateien nicht unterscheiden.
            Nutze self-singed certs, mit welchen Du dich auch mithilfe von certauth an anderen Webserverbn im diesem Kontext authentifizieren kannst ?

            Kommentar


            • #21
              Zitat von tomBuilder Beitrag anzeigen
              Docker im Kontext von Heimautomation ?
              Nutze self-singed certs, mit welchen Du dich auch mithilfe von certauth an anderen Webserverbn im diesem Kontext authentifizieren kannst ?
              Warum nicht? Das läuft auf nem Raspberry genau so gut wie auch unter Windows oder Linux.

              Kommentar


              • #22
                Zitat von Zeichen32 Beitrag anzeigen

                Warum nicht? Das läuft auf nem Raspberry genau so gut wie auch unter Windows oder Linux.
                Hab ich jetzt was falsch verstanden ?

                Raspberry -> Hardware (läuft ua mit Linux/windowsrasperian oS/BSD)
                Linux/ Windows -.> Software (OS)

                Raspepberry unterstützt mE keine Hardwarevirtulalisierung, was ein "genauso gut" in merinen Augen massiv relativiert.

                Kommentar


                • #23
                  Docker ist aber auch keine Virtualisierung im klassischen Sinne, sondern ein Kernel Feature. Daher hast du mit Docker auch fast keine Overhead im vergleich zur klassischen Hardware virtualisierung.
                  Ich selber hab ein Kubernetes Cluster mit 3 Raspberrys hier auf meinem Schreibtisch am laufen.

                  Kommentar


                  • #24
                    Zitat von Zeichen32 Beitrag anzeigen
                    Docker ist aber auch keine Virtualisierung im klassischen Sinne, sondern ein Kernel Feature. .
                    Danke für den Gendankenanstoss. Da hast Du durchaus recht, LXC läuft zwar über libvirt, nutzt aber kein KVM.
                    ich dachte immer Docker könnte wie QEMU mit und ohne KVM.

                    Frohe Pfingsten allen.

                    Kommentar


                    • #25
                      Ich finde eher das komplette Konstrukt fragwürdig. Warum sollte man das trennen. Das habe ich ja noch nie gehört. Warum loggen nicht die Applikationen?

                      Kommentar


                      • #26
                        Zitat von Zeichen32 Beitrag anzeigen

                        Warum nicht? Das läuft auf nem Raspberry genau so gut wie auch unter Windows oder Linux.
                        zum thema docker images und produktiv umgebungen:
                        https://www.heise.de/news/Studie-80-...n-4785175.html

                        Kommentar


                        • #27
                          Zitat von tomBuilder Beitrag anzeigen

                          zum thema docker images und produktiv umgebungen:
                          https://www.heise.de/news/Studie-80-...n-4785175.html
                          Das ist halt das selbe wie bei jedem Composer Package, jeder kann eins erstellen. Wenn du die offiziellen Images vom jeweiligen Hersteller nimmst (z.B. direkt von PHP und nicht von Max Mustermann99) oder dir direkt selber die passendes baust, hast du auch entsprechende Sicherheitslücken eher nicht.

                          Auch ist es relativ einfach ein Image auf Standard Probleme zu überprüfen: https://techbeacon.com/security/10-top-open-source-tools-docker-securit

                          Im Artikel steht auch:
                          Certified bedeutet, dass die Images bestimmte Best Practices berücksichtigen und automatisierten Baseline-Tests unterzogen werden. Nur beim Status Official untersucht ein Team von Docker die Images explizit auf Sicherheitsprobleme.
                          Selbe Studien habe ich auch bereits für NPM, Composer etc. gelesen und das Fazit ist immer das selbe, wenn du Fremden Code nutzt, solltest du wenigstens im Ansatz verstehen was er macht. Bei Docker z.B. einfach mal in das Dockerfile schauen.

                          Diesen Kommentar unter dem Artikel find ich auch ganz passend:
                          Zertifikate sind kein Sicherheitsmerkmal, sondern ein Geschäftsmodell.

                          Kommentar


                          • #28
                            Ich wollte das nur zu #19 in kontrast setzen.
                            ohne jegliche grundlagen ist es auch nicht ratsam einfach irgendwo ein docker draufzuauhen ^^

                            Kommentar


                            • #29
                              Zitat von tomBuilder Beitrag anzeigen
                              Ich wollte das nur zu #19 in kontrast setzen.
                              ohne jegliche grundlagen ist es auch nicht ratsam einfach irgendwo ein docker draufzuauhen ^^
                              Vll. hab ich es falsch verstanden, aber geht es nicht darum ein komplexes System von Laien aufsetzen zu lassen?
                              In dem Fall würde man die Images ja entsprechend vorbereiten und die Installateure passen nur noch die Konfig Datei an und führen den Start-Befehl aus.

                              Das klingt für mich deutlich Ratsamer als die ganzen ob genannten Server von einem Leien installieren und absichern zu lassen:
                              ein XAMPP (PHP v7.4.6), ein IPS-Server ("unter dessen HAube ein PHP v5.4.4 läuft) und ein weiterer Server ist geplant, der wird wohl nochmal ein anderes System sein, PHP VErsion unklar, entweder 5.6 oder 7.x

                              Weiters weden auf demselben System noch Prozesse laufenn, die ihren eigenen kleinen Webserver mitbringen, (s.o.) auch da soll eine gemeinsame Klasselibraray benutzt werden

                              Kommentar


                              • #30
                                Ich bin wohl einfach zu kritisch ...
                                Zeichen32

                                Kommentar

                                Lädt...
                                X