Beiträge von H6G

    Das ist aber schon sehr interessant, hätte ich nicht gedacht dass so ein Webserver Theoretisch "max." 8 Besucher simultan beschäftigen kann.

    Eigentlich sind es hunderte von parallelen Besuchern. Du weißt nämlich nicht, wie viel RAM dir über die Garantie hinaus zur Verfügung stehen und ich denke kaum, dass eine simple PHP Applikation in die 512 MiB Beschränkung reinlaufen wird.

    Ist das immer eine feste Formel oder gibt der WebserverProvider die Formel vor oder ist das wieder ein wenig komplizierter?

    Nö. Viele Hoster geben keine RAM Garantie, hier hat man nur ein Memory Limit je Prozess.

    Ob es allerdings genügend RAM in der Hostmaschine gibt, steht dabei nicht zur Debatte.

    Es sind ja nicht nur PHP Prozesse, die RAM brauchen. Genauso braucht ja auch der Filesystem Cache RAM und der Webserver (nginx / Apache) ebenfalls.

    Deswegen ist so eine Rechnung anzustellen kompletter Blödsinn. Die RAM Garantie gilt nämlich nicht nur für die PHP Prozesse.

    Wie sich diese Garantie dann auch noch zwischen Webserver, Mailserver und DB Server aufteilt, kann ich nicht genau sagen. Die Garantie gilt je Webhosting Account.

    es heißt wenn schon 'personenbezogene Daten'

    Es gibt sowohl personenbeziehbare, als auch personenbezogene Daten - beides sind unterschiedliche Termini.

    Aber: Wie sieht es jetzt mit anderen Libraries wie libgphoto2 aus? Auf den ersten Blick sind da schonmal sehr viel mehr einzelne Dateien — wie binde ich sowas ein?

    Generell bindest du eine Hauptheader Datei ein, die ihrerseits wieder andere Header einbindet. Welche das genau ist, entnimmst du der Dokumentation.

    Zudem gibst du für den Compiler noch den Ort der Headerdateien an (gcc -I/usr/include/libfoo) und für den Linker die Lib selbst (gcc -Llibfoo) - aus dem Gedächtnis.

    Für die richtigen Flags gibt es zudem pkgconf.

    I apologize but I am not familiar with IPv6 addresses: why I have more than one IPv6 address?

    Because there are so many of them some providers give you multiple addresses.

    So if I pick one address of the indicated subnet, I suppose have to add this address in /etc/hosts: is that the only configuration I am required to do on my server side?

    No you put it in your ip config. What Linux distribution do you have?

    On Debian based systems you put it under /etc/network/interfaces

    You can read it up here: https://wiki.debian.org/NetworkConfiguration

    I wonder if I can omit my IPv6 address in my DNS zone.

    It is your decision. Do you want people on the internet be able to connect to your server and services via IPv6 or not.

    Geh, deren Software kommt mit 128 Bit einfach nicht klar. 64 Bit würden eventuell noch klappen, aber um auf Nummer sicher zu gehen, bleiben sie halt bei 32 Bit.

    Die hatten noch ein paar Windows 98 Lizenzen herum liegen?

    Deswegen haben die keinen IPv6 Stack...

    analoges sehe ich beim Mailserver, kaum Versuche via IPv6 was abladen zu wollen, fast durchgehend per IPv4;

    die Verbreitung von IPv6 ist halt momentan noch vernachlässigbar;

    Bei mir sind 10% des gesamten Mailtraffics IPv6.


    und von Leuten, welche nur einen Zugang mittels IPv6 haben hört man auch kaum was ...

    Geheiligt werde dein CG-NAT und DS-Lite :cursing:

    ich mein wenn wirklich ein Interesse daran besteht, was ich aber irgendwie bezweifle, dann könnten ja die gewissen Mailhoster

    dies auf unorthodoxe Weise pushen:

    Siehe Microsoft. Aus Spamschutzgründen kann man bei denen nur per IPv4 abkippen.

    Analog zu "ganze /22er Netze sperren" müssten sie ja dann um die /32er bei IPv6 sperren - ist denen wahrscheinlich zu aufwändig, oder auf Grund der Masse könnte sich ja so ein pöhser Spammer einfach von einer anderen IPv6 senden.

    Ist aber bei United Internet wohl auch nicht anders.

    #Neuland

    I will not use my server as a mail server, so would you suggest me to delete also the mx record?

    When you had those records earlier, you probably managed your E-Mails thru a Netcup webhosting plan, didn't you?

    If you like to still receive and send mails via webhosting you need to keep the MX record intact. Otherwise you may delete them.


    One last question: the AAAA record(s) should have as host *, @ or both?

    @ for the main domain. If you want any subdomain to be routed, except those that you explicitly list, you can add an AAAA record with * as the domain.

    So you can add both if you want example.com and whatever.example.com be routed to your server.

    Ist es eigentlich normal, dass diese ganzen Crawler (, Bots, usw.), welche Webserver abklopfen, nahezu nur über IPv4 kommen?

    Genau so wie viele ISPs und Admins ihre IPv6 Config vernachlässigen, habe auch die Admins von gekaperten Servern nicht viel Wert auf IPv6 gelegt.

    Das spiegelt sich natürlich auch in dem Botverhalten wieder.

    Du kannst mir aber die URLs per PN schicken, und ich kann dir sagen, ob sie per IPv6 erreichbar sind.

    *duckundwegrenn*


    (Ich habe mich für den kostenlosen Python-Kurs von vorhin trotzdem mal angemeldet.)

    Ist ja nicht so, dass ich kein Python benutze. Einmal brauchte ich halt eine Skriptsprache, die jeder hatte, und mir war das Unterfangen in Bash zu blöd (INI Files parsen etc.). Wollte aber auch keine Executables herausgeben. Also Python 3.

    Das Ergebnis war dann das hier: https://github.com/pzillmann/wireguard-dynamic-routing

    Beim Schreiben fragte ich mich schon die ganze Zeit: was machst du denn eigentlich hier?

    Alleine in der Standardbibliothek gibt es 20 Möglichkeiten einen Fork/Exec durchzuführen. Warum?

    Python auf jeder Seite (was ja auch klar ist, da Python auf den Pis ja anscheinend ziemlich verbreitet ist). Daher dachte ich, dass es vielleicht am einfachsten wäre, wenn ich mir die Sprache anschaue.

    Python für den Pi ist das GoTo für Anfänger - vorallem wenn der Pi für Anfänger vermarktet wird.

    Dabei entsteht natürlich immer der Eindruck, man könne das nur mit Linux und Python machen - und das ist falsch.

    Man kann in jeder Sprache, die für ARMhf und ARM7 kompilierbar oder interpretierbar ist auf dem Pi arbeiten.

    Man braucht nicht mal Linux, sondern kann seine Programme direkt als Kernel auf dem Prozessor ausführen (also richtig embedded).

    Letztenendes musst du entscheiden, welche Sprache du auf dem Pi benutzen willst.

    Für mich persönlich lehne ich nur Python ab, weil ich finde, dass es eine grausame Sprache ist. Insofern sehe ich mich da befangen.

    Linux hat ein Filemapping für GPIOs unter /sys/class/gpio; damit kannst du GPIO von der Shell oder in Shellskripten ansprechen.

    (Da gibt es bestimmt auch sowas wie inotify für diese Files.)

    Ebenfalls für die Shell und C/C++ gibt es WiringPi [1, 2]. Damit ist es möglich per Executable oder als C Library mit den GPIOs zu arbeiten.

    Zusätzlich gibt es noch linux/gpio.h, aber ich weiß nicht, ob dort alle Calls exportiert sind. Musst du mal gucken, ob du das in den Linux Header Files oder unter /usr/include/ irgendwo findest.

    Was richtig wehtut und zum Angeben genutzt werden kann: direkter Registerzugriff. GPIO Pins auf dem Pi sind ARM Peripherals und per Register ansprechbar.

    Bspw. für den allerersten Pi (BCM 2835) - hier gibt es dann das entsprechende Handbuch dazu. Die Registeradressen musst du umrechnen von physikalischen Busadressen auf ARM Peripheral Adressen. Beim Pi starten die Peripherals bei 0x20000000UL (UL für unsigned long) - die GPIOs starten bei 0x20200000UL

    Ein Register ist dann unsigned int lang, sodass du dir ein Array aus Registern basteln kannst.

    C
    volatile unsigned int* gpio = (unsigned int*) 0x20200000UL;
    gpio[7] = (1 << 16); //Pull high
    gpio[10] = (1 << 16); //Pull low

    Ob das der Linux Kernel allerdings zulässt, weiß ich nicht - habe das bisher nur ohne Kernel gemacht.

    Hier wird Pin 16 geschalten, ab Pin 32 geht es in das nächste Register (7 bzw. 10 wird dann inkrementiert).

    Vorher den Pin Mode noch entsprechend setzen. Beim BCM 2835 gehen da solche Hacks auf:

    C
    unsigned char freg = pin / 10;
    unsigned char regpos = (pin%10) * 3;
    gpio[freg] = (mode << regpos);
    
    //Input Mode = 0 || Output Mode = 1

    =============

    Was ImageMagick angeht dachte ich es kommt für dich in Frage, weil du ja nach einem Binary gefragt hast, was dir deine Collage erstellt und per Shell aufrufbar ist. Layers kann wohl auch Bilder drehen und ich denke, dass Layers dir da was nettes erzeugen kann.

    Edit: Links vergessen.

    1: https://github.com/WiringPi/WiringPi

    2: http://wiringpi.com/reference/