Falls man das admin Passwort einer Jenkins X Installation vergessen hat, findet man es unter Umständen unter
~/.jx/adminSecrets.yaml
Falls man das admin Passwort einer Jenkins X Installation vergessen hat, findet man es unter Umständen unter
~/.jx/adminSecrets.yaml
Seit Windows 10 Buildnummer 17063 kann man unter Windows die Befehle tar und curl benutzen. Um zu überprüfen, ob Windows entsprechend aktuell ist, kann man in PowerShell folgenden Befehl eingeben
Get-WmiObject Win32_OperatingSystem
In den ausgegebenen Informationen kann man dann die Buildnummer herausfinden.
Vor kurzem bekam ich bei einem git-Befehl diese Fehlermeldung
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
Grund für die Fehlermeldung war dass ich einen git-Befehl wie diesen ausgeführt habe
git rev-list --count ''
Nach ein bisschen suchen kam ich auf den Grund der Fehlermeldung
An empty string as a pathspec element that means "everything" i.e. 'git add ""', is now illegal. We started this by first deprecating and warning a pathspec that has such an element in 2.11 (Nov 2016).
Mit anderen Worten, ich musste meinen git-Befehl so anpassen, dass sich anstelle der zwei Apostrophe eine Commit ID befindet, also z.B.
git rev-list --count e12821
oder
git rev-list --count HEAD
CentOS kommt schon standardmäßig mit gcc 8. Um gcc 8 zu installieren, reicht dieser Befehl aus
sudo yum install -y gcc
Falls man jedoch gcc 9 installieren möchte, muss man folgenden Befehl eingeben
sudo yum install -y gcc-toolset-9
Das Programm tar bietet die Möglichkeit an, Dateien aus einem Archiv anhand von Wildcards zu extrahieren. Möchte man z.B. nur Dateien mit der Endung .php aus einem tar-Archive extrahieren, kann man das mit dem zusätzlichen Parameter –wildcards machen:
tar -zv --wildcards '*.php' -f archive.tar.gz
Vor kurzem hab ich gelernt, dass man mit tar Archive auch parallel packen und komprimieren kann. Dazu wird das Programm pigz benötigt.
Installiert wird das Programm unter CentOS mit
sudo yum install pigz
und unter Ubuntu mit
sudo apt install pigz
Ist pigz installiert, lassen sich Dateien mit tar recht einfach packen und komprimieren. Dazu wird der Parameter –use-compress-program (Kurzform: -I (großes i)) verwendet:
tar -c -I pigz -f archive.tar.gz datei1 datei2
Parallel entpacken funktioniert ähnlich wie das packen:
tar -x -I pigz -f archive.tar.gz
Wenn man normalerweise auf einen Link klickt, fügt der Browser in dem Request Header eine entsprechende “Referer” Zeile hinzu. Doch nicht immer möchte man, dass die eigene Web Applikationen diese Informationen weiterleitet. Das kann auch aus sicherheitstechnischen Aspekten relevant sein, wenn man nicht zu viel Informationen aus dem internen Netz nach außen geben möchte.
Mittlerweile kann der Webserver den Header “Referrer-Policy” setzen um zu verhindern, dass der Browser “Referer” Informationen weiter gibt. Dazu kann man z.B. in der httpd.conf eine Zeile wie diese eingeben
Header always set Referrer-Policy "no-referrer"
Jetzt muss man dem httpd noch sagen, dass er die Konfiguration neu laden soll
/usr/sbin/httpd -k graceful
Man kann neben “no-referrer” noch andere Werte angeben. Das liegt dann an den eigenen Wünschen, welchen Wert man nimmt.
Um XMP-RPC bei DokuWiki zu aktivieren, geht man zuerst in die Konfigurationseinstellungen:
In den Konfigurationseinstellungen muss man dann in den Abschnitt Authentication:
Dort gibt es ganz unten dann den Abschnitt über XML-RPC:
Jetzt muss man einen Haken neben “Enable the remote API system. This allows other applications to access the wiki via XML-RPC or other mechanisms.” setzen.
Als nächstes muss man in der Textzeile darunter diejenigen User auflisten, die Zugriff auf XML-RPC haben sollen. Also anstelle von “!!not set!!“.
Jetzt nur noch am Ende der Seite auf Save drücken und XML-RPC ist aktiviert.
Um zu überprüfen, ob XML-RPC aktiviert ist, reicht ein curl Kommando im Terminal. Wenn man z.B.
curl --request POST --data '<?xml version="1.0" ?><methodCall><methodName>dokuwiki.getVersion</methodName></methodCall>' http://127.0.0.1/lib/exe/xmlrpc.php
abschickt, dann müsste eine Antwort dieser Art auftauchen
<?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultCode</name> <value><int>-32603</int></value> </member> <member> <name>faultString</name> <value><string>server error. not authorized to call method dokuwiki.getVersion</string></value> </member> </struct> </value> </fault> </methodResponse>
Die Antwort zeigt, dass XML-RPC aktiv ist, aber die entsprechenden Rechte für eine Abfrage fehlen. Dazu müsste man noch die Cookies beim Request anpassen.
Standardmäßig kann man in DokuWiki keinen HTML oder PHP Code ausführen. Möchte man also z.B. die PHP Funktion phpinfo(); auf einer Seite ausführen, muss man dafür etwas tun.
Der entsprechende Code zum aufrufen der phpinfo(); würde z.B. so aussehen:
<php>phpinfo();</php>
Zwischen den Tags <php> und </php> kann man beliebigen Code ausführen.
Um die Ausführung der Funktion (bzw. PHP Code im Allgemeinen) zu aktivieren, muss in der Datei conf/local.php die folgende Zeile einfügt bzw. angepasst werden:
$conf['phpok'] = 1;
Ist der Wert von $conf[‘phpok’] auf 1, sollte man die Funktion phpinfo(); ausführen können.
Wenn der Wert von $conf[‘phpok’] allerdings auf 0 ist, dann sieht man auf der entsprechenden Seite nur einen farblich hervorgehobenen Text:
Quellen:
Beim Aufsetzen eines CentOS 8 Images mit httpd und DokuWiki bekam ich diese Fehlermeldung
Fatal error: Uncaught Error: Call to undefined function json_encode() in /var/www/html/dokuwiki/inc/template.php:343 Stack trace: #0 /var/www/html/dokuwiki/lib/tpl/dokuwiki/main.php(22): tpl_metaheaders() #1 /var/www/html/dokuwiki/inc/actions.php(27): include('/var/www/html/d…') #2 /var/www/html/dokuwiki/doku.php(120): act_dispatch() #3 {main} thrown in /var/www/html/dokuwiki/inc/template.php on line 343
Die Lösung dafür war, das Paket php-json auf der Maschine zu installieren:
yum install -y php-json