apache über reverse-proxy: Client IP anzeigen

Hat man vor einem apache Web-Server einen reverse-proxy (z.B. nginx) am laufen, sieht man statt der „echten“ IP des Besuchers, lediglich die IP des reverse-proxies.
Damit man im apache die tatsächliche IP des Bescuhers sieht kann man mittels mod_remoteip den Header vom reverse-proxy auslesen.
Continue reading apache über reverse-proxy: Client IP anzeigen

mysql: Alle Konfigurationsoptionen anzeigen

Leider gibt es keine Option in mysql um sich alle konfigurierten Optionen anzeigen zu lassen.

Mittels folgendem Code kann man dies aber von mysql Abfragen:

{ echo -e "# MYSQL VARIABLES {{{1\n##\n# MYSQL `mysql -V|sed 's,^.*\(V.*\)\, for.*,\1,'` - By: `logname`@`hostname -f` on `date +%c`\n##"; for l in {a..z}; do echo '#'; mysql -NBe "SHOW GLOBAL VARIABLES LIKE '${l}%'" | sed 's,\t,^= ,' | column -ts^ | tr "\n" '@' | eval $(echo "sed '" "s,@\("{a..u}{a..z}"\),\n\n\1,;" "'") | eval $(echo "sed '" "s,@\(innodb_"{a..z}{a..z}"\),\n\n\1,;" "'") | tr '@' "\n" | sed 's,^,# ,g'; done; echo -e "#\n##\n# MYSQL VARIABLES }}}1"; } | tee ~/mysql-variables.log

Quelle: Mysql Export current configuration to a file

mismatch_cnt is not 0 on /dev/md*

Bei einem Linux Soft-RAID (md-raid) kann es vorkommen, dass man mit einem Mail informiert wird, dass „cnt nicht 0 ist“:

Subject: Cron <root@server> /usr/sbin/raid-check
WARNING: mismatch_cnt is not 0 on /dev/md127

Dies könnte ein Hinweis auf defekte Sektoren auf einer Disk sein.
Continue reading mismatch_cnt is not 0 on /dev/md*

cURL host header senden

Mittels dem tool curl kann man einfach Webseiten von der Kommandozeile aufrufen.
Möchte man jedoch eine bestimmten NameVirtualHost über eine IP addresse Aufrufen, muss man den Host header mitsenden:

curl --header 'Host: www.example.com' 'http://93.184.216.34/'

Beispiel zum Aufrufen einer Unterseite:

curl --header 'Host: www.example.com' 'http://93.184.216.34/seite/index.html'

Quelle:Using cURL and the host header to bypass a load balancer

Ansible: mysql Abfrage

Möchte man mittels Ansible z.B. in eine Datenbank einen Wert hinzufügen, jedoch nur, wenn dieser noch nicht besteht, kann man das mittels einer Vorherigen SQL-Abfrage machen:

- name:             "Get setting: myName"
  command:           mysql --defaults-file=/root/.my.cnf myDatabase -Ns -e "select value from settings where name='myName';"
  register:          setting_myName
  changed_when:      setting_myName.stdout != "12345"

- debug:             msg="{{ setting_myName.stdout }}"
 

- name:             "Insert setting into database"
  mysql_db:
    login_host:     "myDBhost"
    login_user:     "myDBuser"
    login_password: "myDBPass"
    name:           "myDatabase"
    state:          "import"
    target:         "/tmp/set_setting_myName.sql"
  when:             setting_myName.stdout != "12345"

Zuerst holt man sich den Wert aus der Datenbanktabelle und ändert diesen nur, wenn er noch nicht da steht (when: setting_myName.stdout != „12345“).

Quellen

ESXi: CIM Secure Server läuft nicht

Nach dem Upgrade auf ESX 6.5 schlägt die Verbindung zum „CIM Secure Server“ fehl, etwa wenn man das excellente Hardware Check Script check_esxi_hardware.py benutzt:

check_esxi_hardware.py -H esx-server -U monitor -P xxxxxx -v
20180105 19:48:09 Connection to https://esx-server
20180105 19:48:09 Check classe OMC_SMASHFirmwareIdentity
CRITICAL: (0, 'Socket error: [Errno 111] Connection refused')
Continue reading ESXi: CIM Secure Server läuft nicht

UniFi Controller mit Geräten in verschiedenen Netzwerken

Mit WLAN AccessPoints „der Enterprise Klasse zum Privatkunden Preis“ hat Ubiquiti Networks sich einen Namen gemacht. Mittlerweile gibt es aber auch sehr gute Switches und Netzwerkkameras der Firma.
Diese haben jedoch alles gemeinsam: Sie werden von einer zentralen Software, dem UniFi Controller verwaltet. Standarmässig finden die Geräte den Controller jedoch nur, wenn sie im selben Netzwerk sind. So müsste man für jedes Netzwerk (z.B. remote Standort) einen separaten Controller installieren. Doch es gibt Abhilfe.

Continue reading UniFi Controller mit Geräten in verschiedenen Netzwerken