Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

Apache Konfigurationsdateien mehrzeilig auskommentieren

In Apache Konfigurationsdateien mehrzeilig Kommentarblöcke auskommentieren

Apache .conf-Dateien unterstützen nur einzeilige Kommentare, beginnend jeweils mit einem Hash (#) Zeichen. Sollen mehrere Zeilen als zusammenhängende Kommentarblöcke kommentiert werden, um beispielsweise eine VirtualHost-Konfiguration vorübergehend zu deaktivieren, bietet sich hierzu eine nicht vorhandene Laufzeitvariable anzuwenden, mit einer erfundenen IfDefine-Direktive umschliesst man den Codeblock der ignoriert werden soll, wie in folgendem Beispiel IfDefine-Direktive :

<IfDefine IgnoreLines>
<VirtualHost *:80>
        ServerAdmin hostmaster@foo.com
        ServerName foo.com
        ServerAlias www.foo.com
        DocumentRoot /home/www/foo.com/web/html
        ErrorLog /var/www/foo.com/web/logs/error_log
        CustomLog /var/www/foo.com/web/logs/access_log common
        Options ExecCgi IncludesNOEXEC

 <Directory "/var/www/foo.com/web/html">
    AllowOverride ALL
    Options FollowSymLinks
    Require all granted
 </Directory>
</VirtualHost>
</IfDefine>

Die VirtualHost-Direktive wird ignoriert, da IgnoreLines ein erfundener Parameter ist, der niemals auf true getestet wird. Wenn man die VirtualHost-Direktive wieder ausführen möchte, entfernt man einfach IfDefine wieder.

Apache VirtualHost bei RHEL

Um zu verifiziren welche VirtualHost ausgeführt werden, führt man bei RHEL und CentOS das httpd control command aus.

$ httpd -S

Apache VirtualHost bei Debian/Ubuntu

Bei Debian und Ubuntu gibt es das apachectl server control command.

$ apachectl -S

Bei einigen ist es der Befehl apache2ctl, häufig auch liegen beide vor.

$ apache2ctl -S

Fazit

In diesem Beitrag wird beschrieben, wie Apache Konfigurationsdateien mehrzeilig als Kommentarblöcke auskommentiert und editiert werden können. Dort wo mehrere Zeilen als zusammenhängende Kommentarblöcke kommentiert werden sollen, um beispielsweise eine VirtualHost-Konfiguration vorübergehend zu deaktivieren. Es bietet sich hierzu die nicht vorhandene Laufzeitvariable anzuwenden. Mit erfundener IfDefine-Direktive umschliesst man die Zeilen und Blöcke diese temporär nicht genutzt werden. Oder etwa um ein Abschnitt auf seine Funktion bzw. nicht Funktion zu testen.

Kali Linux Windows 10 Installation

Kali Linux Desktop unter Windows 10 mit WSL2 installieren

Linux in Windows 10 mit Kali Linux Desktop – Win-KeX („Windows Kali Desktop EXperience“), ab Funktionsupdate 2004 gibt es ein XFCE-GUI auf dem Windows-Desktop.

Win-KeX bringt Kali Desktop Experience für Windows Subsystem for Linux (WSL 2) mit den folgenden Funktionen, die zwei dedizierte Modi unterstützen.

Win-KeX-Fenstermodus kex --win ist das klassische Erscheinungsbild in einem Fenster für den Kali Linux-Desktop.

Win-KeX SL-Modus kex --sl bietet die nahtlose Integration von Kali Linux in den Windows-Desktop mit dem Windows-Startmenü unten und dem Kali-Bedienfeld oben auf dem Bildschirm. Alle Anwendungen werden in eigenen Fenstern gestartet, die denselben Desktop wie Windows-Anwendungen verwenden.

Win-KeX SL-Modus kex --sl bietet die nahtlose Integration von Kali Linux in den Windows-Desktop mit dem Windows-Startmenü unten und dem Kali-Bedienfeld oben auf dem Bildschirm

Win-KeX Features

Win-KeX SL Seamless
Soundunterstützung
Unterstützung mehrere Sitzungen
Win-KeX als Root ausführen
Freigegebene Zwischenablage – Ausschneiden und Einfügen von Inhalten zwischen Kali- und Windows-Apps

INSTALLATION

PowerShell als Administrator öffnen und den Befehl ausführen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Computer neu starten.

Aus PowerShell als Administrator die Zeilen ausführen.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Computer erneut starten.

Anschliessend Windows Subsystem for Linux 2 (WSL 2) herunterladen und den Update-Setup Wizard ausführen.

WSL2-Linux-Kernel Updatepaket für WSL2 hier herunterladen und installieren.

Windows Subsystem for Linux Update Setup

Nochmals aus der PowerShell als Administrator ausführen.

wsl --set-default-version 2

Kali Linux aus dem Microsoft Store installieren.

Kali Linux ist eine auf Debian basierende Linux-Distribution, die vor allem Penetrationstests und digitale Forensik umfasst. Kali Linux richtet sich in erster Linie an professionelle und fortgeschrittene Anwender.

Nun das initial setup abschliessen und Kali Linux starten.

Auch ist Debian im Microsoft Store Verfügbar.

Debian für Windows Subsystem for Linux (WSL)

Win-KeX installieren

Win-KeX aus dem Terminal wie folgt installieren.

sudo apt update && sudo apt install -y kali-win-kex

Win-KeX starten

Win-KeX kann im Fenstermodus oder im Seamless Modus ausgeführt werden. Win-KeX im Fenstermodus wie folgt starten.

kex --win

Win-KeX im Nahtlos – Sameless Modus starten.

kex --sl

Win-KeX Start Beispiele

kex                 # Desktop Vollbild
kex --win           # Desktop Fenster
kex --sl            # Desktop Seamless Modus
kex --sl -s         # Desktop Seamless Modus mit Sound
kex --sl --wtstart  # KeX server und win-kex client in terminal
kex --esm           # KeX desktop in native RDP fenster

Voraussetzung für Win-KeX

Die Visual C++ Redistributable Pakete sind zur ausführung von Win-KeX erforderlich, falls nicht bereits installiert, können die Pakete hier heruntergeladen werden. Die Universal C Runtime x86 (vc_redist.x86.exe) und x64 (vc_redist.x64.exe) installieren. Kali Linux erfordert Windows 10 Version 2004 oder neuer, und das Windows Subsystem for Linux – WSL 2.

Um Win-KeX nutzen zu können, ist ein Computer mit Intel Virtualisierungsfunktion VT-x erforderlich. Das BIOS stellt dem Betriebssystem die Virtualisierungsfunktion zur Verfügung, dazu aktiviert man die Intel (R) Virtualization Technology in den UEFI BIOS-Einstellungen.

Linux Shell im Windows Terminal

Auch ist jetzt ein guter Zeitpunkt das Windows Terminal zu erwähnen, falls nicht bereits installiert, lohnt es sich jetzt es zu tun.

Windows Terminal kann aus dem Windows Store installiert werden.

Windows Terminal ist ein Befehlszeilen-Frontend mit mehreren Registerkarten für Windows 10. Die Shell von Kali Linux – ZSH kann mit Windows Terminal genutzt werden.

Kali Linux Quellen Link kali.org

Troubleshooting

Wird beim versuch Win-KeX im Seamless Mode zu starten von VcXsrv ein Fehler ausgegeben:

A fatal error has occurred and VcXsrv will now exit.

A fatal error has occurred and VcXsrv will now exit.

Im Log sind es die letzten Zeilen in /tmp/win-kexsl_user.log:

winMultiWindowXMsgProc - Fatal error 1 on xcb connection
winClipboardIOErrorHandler!
winClipboardProc - setjmp returned for IO Error Handler.
(II) Server terminated successfully (0). Closing log file.

hier kann versucht werden Win-KeX mit sudo zu starten:

sudo kex --sl --wtstart -s

Eine Lösung brachte auch das löschen der Logs unter /tmp.

sudo rm -f /tmp/*.log

Und den KeX Server stoppen mit der Option –stop und –kill.

sudo kex --stop
sudo kex --kill

Danach der start von kex als normaler Benutzer möglich wurde.

kex --sl --wtstart -s
kex --sl --wtstart -s

Auch kann eine Win-KeX neu Installation den Fehler beheben:

sudo kex --stop
sudo kex --kill
sudo apt-get purge kali-win-kex
sudo apt-get install kali-win-kex
sudo apt-get install dbus-x11

Die Win-KeX Hilfe kann ebenfalls nützlich sein.

kex --help

        Win-Kex 2.10 provides a GUI desktop experience for Kali Linux
        in Windows Subsystem for Linux 2 (WSL 2)

        Usage:
                kex <mode> <command> <parameters>

                Mode:
                --esm            : Launch KeX desktop in a dedicated window using Windows native RDP
                --sl             : Seemlessly integrate KeX into the Windows desktop
                --win            : Launch KeX desktop in a dedicated window

                Command:
                [none]           : start KeX server and launch KeX client
                --start          : start kex server
                --start-client   : start kex client
                --stop           : stop kex server
                --status         : show kex server status
                --kill           : stop kex server and kill all related processes
                --passwd         : set kex server password
                --wtstart        : start kex server and launch win-kex client
                                   in Windows Terminal session
                --start-sound    : start Windows sound server
                --stop-sound     : stop Windows sound server
                --help           : display help
                --version        : display version

                Parameters:
                -i               : Use container IP address instead of "localhost"
                -m               : Optimized for Multiscreen (Win mode only)
                -s               : Sound support


        Examples:
                kex -s           : Start KeX server in window mode and launch KeX client with sound support
                kex --sl -s      : Start KeX in seemless mode and launch KeX client with sound support
                kex --esm -i -s  : Start KeX in ESM mode with arm workaround and launch KeX client with sound support
                sudo kex         : Start KeX server as root in window mode and launch KeX client