modified Shop: zusätzliche Variablen anzeigen

    In einem modified Webshop soll die Möglichkeit eingerichtet werden eine zusätzliche Variable für einen Kategorie einzugeben und im Frontendtemplate zu verwenden. Basis für die Vorgehensweise war dieses etwas veraltete Dokument und ein gutes Stück Hilfe von dem Forenmitglied awids.

    Die hier vorgestellte Vorgehensweise müsste updatesicher sein.

    Zuerst müssen wir die Datenbank darauf vorbereiten ein neues Feld in den Kategorie Definitionen zu erhalten

    mysql -u root -p
    use shop;
    ALTER TABLE `categories`  ADD `categories_youtube` VARCHAR( 30 ) NOT NULL;
    

    Dann brauchen wir die notwendigen Anpassungen für den Adminbereich

    1. Ein Feld in das wir die Werte eingeben könnten

      vi admin/includes/extra/modules/new_category/my-categories-youtube.php
       <table class="tableInput border0">
       <tr>
       <td><span class="main">youtubeid</span></td>
       <td><span class="main"><?php echo  xtc_draw_input_field('categories_youtube', $cInfo->categories_youtube); ?></span></td>
       </tr>
       </table>
      
    2. Die Definition das dieses Feld auch abgespeichert und wieder “ausgegraben wird “

      vi admin/includes/extra/modules/add_db_fields/my-categories-youtube.php

    3. Die Variable soll aus der Datenbank geholt werden

    Jetzt müssen wir dafür sorgen das wir diese Daten auch in einem Frontendtemplate verwenden können

      vi includes/extra/define_add_select/my-categories-youtube.php
         <?php $add_select_categories[] = 'c.categories_youtube'; ?>
    
    1. Dieser Wert wird einer Smarty Variable zugewiesen

      vi includes/extra/modules/categories_listing/categories_smarty/my-categorie-youtube.php assign('CATEGORIES_YOUTUBE', $category['categories_youtube']); ?>

    Jetzt kann man die Variable in einem product_listing verwenden und damit die gewünschten Dinge machen.

    Ob es klappt kann man dann in der Datenbank nachschauen

      select categories_id,categories_youtube from categories where categories_youtube != ' ';
      +---------------+--------------------+
      | categories_id | categories_youtube |
      +---------------+--------------------+
      |           27  | XRXXXXXXvF4        |
      |           31  | EXXXXXXXmDY        |
      +---------------+--------------------+
      2 rows in set (0.00 sec)
    
    18.2.19
    Weitere Beiträge zu: modified

    pfSense: Sicherheitsrelevante Updates einspielen

    Heute morgen erreichte mich die Nachricht das es ein kritisches Update für pfsense gibt. Da es auch einen Zugriff auf die Konsole erfordert hier meine Dokumentation der Schritte als zukünftige Checkliste.

    1. Prüfen der Dokumentation für den Reinstall von USB Stick wenn etwas schief geht. Da ich eine SG-2440 habe ist das etwas genauer geprüft da der Zugriff nur über eine serielle Konsole geht.

    2. Download / Verifikation der aktuellen aktuellen Firmware für mein Gerät von hier

    3. Backup der Firewall Konfiguration verschlüsselt mit einem starken Schlüssel von einem Passwortmanager.

    1. Update über die Oberfläche


    Das ganze geht recht schnell und dann kommt der Reboot.


    Der Reboot hat auf meinem Gerät ungefähr 3 Minuten gedauert. Danach konnte ich mich wieder anmelden. Im Blogpost wurden noch Schritte beschrieben die man über die Konsole ausführen sollte. Es war mir nicht ganz klar ob diese Schritte notwendig waren oder ob die Änderungen schon im letzten Update enthalten waren.

    If you are running a version of pfSense prior to 2.4.4-p2 simply update to that version to benefit from these changes.

    Den Zugriff auf die Firewall via SSH muss man gegebenenfalls erst freischalten. Ich empfehle immer einen Login nur mit SSH Key und einen nicht Standardport. Die meisten werden das nicht haben und sich mit dem Kennwort über Port 25 anmelden können.

    Dann mit Putty oder über einen Terminal anmelden und den geforderten Befehl angeben. Aber die Pakete waren offensichtlich schon aktuellen

    16.2.19
    Weitere Beiträge zu: pfsense

    Gefängniszellen brauchen keine Rauchmelder

    Ich habe mich schon häufiger gefragt wie es immer wieder zu den Toten durch Brände in den Gefängnissen kommen kann. Wir haben doch inzwischen eine Rauchmelderpflicht.

    Eine FragdenStaat Anfrage brachte mir jetzt eine Erklärung.

    Nach Landesbauordnung NRW sind für Schlafräume Brandmelder verpflichtend. In Justizvollzugsanstalten scheinen Brandmelder in den Schlafräumen der Häftlinge nicht vorgeschrieben zu sein.

    Die Rauchmelderpflicht gibt es nur für Wohnungen. Und Gefängnisszellen sind keine Wohnungen.

    Demnach wird der Begriff Wohnnutzung durch die Kriterien einer auf Dauer angelegten Häuslichkeit, der Eigengestaltung der Haushaltsführung und des häuslichen Wirkungskreises sowie der Freiwilligkeit des Aufenthaltes definiert. Diese Voraussetzungen liegen bei der Unterbringung in einer Häftlingszelle nicht vor.

    Schon pervers was sich manche Behörden so ausdenken.

    10.2.19
    Weitere Beiträge zu: Rauchmelder Logik Gesetz

    Topfsecret

    Kennt Ihr schon TopfSecret? Das ist eine Initiative von FragdenStaat.de.

    Hier kann man schnell und einfach Informationen zu Hygienekontrollen in seinem Lieblingsrestaurant abfragen.

    Ich finde es ein Unding das mit Steuergelder erstellte Untersuchungen nicht direkt öffentlich bereitgestellt werden.

    Aber vielleicht helfen ja möglichst viele Anfragen bei den Behörden dabei das diese Vorgehensweise geändert wird.

    8.2.19

    Irgendwas stimmt da nicht bei den Gesetzen

    Ja ich weiß, die Gesetzgebung und Gerechtigkeit haben nicht immer etwas miteinander zu tun aber den (fehlenden) Kontrast finde ich schon merkwürdig.

    Diakon erhält Bewährungsstrafe für Vergewaltigung einer 15-jährigen Messdienerin

    Bewährungsstrafe für Studentinnen wegen Containerns

    Beide Taten bekommen 2 Jahre auf Bewährung.

    3.2.19
    Weitere Beiträge zu: Justiz Gerechtigkeit

    Datenschutzkatastrophe beim Datenschützer Niedersachsen

    Das muss man sich auf der Zunge zergehen lassen. Der Landesbeauftragte für den Datenschutz Niedersachsen hat ein System zur Meldung von Beschwerden der Bürger bei dem er nach 6 Wochen erst bemerkt das die personenbezogenen Daten der Bürger verloren gehen.

    Damit zeigt diese Datenschutzbehörde, das sie selber unfähig ist Ihre eigenen Vorschriften einzuhalten.

    Welche Arbeitsmoral in der Behörde vorliegt wenn die Mitarbeiter nicht bemerken das 6 Wochen nichts passiert mag ich gar nicht bewerten.

    Artikel 32 Sicherheit der Verarbeitung (1) Unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen treffen der Verantwortliche und der Auftragsverarbeiter geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten; diese Maßnahmen schließen gegebenenfalls unter anderem Folgendes ein: …… b) die Fähigkeit, die Vertraulichkeit, Integrität, Verfügbarkeit und Belastbarkeit der Systeme und Dienste im Zusammenhang mit der Verarbeitung auf Dauer sicherzustellen; c) die Fähigkeit, die Verfügbarkeit der personenbezogenen Daten und den Zugang zu ihnen bei einem physischen oder technischen Zwischenfall rasch wiederherzustellen;

    Kannste Dir nicht ausdenken.

    28.1.19
    Weitere Beiträge zu: Debian Alix

    Debian 9 auf einem Alix 2D

    Ich wollte ein altes Alix 2D Gerät revitalisieren und Debian 9 installieren. Da das Gerät über keine Grafikkarte verfügt bin ich den Weg über “deboostrap” gegangen. Hilfestellung hierfür war vor allem diese Seite.

    Zuerst muss die cf Karte so formatiert werden das es ein Linux Dateisystem enthält das booten kann

     fdisk -l /dev/sdc
     Disk /dev/sdc: 3,7 GiB, 4000317440 bytes, 7813120 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0x90909090
    
     Device     Boot Start     End Sectors  Size Id Type
     /dev/sdc1  *     2048 7813119 7811072  3,7G 83 Linux
    
    
     mkfs.ext3 -v /dev/sdc1
    

    Dann mounten wir die Karte im Dateisystem und starten den debootstrap Prozess. Dieser Prozess installiert ein Debian auf der Karte. Das kann je nach Karte dauern.

      mkdir -p /mnt/cfcard
      mount /dev/sdc1 /mnt/cfcard
      debootstrap --arch i386 squeeze /mnt/cfcard http://ftp2.de.debian.org/debian/
      I: Retrieving InRelease
      I: Retrieving Release
      E: Failed getting release file http://ftp2.de.debian.org/debian/dists/squeeze/Release
      root@pedro:~# ^C
      root@pedro:~# debootstrap --arch i386 stretch /mnt/cfcard http://ftp2.de.debian.org/debian/
      I: Retrieving InRelease
      I: Retrieving Release
      I: Retrieving Release.gpg
      I: Checking Release signature
      I: Valid Release signature (key id 067E3C456BAE240ACEE88F6FEF0F382A1A7B6500)
      I: Retrieving Packages
      I: Validating Packages
      I: Resolving dependencies of required packages...
      I: Resolving dependencies of base packages...
      I: Found additional required dependencies: libaudit-common libaudit1 libbz2-1.0 libcap-ng0 libdb5.3 libdebconfclient0 libgcrypt20 libgpg-error0 liblz4-1 libncursesw5 libsemanage-common libsemanage1 libsystemd0 libudev1 libustr-1.0-1
      I: Found additional base dependencies: dmsetup gnupg-agent libapparmor1 libassuan0 libbsd0 libcap2 libcryptsetup4 libdevmapper1.02.1 libdns-export162 libelf1 libfastjson4 libffi6 libgmp10 libgnutls30 libhogweed4 libidn11 libidn2-0 libip4tc0 libip6tc0 libiptc0 libisc-export160 libksba8 liblocale-gettext-perl liblognorm5 libmnl0 libncurses5 libnetfilter-conntrack3 libnettle6 libnfnetlink0 libnpth0 libp11-kit0 libpsl5 libseccomp2 libsqlite3-0 libtasn1-6 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libunistring0 libxtables12 pinentry-curses xxd
      I: Checking component main on http://ftp2.de.debian.org/debian...
      I: Retrieving libacl1 2.2.52-3+b1
      I: Validating libacl1 2.2.52-3+b1
      ....
      .....
      ....
      I: Configuring ifupdown...
      I: Configuring apt-utils...
      I: Configuring debconf-i18n...
      I: Configuring whiptail...
      I: Configuring gnupg...
      I: Configuring libgnutls30:i386...
      I: Configuring wget...
      I: Configuring tasksel...
      I: Configuring tasksel-data...
      I: Configuring libc-bin...
      I: Configuring systemd...
      I: Base system installed successfully.
    

    Jetzt “wechselt” man vom Hauptbetriebssystem in eine Session “auf der Karte”

      mount proc /mnt/cfcard/proc -t proc
      mount sysfs /mnt/cfcard/sys -t sysfs
      mount -o bind /dev /mnt/cfcard/dev
      chroot /mnt/cfcard /bin/bash
    

    Man sieht zwar zuerst nicht viel aber wenn man sich die /etc/fstab anschaut kann man sehen das es nicht die vom “host system” ist

      more /etc/fstab
      # UNCONFIGURED FSTAB FOR BASE SYSTEM
    

    Aber man kann jetzt auf dem “Kartensystem” ganz normal Software installieren

     apt install console-setup language-env locales
     dpkg-reconfigure locales
     dpkg-reconfigure tzdata
    

    Der neue Host braucht einen Namen

     echo sinnvollername > /etc/hostname
    

    und die /etc/fstab braucht die richtigen Einstellungen

     echo "proc        /proc   proc    defaults                        0       0" >> /etc/fstab
     echo "sysfs       /sys    sysfs   defaults                        0       0" >> /etc/fstab
     echo "/dev/sda1   /       ext2    noatime,errors=remount-ro       0       1" >> /etc/fstab
    

    Achtung hier sda statt sdc nehmen da die Karte wenn man von ihr startet ja die erste Festplatte ist.

    Die Kernelkonfiguration vorbereiten:

    vi /etc/kernel-img.conf

     # Kernel image management overrides
     # See kernel-img.conf(5) for details
     do_symlinks = yes
     relative_links = yes
     do_bootloader = no
     do_bootfloppy = no
     do_initrd = yes
     link_in_boot = no
    

    Dann Grub und Kernel installieren

     apt install linux-image-586 grub-pc
    

    Achtung hier wieder sdc nehmen. Damit Grub auf dem Alix Board die serielle Schnittstelle nimmt.

    vi /etc/default/grub
    
       GRUB_CMDLINE_LINUX_DEFAULT="verbose console=ttyS0,38400n8 reboot=bios"
       GRUB_SERIAL_COMMAND="serial --unit=0 --speed=38400"
       GRUB_TERMINAL=serial
    
     grub-install /dev/sdc
     update-grub
    

    Netzwerkkarten einrichten:

    vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    
    auto enp0s9
    iface enp0s9 inet dhcp
    
    auto enp0s10
    iface enp0s10 inet dhcp
    

    Dann die Karte auswerfen und in das Alix Board einbauen. Wenn man die Baudrate auf dem angeschlossenen Terminal richtig eingebaut hat lacht einen dann das Debian zum einloggen an.

    26.1.19
    Weitere Beiträge zu: Debian Alix

    Update zu Nexus 7 mit Linage OS

    Per Mail erreichte mich diese Woche eine Anfrage zu meinen Erfahrungen mit dem LinageOS 14 auf meinem Nexus 7 das ich vor knapp einem Jahr eingerichtet habe.

    Wie sind Deine Erfahrungen mit LineageOS 14.1? Funktioniert das gut? Bist Du zufrieden? Wie ist die Performance im Vergleich zu Android 4.x?

    Ich nutze das verschlüsselte Gerät nicht ständig verwende es aber regelmässig für

    • ebooks
    • mails
    • Twitter
    • Couch Surfing
    • Notfallgerät mit SSH Client

    Und dafür funktioniert es aus meiner Sicht immer noch gut. Die Bootzeiten sind nicht so schnell aber das ist mir egal (60s bis zum Encryption key und dann noch mal 70s bis zum Login). Wenn man auf dem Gerät arbeitet empfinde ich die Geschwindigkeit bei den genannten Nutzungsszenarien als klasse und schnell. (Ich muss allerdings sagen das ich kaum andere Erfahrungswerte von aktuelleren Geräten habe). Einen Vergleich zu Android 4 kann ich leider nicht mehr machen. Das ist schon zu lange her.

    Für mich sind die Updates wichtig und die kommen regelmässig.

    Zusammenfassung. Für das Gerät kann ich ein Wechsel auf LinageOS immer noch empfehlen.

    25.1.19
    Weitere Beiträge zu: LinageOS Nexus7

    Ansible Ad-hoc Kommandos

    Falls Ihr noch mal ein Beispiel braucht warum Ihr euch mal mit Ansible beschäftigen solltet wenn ihr Server verwaltet.

    Heute morgen wollte ich sicherheitshalber noch einmal prüfen ob alle Debian Server die aktuelle Version von apt haben

    Einfach

    ansible  debian-server -a "tail /var/log/apt/history.log"
    

    (debian-server ist eine Liste von Servern die mit Debian laufen. )

    23.1.19
    Weitere Beiträge zu: ansible

    Debugging Mailman 3 in Docker

    Hier ein paar Notizen von heute als ich versucht habe einen Mailman3 Service unter Docker zu reanimieren (damit es beim nächsten Mal nicht so lange dauert).

    Ich habe die Docker Container neu gebaut

     docker-compose up
     Starting docker-mailman_database_1 ... done
     Starting mailman-core              ... done
     Starting mailman-web               ... done
     Attaching to docker-mailman_database_1, mailman-core, mailman-web
     database_1      | WARNING: no logs are available with the 'syslog' log driver
     mailman-core    | WARNING: no logs are available with the 'syslog' log driver
     mailman-web     | WARNING: no logs are available with the 'syslog' log driver
     mailman-core exited with code 1
    

    und der Container mailman-core steigt einfach aus. Hilfreich ist dabei der Befehl

     docker ps -a
    

    Der zeigt vor allem auch Informationen zu Container die nicht gestartet worden sind. Sucht man nach Fehlermeldung für den Docker Container kann man die im daemon.log finden

     tail /var/log/daemon.log -n 300 -f
    

    In meinem Fall stand dort

      Jan 20 10:17:16 eagle 2ca6ed4f2561[898]: chown: /opt/mailman/var/templates/lists/digitaler-campus.bessere-schulen-meckenheim.de/en/list:member:generic:footer.txt: Operation not permitted
      Jan 20 10:17:16 eagle 2ca6ed4f2561[898]: chown: /opt/mailman/var/templates/lists/digitaler-campus.bessere-schulen-meckenheim.de/en/list:user:action:unsubscribe.txt: Operation not permitted
      Jan 20 10:17:16 eagle 2ca6ed4f2561[898]: chown: /opt/mailman/var/templates/lists/digitaler-campus.bessere-schulen-meckenheim.de/en/list:user:action:subscribe.txt: Operation not permitted
      Jan 20 10:17:16 eagle 2ca6ed4f2561[898]: chown: /opt/mailman/var/templates/lists/digitaler-campus.bessere-schulen-meckenheim.de/en/t: Operation not permitted
    

    Das Rechteproblem hatte ich auch schon bei der Erstinstallation. Es scheint so zu sein das nach dem Neubau des Containers ein anderen Benutzer verwendet wird der nicht auf die “Core” Daten zugreifen darf.

      4,0K drwxr-xr-x  3 952068 952038 4,0K Dez  1 10:42 core
      4,0K drwx------ 19 952038 952038 4,0K Jan 20 08:02 database
    

    Wenn ich die Rechte für das “Core” Verzeichnis so setze wie die für das database Verzeichnis

     chown 952038:952038 core -R
    

    dann geht es.

    22.1.19
    Weitere Beiträge zu: Mailman3 Docker

    Die Liebste backt wieder

    Ich habe es ja sooo gut. Meine Liebste backt wieder.

    20.1.19
    Weitere Beiträge zu: Brot Backen

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License