# IT und Technik

Ein Wiki über alle möglichen Themen der IT und Technik.  
Das Wiki hat nichts mit den Produkten von Freakylabs zu tun.

# Allgemein

# Terminplaner

## DFN

[https://terminplaner.dfn.de/](https://terminplaner.dfn.de/)

# Nützliche Seiten

## Öffentliche IP Adresse abfragen

- [https://ipconfig.io/](https://ipconfig.io/)
- [https://ifconfig.me/](https://ifconfig.me/)
- [https://api.ipify.org/](https://api.ipify.org/)
- [https://www.wieistmeineip.de/](https://www.wieistmeineip.de/)

## URL verkürzen

[https://t1p.de/](https://t1p.de/)

## Lernplattformen

[https://learnxinyminutes.com/docs/go/](https://learnxinyminutes.com/docs/go/)

[www.udemy.com](http://www.udemy.com)

## Prozesse visualisieren

[https://code2flow.com/](https://code2flow.com/)

# Android

# FolderSync (App) - Bilder u. a. Dateien im Netzlaufwerk (samba) synchronisieren

1. Smartphone 
    1. Die App auf das Smartphone installieren: [https://play.google.com/store/apps/developer?id=Tacit%20Dynamics](https://play.google.com/store/apps/developer?id=Tacit%20Dynamics)
    2. Ordner in der Bildergallery anlegen (wenn man die Bilder kategorisieren möchte)
2. Linuxserver 
    1. die Samba Netzlaufwerke auf dem lokalen Server im eigenen LAN einrichten
3. FolderSync: [https://www.tacit.dk/foldersync/help/](https://www.tacit.dk/foldersync/help/)  
    
    1. unter "Konten" das Samba Netzlaufwerk einbinden
    2. unter "Ordnerpaare" die entsprechenden Aufgaben zum synchronisieren erstellen 
        1. für die Verwendung von Zeitstempel Ordnern ist diese Seite für die Angabe der Zeit hilfreich: [https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)

Fertig!

# Rufumleitung einstellen

Da ich es als ITler nicht gefunden habe in den Einstellungen und es wirklich versteckt ist hier mal eine schöne Anleitung wie man heutzutage in Smartphones mit Android eine Rufumleitung bzw. seine Mailbox einstellen kann:

[https://www.heise.de/tipps-tricks/Android-Rufumleitung-einrichten-so-klappt-s-4116854.html](https://www.heise.de/tipps-tricks/Android-Rufumleitung-einrichten-so-klappt-s-4116854.html)

# Kubernetes

# Hilfreiche Seiten

- Katakoda - live Übungen: [https://www.katacoda.com/courses/kubernetes](https://www.katacoda.com/courses/kubernetes)

# Kubernetes Dashboard - Zugriff

## Kubernetes Dashboard

Docs: [https://github.com/kubernetes/dashboard/blob/master/README.md#getting-started](https://github.com/kubernetes/dashboard/blob/master/README.md#getting-started)

## Zugriff "forbidden"

*Quelle: [https://pascalnaber.wordpress.com/2018/06/17/access-dashboard-on-aks-with-rbac-enabled/](https://pascalnaber.wordpress.com/2018/06/17/access-dashboard-on-aks-with-rbac-enabled/)*

Fehlermeldung in orangener Box:

***configmaps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list configmaps in the namespace "default"***

Cluster Rolle erstellen und Zugriff auf das Dashboard gewähren:

```
kubectl create clusterrolebinding kubernetes-dashboard -n kube-system --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
```

# SmartHome

# Smart-Citizen - Wetterstation

[https://www.heise.de/make/meldung/Neue-Version-des-Umweltmesssystems-Smart-Citizen-erschienen-4471426.html](https://www.heise.de/make/meldung/Neue-Version-des-Umweltmesssystems-Smart-Citizen-erschienen-4471426.html)

# Smart Home Systeme

- [FHEM](https://fhem.de/)
- [OpenHAB2](http://www.openhab.org/)
- [NodeRed (von IBM)](https://nodered.org/)
- [ioBroker](https://www.iobroker.net/)

## ioBroker

Forum Threads:

- [https://forum.iobroker.net/topic/28370/projekt-iobroker-debmatic-hmip](https://forum.iobroker.net/topic/28370/projekt-iobroker-debmatic-hmip-)

### Homematic IP Thermostate

[https://www.smarthome-tricks.de/software-iobroker/visualisierung-homematic-heizkoerperthermostat/](https://www.smarthome-tricks.de/software-iobroker/visualisierung-homematic-heizkoerperthermostat/)

Steuerungs-Modi:

- Auto (0)
- Manuell (1)
- Party (2)
- Boost (3)

### Skript für komplette Heizungssteuerung

[https://forum.iobroker.net/topic/9541/vorlage-heizungsthermostatsteuerung-2-1-script](https://forum.iobroker.net/topic/9541/vorlage-heizungsthermostatsteuerung-2-1-script)

# Sprachassistenten

Hier findet ihr Infos zu Sprachassistenten alternativ zu Alexa &amp; Co.

# Snips

## Website

[https://snips.ai/](https://snips.ai/)

### Nice 2 know

[https://forum.snips.ai/t/install-on-debian-9-vm/660/24](https://forum.snips.ai/t/install-on-debian-9-vm/660/24)

# mycroft - Sprachassisstent wie Alexa & Co.

## Dokumentation

[https://mycroft.ai/documentation/](https://mycroft.ai/documentation/)

# Windows

# Windows 10 - Problembehebungen

## Mein Mikrofon geht nicht mehr

### User Story

Da ich Teamspeak, Discord und Co benutze, ist mir direkt nach dem großen Update von Windows 10v1709 auf v1803 am 13.08.2018 aufgefallen, dass mein Mikrofon nicht mehr funktioniert.

Erst hatte ich Treiberprobleme nach dem Update im Verdacht aber nachdem ich mehrmals die Treiber meines realtek Audiocontrollers de- und wieder neuinstalliert hatte, funktionierte es immer noch nicht.

Nach einigen Recherchen im Netz bin ich auf einen Hinweis der Datenschutz Einstellungen von Windows 10 aufmerksam geworden. Dort kann man unter der Überschrift "Zulassen, dass Apps auf Ihr Mikrofon zugreifen" einstellen ob Apps vom Windows das Mikrofon ansteuern dürfen.

So sieht es aus:

![](https://wiki.freakylabs.de/bookstack/public/uploads/images/gallery/2018-08-Aug/scaled-840-0/rbss5DuKNDwtvcTJ-image-1534349494439.png)

Und siehe da! Als ich den Schieberegler aktiviert habe, funktionierten auch meine Programme wie Teamspeak und Co wieder.

Prinzipiell muss ich sagen, finde ich es ja super und verwunderlich zugleich, dass Microsoft den Standardwert auf deaktiviert stellt und damit keinerlei Programme auf das Mikrofon zugreifen dürfen um einen zu belauschen. Es kann aber nicht sein, dass man den Anwender nicht einmal daraufhinweist, dass es da eine Änderung oder neue Option gibt.

# Avira

## <span class="mw-headline" id="Avira_Management_Console_-_AMC">Avira Management Console - AMC</span>

Avira hat 2015 seine Produkte umgestellt und die AMC (Avira Management Console) ist abgekündigt.  
Die AMC läuft zum 31.12.2016 aus!  
Avira hatte ursprünglich den Plan eine Cloud Console zu bauen und damit die AMC abzulösen.  
Dass aber auch Kundennetzwerke existieren, die vom Internet abgeschottet sind, hat Avira einfach mal vergessen.  
Außerdem sagte uns eine Avira Mitarbeiterin (Fr. Gerteiser, Tel. 075425003012), dass die Funktionalitäten der AMC nicht vollständig abgebildet werden konnten. Somit haben sich dann viele Kunden beschwert und man hat dann bei Avira entschieden wieder eine lokal installierbare AMC einzuführen. Diese wurde dann von der externen Firma CenterTools ([https://www.drivelock.de](https://www.drivelock.de/)) entwickelt.  
Diese Management Console soll dann wieder in der Lage sein alle Clients und Server zentral zu verwalten.  
  
In meinem Fall konnte der Drittanbieter seine AMC nicht erfolgreich bei unserem Kunden installieren und zeigte kein besonders großes Interesse das Problem zu lösen.  
Der betroffene Kunde ist dann zu Kaspersky gewechselt.

# Bewerbung-Definitionen

## <span class="mw-headline" id="Definitionen">Definitionen</span>

### <span class="mw-headline" id="Unterscheidungen_bei_der_Berufserfahrung">Unterscheidungen bei der Berufserfahrung</span>

**Diese Unterscheidungen existieren bei der Berufserfahrung**

Je nach Position ist mal mehr und mal weniger Berufserfahrung notwendig. Wie viel Berufserfahrung sich der Arbeitgeber wünscht, spiegelt sich in der Stellenanzeige in verschiedenen Formulierungen wider. Mal wird „einschlägige Berufserfahrung“ verlangt, dann wieder „fundierte Berufserfahrung“. Bei Praktika oder Einstiegsjobs genügt häufig schon „(idealerweise) erste Praxiserfahrung“. Doch was bedeutet was?

#### <span class="mw-headline" id="Erste_Berufserfahrung">Erste Berufserfahrung</span>

Sieht ein Unternehmen zum Beispiel in einer Stellenausschreibung „erste Berufserfahrung“ als Grundvoraussetzung an, sollten Bewerber den Arbeitsalltag in einem Unternehmen bereits kennengelernt haben. „Erste Berufserfahrung“ kann man schon für sich reklamieren, wenn man bisher nur einen einzigen Eintrag in seiner Berufsvita zu verzeichnen hat. Hier kann ein relevanter Aushilfsjob, eine Werkstudententätigkeit oder ein Praktikum genannt werden. Dabei ist es zwar von Vorteil, wenn die Erfahrung in dem anvisierten Bereich gesammelt wurde, aber in vielen Fällen nicht zwingend notwendig. Gerade wenn bei einer Praktikum-Ausschreibung „idealerweise“ oder „gern gesehen“ dabeisteht, ist erste Berufserfahrung nicht das ausschlaggebendste Kriterium für eine erfolgreiche Bewerbung.

#### <span class="mw-headline" id="Einschl.C3.A4gige_Berufserfahrung">Einschlägige Berufserfahrung</span>

Anders sieht es aus, wenn „einschlägige Berufserfahrung“ auf dem Wunschzettel der Firmen steht. Dann sollte man relevante Arbeitserfahrungen aus genau der Branche bzw. dem Bereich vorlegen, für die man sich bewirbt. Relevante Arbeitserfahrungen sind dann zum Beispiel eine intensive Werkstudententätigkeit oder ein längeres Praktikum in dem gewünschten Bereich.

Hier setzen die Arbeitgeber darauf, dass die Einarbeitung sehr schnell klappt und die Neulinge im Idealfall auch Kontakte und Know-how mitbringen, von denen das Unternehmen wirtschaftlich profitieren kann.

#### <span class="mw-headline" id="Fundierte_Berufserfahrung">Fundierte Berufserfahrung</span>

Sucht das Unternehmen einen neuen Mitarbeiter, der bereits über „fundierte Berufserfahrung“ verfügt, ist das gleichbedeutend mit einer mehrjährigen, umfassenden beruflichen Vorerfahrung in genau dem Job, für den man sich bewirbt. Hier hast du es schwer, wenn du nur ein Praktikum vorweisen kannst. Auch mit einer beruflichen Tätigkeit in einem fremden Bereich wird es eher schwierig, denn dein Arbeitgeber erwartet fundiertes Wissen und Praxiserfahrung. Solltest du dieses Vorwissen und diese Vorerfahrung nicht vorweisen können, hat deine Bewerbung in der Regel keine Aussicht auf Erfolg.

  
<small>*Quelle: \[[absolventa.de](https://www.absolventa.de/karriereguide/berufseinsteiger-wissen/berufserfahrung-fundierte-einschlaegige)\]*</small>

# Clonezilla

## <span class="mw-headline" id="Software_RAID_backupen">Software RAID backupen</span>

Bevor man beginnt sich durch den Clonezilla Guide zu klicken muss man vorher auf der Shell den Treiber für RAIDs starten.  
Der Befehl lautet:

<div id="bkmrk-%2Fetc%2Finit.d%2Fmdadm-ra"><div>```
/etc/init.d/mdadm-raid start 
```

</div></div>

# EQ3-Thermostate

## <span class="mw-headline" id="N.C3.BCtzliche_Links">Nützliche Links</span>

- Erklärung der Befehle / API: [https://github.com/Heckie75/eQ-3-radiator-thermostat](https://github.com/Heckie75/eQ-3-radiator-thermostat)
- FHEM Forum zu den Geräten: [https://forum.fhem.de/index.php/topic,39308.15.html](https://forum.fhem.de/index.php/topic,39308.15.html)
- Steuern der Thermostate mit Raspberry Pi: [http://torsten-traenkner.de/wissen/smarthome/heizung.php](http://torsten-traenkner.de/wissen/smarthome/heizung.php)

# FontAwesome5

## <span class="mw-headline" id="Wichtig">Wichtig</span>

Wenn man die Icons von Font Awesome 5 in seinem CSS Code mit sog. pseudo-elements benutzen will muss man folgende Dinge beachten:

1. pseudo-elements aktivieren 
    1. `<script>FontAwesomeConfig = { searchPseudoElements: true };</script>`
2. die CSS Bibliothek einbinden 
    1. `<link href="<a class="external free" href="https://use.fontawesome.com/releases/v5.0.2/css/all.css" rel="nofollow">https://use.fontawesome.com/releases/v5.0.2/css/all.css</a>" rel="stylesheet">`
    2. Hier gibt es immer die aktuelle online Bibliothek: [https://fontawesome.com/get-started/web-fonts-with-css](https://fontawesome.com/get-started/web-fonts-with-css)
3. Icons einer bestimmten Gewichtung brauchen zwingend den CSS Wert `font-weight: 900;` damit sie angezeigt werden. 
    1. 900 (Solid), 400 (Regular or Brands), 300 (Light)

Danach funktioniert es.

# Intel-Prozessoren

<div id="bkmrk-wikipedia%3A%C2%A0liste-de"><div>- Wikipedia: [Liste der Intel Core i Prozessoren mit Specs Nummer](https://de.wikipedia.org/wiki/Liste_der_Intel-Core-i-Prozessoren)
- Intel.de: [Prozessornummern und Buchstabenkürzeln](https://www.intel.de/content/www/de/de/processors/processor-numbers.html)

</div></div>

# LustigeFehlermeldungen

Als Systemadministrator wird man schon des Öfteren mit kuriosen oder gar sehr lustigen Problemen konfrontiert. Einige will ich hier mal mit euch teilen.

### <span class="mw-headline" id="Fehlermeldungen">Fehlermeldungen</span>

1. Hersteller: KOMAX  
    
    1. Software: TopWin
    2. Fehlermeldung: Der Drucker hat nicht gedruckt, obwohl er hätte drucken müssen.

# Newsfeed

- Microsoft Azure und die DSGVO: [https://www.heise.de/ix/heft/Glauben-statt-wissen-4140402.html](https://www.heise.de/ix/heft/Glauben-statt-wissen-4140402.html)

# OpenHAB2

## <span class="mw-headline" id="Meine_Testumgebung">Meine Testumgebung</span>

### <span class="mw-headline" id="Die_Definitionen">Die Definitionen</span>

#### <span class="mw-headline" id="Items">Items</span>

So sieht meine Definition der Items in der Datei `test.items` im Ordner `/etc/openhab2/items` aus:

```
Number numTemp
Number numTemp2

```

#### <span class="mw-headline" id="Sitemap">Sitemap</span>

Meine Sitemap `home.sitemap` im Ordner `/etc/openhab2/sitemaps` sieht so aus:

```
sitemap home label="My home sitemap" {
    Setpoint item=numTemp label="Heizung Wohnzimmer [%.1f °C]" minValue=12 maxValue=30 step=1 icon="temperature"
    Text item=numTemp label="Heizung Wohnzimmer [%s °C]" icon="temperature"
    Text item=numTemp2 label="Heizung Testanzeige [%s °C]" icon="temperature"
}

```

So sieht es dann aus:  
[![OpenHAB2-sitemap-home.png](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/scaled-840-0/RFQIi61OdsG2yg7K-OpenHAB2-sitemap-home.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/RFQIi61OdsG2yg7K-OpenHAB2-sitemap-home.png)

#### <span class="mw-headline" id="Rules">Rules</span>

Hier die Definition meiner Regel `heating.rules` im Ordner `/etc/openbhab2/rules`:

```
rule "Simulate the heating control"

when
    Item numTemp changed
then
    var int newValue=numTemp.state
    //newValue=newValue+1
    numTemp2.postUpdate((newValue as DecimalType)+100)
end

```

## <span class="mw-headline" id="Rechnen_mit_Items_vom_Typ_Numbers">Rechnen mit Items vom Typ Numbers</span>

### <span class="mw-headline" id="Vorwort">Vorwort</span>

Da ich selber gerade erst angefangen habe mich mit OpenHAB2 zu beschäftigen, musste ich mich erstmal durch die Dokumentation hangeln und teste noch herum wie was geht.  
Meine Testumgebung mit allen Definitionen habe ich bereits weiter oben beschrieben.

### <span class="mw-headline" id="Die_Berechnung">Die Berechnung</span>

Jetzt habe ich herausgefunden, dass man beim Rechnen mit Numbers den Wert den man benutzen will nochmal als "DecimalType" definieren muss.

```
var int newValue=numTemp.state
numTemp2.postUpdate((newValue as DecimalType)+100)

```

Damit wollte ich mal testen wie man mit einen Wert rechnen kann und diesen Wert mit einem Sitemap-Element vom Typ "Text" ausgibt. In meiner Sitemap habe ich das "Text"-Element wie folgt definiert: `Text item=numTemp2 label="Heizung Testanzeige [%s °C]" icon="tempereature"`  
Das sieht dann in der "BasicUI" so hier aus:  
[![OpenHAB2-TextItem1.png](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/scaled-840-0/AtPNh0oLEGc2AZS4-OpenHAB2-TextItem1.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/AtPNh0oLEGc2AZS4-OpenHAB2-TextItem1.png)

## <span class="mw-headline" id="Installation_Telegram-Bot">Installation Telegram-Bot</span>

Alles schön erklärt: [http://openhab2.wermescher.com/dienst-telegram/](http://openhab2.wermescher.com/dienst-telegram/)

## <span class="mw-headline" id="Anwendungsbesipiele_mit_OpenHAB2">Anwendungsbesipiele mit OpenHAB2</span>

- [https://klenzel.de/kategorie/technik/hausautomatisierung/openhab](https://klenzel.de/kategorie/technik/hausautomatisierung/openhab)
- [http://onesmarthome.de/category/komfort/](http://onesmarthome.de/category/komfort/)
- Dokumentation eines OpenHAB Users: [https://openhabdoc.readthedocs.io/de/latest/setpoint/](https://openhabdoc.readthedocs.io/de/latest/setpoint/)

## Installation

## <span class="mw-headline" id="Vorraussetzungen">Vorraussetzungen</span>

### <span class="mw-headline" id="Java_SDK">Java SDK</span>

#### <span class="mw-headline" id="Vorwort">Vorwort</span>

In dem aktuellen Debian Paket befindet sich ein Bug. Da Oracle auf seinen Downloadseiten einiges umgebaut hat und man zuerst die AGB´s akzeptieren muss, kann der Paketmanager die aktuellste Java Version nicht downloaden. Dafür ist das Paket nicht programmiert.  
Also was tun wir? Richtig, wer nicht warten will bis das Debianpaket gefixt wird, der muss sich Java selber manuell herunterladen und installieren. Und das erkläre ich euch jetzt. Eine schäne Anleitung, die mir geholfen hat, findet ihr auch [hier bei sysadminslife.com](http://www.sysadminslife.com/linux/howto-oracle-java-8-jre-jdk-installation-und-upgrade-unter-debian-wheezy/)

#### <span class="mw-headline" id="Installation">Installation</span>

1. Java Runtime Environment (JRE) 8 von Oracle herunterladen (Zu der Zeit meiner Installation war aktuell die JDK 8 Update 152) 
    1. Oracle Downloadseite: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
    2. Befehl: `wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "<a class="external free" href="http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz" rel="nofollow">http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz</a>"`
2. Entpacken: `tar -xzvf server-jre-8u25-linux-x64.tar.gz`
3. Den entpackten Java Ordner an die richtige Stelle verschieben: `mv /<em><strong>DOWNLOAD-Ordner</strong></em>/jdk1.8.0_152 /usr/lib/jvm`
    1. Der originale Java Ordner der Version 8 heißt ***java-8-oracle***. Damit wir etwas flexibler sind machen wir uns jetzt einen Symlink.
4. Symlink erstellen: `ln -s /usr/lib/jvm/jdk1.8.0_152/ /usr/lib/jvm/java-8-oracle`
5. Jetzt teilen wir dem System mit, dass er die von uns bereitgestellte Java Version nutzen soll: `update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-8-oracle/bin/java" 1`
6. Abschließend könnt ihr kontrollieren ob das Java funktioniert und welche Version er installiert hat: `java -version`

Meine Ausgabe sieht so aus:  
`root@Server:/usr/lib/jvm# java -version<br></br>java version "1.8.0_152"<br></br>Java(TM) SE Runtime Environment (build 1.8.0_152-b16)<br></br>Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)`

## <span class="mw-headline" id="Installation_OpenHAB2">Installation OpenHAB2</span>

Hier will ich gar nicht viele Worte verlieren, weil auf der Projektseite von OpenHAB2 alles super dokumentiert ist. [http://docs.openhab.org/installation/linux.html#installation](http://docs.openhab.org/installation/linux.html#installation)

<div id="bkmrk-"><div><div></div></div></div>

# Perforce

## <span class="mw-headline" id="Installation_.C3.BCber_die_Paketverwaltung_vom_Linux">Installation über die Paketverwaltung vom Linux</span>

[Linux Repo Pakete](https://www.perforce.com/perforce-packages)

1. Je nach Distribution muss man erstmal den public-Key des Repos importieren
2. Dann fügt man seiner Paketverwaltung das Repository von Perforce hinzu (siehe Details im Link oben)
3. Installiert wie gewohnt das Paket von Perforce über eure Paketverwaltung

### <span class="mw-headline" id="Probleme_mit_dem_Pubkey_von_perforce">Probleme mit dem Pubkey von perforce</span>

Die Seite von Perforce funktioniert so leider nicht fehlerfrei:  
[https://www.perforce.com/perforce-packages](https://www.perforce.com/perforce-packages)  
Dort steht der folgende Befehl zum Hinzufügen des Pubkeys:

```
root@server:/#wget -q -O - https://package.perforce.com/perforce.pubkey | sudo apt-key add -
gpg: no valid OpenPGP data found.
```

Leider kommt da aber nur oben genannte Fehlermeldung.

Dieser Befehl machts möglich:

```
wget -q http://package.perforce.com/perforce.pubkey -O- | sudo apt-key add -
OK
```

## <span class="mw-headline" id="Konfiguration">Konfiguration</span>

Ich empfehle für die Perforceinstanz eine eigene Konfig-Datei anzulegen. Diese werden automatisch importiert.  
Meine Konfig sieht so aus:

```
p4d main
{
  Owner          =        perforce
  Execute        =        /opt/perforce/sbin/p4d
  Prefix         =        /var/lib/perforce/p4-main/main
  Environment
  {
   P4ROOT      =        /Pfad-zu-deinem-Repo/perforce/p4-main
   P4JOURNAL   =        journal
   P4PORT      =        ssl:1666
   P4SSLDIR    =        /Pfad-zu-deinen-SSL-Zertifikaten/perforce/ssl
   PATH        =        /bin:/usr/bin:/usr/local/bin:/opt/perforce/sbin
  }
}

```

### <span class="mw-headline" id="Fehler">Fehler</span>

#### <span class="mw-headline" id="P4SSLDIR">P4SSLDIR</span>

- P4SSLDIR not defined or does not reference a valid directory. 
    - `export P4SSLDIR=/Users/Perforce/ssl`
        - [http://answers.perforce.com/articles/KB/2598](http://answers.perforce.com/articles/KB/2598)
- P4SSLDIR or credentials files not owned by Perforce process effective user. 
    - Ich musste den Befehl zum Generieren des Zertifikates und Schlüssels als root ausführen. `p4d -Gc`

## <span class="mw-headline" id="Autostart">Autostart</span>

Perforce legt automatisch auch Autostartskripte unter **/etc/init.d/** ab. Somit sollte euer Perforcce auch nach jedem Reboot wieder verfügbar sein.

## <span class="mw-headline" id="SSL_Zertifikate_von_letsencrypt_benutzen">SSL Zertifikate von letsencrypt benutzen</span>

Ich habe in meinem Plesk das Addon letsencrypt installiert und möchte gerne dessen Zertifikate für meine Dienste verwenden.  
Da es damit einige Arbeit auf sich hat, habe ich mir ein Skript geschrieben, das die Arbeit für mich macht.

```
 #!/bin/bash
 #-----------------
 #INITIALIZE
 #-----------------
 #script for automate the use of letsencrypt SSL certs
 #path of letsencrypt certs: /usr/local/psa/var/modules/letsencrypt/etc
 #path in my case:
 lepath=/usr/local/psa/var/modules/letsencrypt/etc/live/freakylabs.de/
 
 #certificate:
 lecert=cert.pem
 #private key:
 lekey=privkey.pem
 
 #Perfoce SSL dir
 p4dssldir=/etc/perforce/ssl/
 #Perforce certificate name
 p4dcert=certificate.txt
 #Perforce private key name
 p4dkey=privatekey.txt
 #-----------------
 
 #-----------------
 #WORK PROCESS

 #-----------------
 #STOP perforce
 /etc/init.d/perforce-p4dctl stop
 
 #backup old cert files
 mv -f $p4dssldir$p4dcert $p4dssldir$p4dcert.bak.$(date +$F)
 mv -f $p4dssldir$p4dkey $p4dssldir$p4dkey.bak.$(date +$F)
 
 #copy the letsencrypt SSL certificates to the P4d SSLDIR
 cp -f $lepath$lecert $p4dssldir$p4dcert
 cp -f $lepath$lekey $p4dssldir$p4dkey
 
 #change the owner of new copied files to the perforce user
 chown perforce:perforce $p4dssldir$p4dcert $p4dssldir$p4dkey
 
 #change permissions of new copied files to fits perforce rules
 chmod 400 $p4dssldir$p4dcert $p4dssldir$p4dkey
 
 #START perforce
 /etc/init.d/perforce-p4dctl start

```

## <span class="mw-headline" id="Problembehandlung">Problembehandlung</span>

### <span class="mw-headline" id="Perforce_blockiert_apt-get_update">Perforce blockiert apt-get update</span>

#### <span class="mw-headline" id="Meine_User_Story">Meine User Story</span>

Beim Installieren von Perforce hatte ich so meine Schwierigkeiten, weil ich das System zuvor noch nie installiert hatte.  
Da ich immer versuche Software über die Debianpaketverwaltung zu installieren, habe ich das für Perforce auch versucht. Die Installation funktionierte auch aber danach stand ich auf verlorenem Posten, weil ich es nicht konfiguriert bekommen habe. Nach einiger Zeit fand ich dann über Google ein GIT Repository von jmd, der einen sog. Installer bereitgestellt hat. Also habe ich mir diesen auf meinen VServer heruntergeladen und ausprobiert. Der Installer hat mir eine Perforce Version heruntergeladen und eingerichtet. Jetzt konnte ich Perforce nutzen.  
Nach einiger Zeit wollte ich dann wieder mal Updates auf dem VServer installieren und bekam immer die Fehlermeldung von apt-get update bzw. auch von aptitude update:

```
Error: Sub-process /usr/bin/dpkg returned an error code (1)
/etc/perforce/p4dctl.conf -> No such directory or file found.

```

Die Lösung war nach langem Rumprobieren und Suchen im Internet eigentlich total einfach und ich bin erst nach Tagen selber drauf gekommen als ich es einfach ausprobiert habe.

#### <span class="mw-headline" id="L.C3.B6sung">Lösung</span>

Ich habe mir dann nach der erfolglosen Suche einfach gedacht ob es reicht wenn ich die fehlende Ordnerstruktur und die Datei erstelle.  
Und genau das hat geklappt.

```
root@server#mkdir /etc/perforce
root@server#touch p4dctl.conf

```

Danach konnte ich dann die bei mir installierten Debian Perforcepakete deinstallieren.&lt;

#### <span class="mw-headline" id="Zukunft">Zukunft</span>

Zufrieden bin ich mit der Lösung natürlich noch nicht. Bei Gelegenheit wird das manuell durch den Installer eingerichtete Perforce gelöscht und nochmal sauber über die Debianpaketverwaltung neuinstalliert und eingerichtet.

# Phishing-E-Mails

## <span class="mw-headline" id="E-Mails">E-Mails</span>

Immer häufiger hört man davon, dass jmd kuriose E-Mails von dubiosen Absendern erhalten hat.  
Das Problem dabei ist nur leider, dass die Betrüger immer geschickter werden und deren E-Mails immer originaler aussehen. Oft müssen Experten auch schon ganz genau hinschauen um solche E-Mails zu identifizieren.  
Hier mal ein paar Beispiele:

### <span class="mw-headline" id="M.C3.B6gliche_Schritte_zur_.C3.9Cberpr.C3.BCfung_von_E-Mails">Mögliche Schritte zur Überprüfung von E-Mails</span>

<div id="bkmrk-wer-ist-der-absender"><div><div>1. Wer ist der Absender?
2. Prüft ob ihr überhaupt Kunde bei der Firma seid, die euch eine Rechnung schickt.
3. Sind Links in der E-Mail enthalten, die auf merkwürdige Seite verlinken?
4. Sind Anhänge in komprimierter Form von ZIP, RAR, 7z o.a. enthalten?

</div></div></div>### <span class="mw-headline" id="Best.C3.A4tigung_einer_Zahlung">Bestätigung einer Zahlung</span>

[![Zahlung_Phishing.png](https://wiki.freakylabs.de/uploads/images/gallery/2018-09-Sep/scaled-840-0/J9asKW0Yk1citGlS-Zahlung_Phishing.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/J9asKW0Yk1citGlS-Zahlung_Phishing.png)

1\. Wer ist der Absender? 1.1 Absender E-Mailadresse überprüfen, kennt man die? Sieht sie kryptisch aus? Z.B. „rechnung123456@qjadkj.curzdh.ru“ sieht alles andere aus als seriös.   
In dem Beispiel sieht man den Absender „403341355@ “.  
Ich denke nicht, dass die Volksbank Rechnungen verschickt von einer Domain namens „tuch-achalm.de“.  
  
2\. Prüft ob ihr überhaupt Kunde bei der Firma seid, die euch eine Rechnung schickt. Oft höre ich aus Familien- und Freundeskreisen, dass Rechnungen per E-Mail eintrudeln von Firmen wo die Leute gar nicht Kunde sind.  
Wenn nicht, löscht einfach die E-Mail.  
3\. Sind Links in der E-Mail enthalten? Oft ist die Betrugsmasche so, dass ein Link geschickt wird. (siehe Bild oben)  
Bei solchen Versuchen kann man oft klar erkennen, dass es sich um einen Betrug handelt. Oft endet der Link auf „.zip“ oder noch besser „.zip.exe“.  
In den meisten Fällen enthalten ZIP Dateien Viren, die den Rechner befallen sollen.  
Wenn man mit dem Mauszeiger mal über den Link „fliegt“ und dann unten links im Outlook oder im Internetbrowser schaut, sieht man die Seite wo man hingeleitet werden soll.  
In unserem Beispiel wollten die Betrüger mich auf folgende Seite weiterleiten:  
„[http://cizimmasasi.com.tr/wp-content/themes/twentythirteen/data\_protection\_officer\_volksbank“](http://cizimmasasi.com.tr/wp-content/themes/twentythirteen/data_protection_officer_volksbank%E2%80%9C)  
Wenn man schon auf solche seltsamen Websiten mit der Endung „.com.tr“ weitergeleitet wird, ist der Betrug schon deutlich zu erkennen. Mal abgesehen von dem Namen der Website „cizimmasasi“.  
  
  
Entweder werden Rechnungen als PDF im Anhang mitgeschickt oder ihr werdet gebeten euch bei dem Onlineshop einzuloggen und über euer Kundenkonto die aktuelle Rechnung anzuschauen.  
Und wenn ihr euch immer noch unsicher seid habt ihr 2 Optionen:

<div id="bkmrk-l%C3%B6scht-die-e-mail.-"><div><div>1. Löscht die E-Mail. Wenn jmd eine offene Forderung euch gegenüber hat, wird sich derjenige schon per Post melden.
2. Fragt Stephan oder mich einfach und wir prüfen dann betreffenden E-Mails.

</div></div></div>### <span class="mw-headline" id="Paypal_Beispiel">Paypal Beispiel</span>

Diese Woche erreichte mich eine sog. Phishing E-Mail eines Kumpels, die richtig gut war!  
Auf dem Bild steht schon mal info@paypal.de , da könnte man annehmen, dass die E-Mail von Paypal selber kommt.  
Weiter schreiben die Betrüger, dass in seinem Account die Adresse geändert wurde auf irgendeine Adresse in Hamburg.   
Dort wohnt er aber nicht und er hat auch so nichts mit der genannten Adresse zu tun.  
Dann wird wie gewohnt ein Link platziert wo man drauf klicken soll um in einem Formular seine Daten einzugeben um das Konto zu verifizieren.  
Dieser Link verweist wieder mal auf eine Betrüger Website.  
Für den Laien sieht alles echt aus, aber Achtung!  
Eine Internetadresse verweist ja immer auf eine Domain, z.B. die Domain google.de oder amazon.de.  
Als Besitzer einer Domain kann man aber sog. Subdomains (Unterdomains) anlegen und benutzen um seine Prozesse zu strukturieren.  
Man könnte z.B. im Shoppingbereich für den Vertrieb die Subdomain Vertrieb erstellen, das würde dann so aussehen: "vertrieb.shop.de"  
Hier versuchen die Betrüger dem Laien vorzugaukeln man würde auf die originale Paypal.com Seite weiterleiten. Denn der Link beinhaltet „paypal.com.secure-team.net“. Die eigentliche Domain ist aber „secure-team.net“. „paypal.com.“ sind nur Subdomains.  
Was mir auch aufgefallen ist, sind die angeblichen Links zu dem „Hilfe-Center“ und dem „Sicherheits-Center“ in dem unteren Bereich.  
Das sind nämlich keine Verlinkungen, sondern lediglich formatierter Text.  
Mittlerweile ist die Website wo man seine Daten eingeben soll schon gar nicht mehr online.  
[![Paypal_Phishing.png](https://wiki.freakylabs.de/uploads/images/gallery/2018-09-Sep/scaled-840-0/It0zoKx1AcUqTdJ5-Paypal_Phishing.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/It0zoKx1AcUqTdJ5-Paypal_Phishing.png)

### <span class="mw-headline" id="Amazon_Beispiel">Amazon Beispiel</span>

Hier mal noch ein einfaches Beispiel, dass nicht gut gemacht wurde von den Betrügern. Hier sieht man bei allen rot markierten Sachen Fehler oder nicht seriöse Infos.

<div id="bkmrk-am-oberen-rand-sieht"><div><div>1. Am oberen Rand sieht man ganz deutlich eine Internetadresse (Domain) namens **bunpork9.com**, die definitiv nicht zu Amazon gehört.
2. Die Anrede ist fehlerhaft. Erstens ist mein Name mit Vor- und Nachnamen angegeben und dann auch noch klein geschrieben. Der Vorname hat hier normalerweise nix zu suchen.
3. Der ominöse, orange hinterlegte Link enthält eine Verlinkung auf einen Internetanbieter, der sehr lange Internetadressen verkürzt. Prinzipiell ist das nichts schlechtes aber so etwas ist mir noch nie in einer Amazon, ebay oder Paypal E-Mail untergekommen.

</div></div></div>[![Amazon_Phishing.png](https://wiki.freakylabs.de/uploads/images/gallery/2018-09-Sep/scaled-840-0/eMxpbYA9vuPdkqcX-Amazon_Phishing.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/eMxpbYA9vuPdkqcX-Amazon_Phishing.png)

Wie ihr seht lässt sich dieses Beispiel schnell analysieren und als Phishing - Betrug identifizieren.

### <span class="mw-headline" id="Sparkasse_Beispiel">Sparkasse Beispiel</span>

Heute erreichte mich auf der Firmen E-Mail Adresse eine Phishing E-Mail, die so gebaut wurde, dass sie aussieht als wäre sie von der Sparkasse geschickt wurden.  
An dem Beispiel kann man genauso gut wieder die typischsten Merkmale einer Phishing E-Mail zeigen.

<div id="bkmrk-absender-e-mail%3A-die"><div><div>1. Absender E-Mail: Die Domäne "support.com" hat überhaupt nichts mit der Sparkasse zu tun. Die Sparkasse nutzt ihre eigene Domäne "sparkasse.de" oder speziell für ein Bundesland "spk-burgenlandkreis.de".
2. Anrede: Die Anrede ist wieder absolut beispielhaft! Sie ist total neutral gehalten. Auch bei automatisch generierten E-Mails wird man in der Regel mit Namen angesprochen. Sicherlich gibt es Ausnahmen aber das hier sollte euch immer erstmal stutzig machen.
3. merkwürdige Verlinkungen: Hier haben wir mal ein Beispiel, das ich persönlich nicht so oft bekomme. Der gesamte Inhalt der E-Mail ist als Bild verankert und als Verlinkung auf eine Internetseite eingebaut. Somit wollen die Betrüger erzwingen, dass man immer auf die Seite weitergeführt wird - egal wohin man klickt.

</div></div></div>[![Phishing-Sparkasse.png](https://wiki.freakylabs.de/uploads/images/gallery/2018-09-Sep/scaled-840-0/unQ7NBNKYXJT4tsc-Phishing-Sparkasse.png)](https://www.wiki.freakylabs.de/BookStack/public/uploads/images/gallery/2018-09-Sep/unQ7NBNKYXJT4tsc-Phishing-Sparkasse.png)

# PHP

## <span class="mw-headline" id="open_basedir_restriction_in_effect">open\_basedir restriction in effect</span>

### <span class="mw-headline" id="Szenario">Szenario</span>

**VServer:**  
CentOS Linux 7.3.1611 (Core)‬  
Plesk Onyx Version 17.5.3 Update #24  
Fuel CMS Version 1.4  
PHP 5.6.31, MariaDB 5.5.56-MariaDB

### <span class="mw-headline" id="Fehlermeldung">Fehlermeldung</span>

```
A PHP Error was encountered
Severity: Warning
Message: is_dir(): open_basedir restriction in effect. File(/var/lib/php/session) is not within the allowed path(s): (/var/www/vhosts/DOMAIN.de/:/tmp/)
Filename: drivers/Session_files_driver.php
Line Number: 134
Backtrace:
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 791
Function: __construct
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 684
Function: _ci_init_library
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 538
Function: _ci_load_stock_library

...das geht hier noch weiter....

```

### <span class="mw-headline" id="Ursache">Ursache</span>

In Plesk kann man die PHP Einstellungen für die Domains verwalten. Hier ist standardmäßig eine sehr restriktive Einstellung getroffen, dass PHP Skripte ihr root Verzeichnis der Website nicht verlassen dürfen.

### <span class="mw-headline" id="L.C3.B6sung">Lösung</span>

Das kann man seinen Bedürfnissen anpassen indem man bei der Option für **open\_basedir** den Pfad für die Option **session.save\_path** hinzufügt.  
Der Standardeintrag ist: `{WEBSPACEROOT}{/}{:}{TMP}{/}`  
Diesen erweitert man um den Wert der Option **session.save\_path** (Standardwert ist /var/lib/php/session): `{:}/var/lib/php/session`

# TicketSysteme - GLPI

## <span class="mw-headline" id="GLPI_-_IT_und_Asset_Management_System">GLPI - IT und Asset Management System</span>

### <span class="mw-headline" id="Fehlerbehebung">Fehlerbehebung</span>

​

<table class="wikitable sortable jquery-tablesorter" id="bkmrk-fehlermeldung-kompon"><thead><tr><th class="headerSort" role="columnheader button" tabindex="0" title="Sort ascending">Fehlermeldung</th><th class="headerSort" role="columnheader button" tabindex="0" title="Sort ascending">Komponente</th><th class="headerSort" role="columnheader button" tabindex="0" title="Sort ascending">Ursache</th><th class="headerSort" role="columnheader button" tabindex="0" title="Sort ascending">Lösung</th><th class="headerSort" role="columnheader button" tabindex="0" title="Sort ascending">Quelle</th></tr></thead><tbody><tr><td>error accessing config table</td><td>GLPI Frontend</td><td>Datenbanktabelle glpi.configs beschädigt</td><td rowspan="2">1. service mysql stop
2. If your MySQL process is running, stop it. On Debian: sudo service mysql stop Go to your data folder. On Debian: cd /var/lib/mysql/glpi.configs
3. myisamchk -r glpi.configs

</td><td>[http://forum.glpi-project.org/viewtopic.php?id=32557](http://forum.glpi-project.org/viewtopic.php?id=32557)</td></tr><tr><td>/usr/sbin/mysqld: Table './glpi/glpi\_configs' is marked as crashed</td><td>MySQL Log</td><td>Datenbanktabelle glpi.configs beschädigt</td><td>[http://stackoverflow.com/questions/8843776/mysql-table-is-marked-as-crashed-and-last-automatic-repair-failed](http://stackoverflow.com/questions/8843776/mysql-table-is-marked-as-crashed-and-last-automatic-repair-failed)</td></tr></tbody></table>

# VMWare - Vim-cmd

## <span class="mw-headline" id="Lizenzierung">Lizenzierung</span>

Auf der Suche nach einer Auflistung der Produktmerkmale bin ich auf [eine gute Seite von Thomas Krenn AG](https://www.thomas-krenn.com/de/wiki/VMware_vSphere_6_Editionen_Funktionsunterschiede) gestoßen.  
Außerdem hat die Firma [einen Lizenzkonfigurator für VMWare](https://www.thomas-krenn.com/de/produkte/software/lizenz-konfigurator.html).   
  
Für die Kalkulation eines Budgets musste ich mich über die verschiedenen Versionen der Standard Edition informieren. Durch den o.g. Konfigurator bin ich erstmals über die sog. Acceleration Kits gestolpert und musste mir das mal genauer erklären lassen. Ein VMWare Experte von o.g. Firma war so freundlich mir das am Telefon ausführlich zu erklären.  
Ich habe die Produkte **VMware vSphere 6 inkl. Acceleration Kit Standard (6 CPUs) inkl. 12 Monate Basic SnS (EU, CH)** und die Version mit 36 Monate Basic SnS angefragt. Die Preise lagen so bei ca. 12.800€ für 12 Monate Support und 16.600€ bei 36 Monate Support. Als Tipp: Wenn man über 10.000€ bei VMWare investieren will dann kann man direkt bei VMWare ein Projekt anmelden und bis zu 10% Rabatt bekommen.  
Nicht wundern, dass man bei dem Konfigurator nur Editionen mit der Funktion **vSOM** findet. Man kann die anderen Editionen telefonisch anfragen.

## <span class="mw-headline" id="Begriffskl.C3.A4rung">Begriffsklärung</span>

### <span class="mw-headline" id="Acceleration_Kit">Acceleration Kit</span>

Eine Lizenzform in der bereits der vCenterServer mit enthalten ist und nicht separat lizenziert werden muss. Ein Acceleration Kit gibt es für die Standard und Enterprise Plus Version.([siehe Vergleichstabelle](https://www.thomas-krenn.com/de/wiki/VMware_vSphere_6_Editionen_Funktionsunterschiede#VMware_vSphere_Acceleration_Kits))

### <span class="mw-headline" id="SnS">SnS</span>

Das heißt ausgesprochen **Support and Subscription Service** und beschreibt, dass ein Produkt inklusive Support ist. Man unterscheidet dabei auch in verschiedene Supportlevel. Oft werden die Level **Basic** oder **Production** angeboten.Eine Vergleichstabelle findet ihr [hier](https://www.thomas-krenn.com/de/wiki/VMware_vSphere_Supportunterschiede).

### <span class="mw-headline" id="vSOM">vSOM</span>

Das heißt ausgesprochen **vSphere mit Operation Management**.  
Hier mal ein Zitat aus der Erklärung von VMWare:

*vSphere with Operations Management (vSOM) beinhaltet vRealize Operations. Damit können Sie die Vorteile von vSphere dank anwenderfreundlichem Kapazitätsmanagement und Performance-Überwachung voll ausschöpfen. Und das mit noch mehr Funktionen und zuverlässigerer Optimierung als die Konkurrenz.*

- *Lernfähige Analytik: Unsere Analysefunktionen lernen Ihre Umgebung kennen und evaluieren automatisch mehr als 600 vSphere-Kennzahlen, damit Sie das nicht tun müssen.*
- *Fehlerbehebung mit Anleitung: Erhalten Sie einfache Problemerklärungen mit empfohlenen Korrekturmaßnahmen.*
- *Automatische Kapazitätsoptimierung: Gewinnen Sie übermäßig bereitgestellte Kapazität zurück, steigern Sie die Ressourcenauslastung und machen Sie komplexe Skripts und Tabellen überflüssig.*

  
*Distributed Resource Scheduler (DRS) optimiert die Workload-Platzierung, um die Anwendungs-Performance zu maximieren. Dabei werden Computing, Storage und Netzwerk auf eine Weise analysiert, wie es mit VMTurbo nicht möglich ist.*   
*vSphere with Operations Management (vSOM) beinhaltet vRealize Operations, das Kapazitätsoptimierung, intelligente (zusammengefasste) Warnmeldungen, Fehlerbehebung mit Anleitung, automatisierte Aktionen und flexible Richtlinien bietet, damit Sie die Kontrolle behalten.*[\[1\]](https://www.vmware.com/de/products/vsphere/vsphere-operations-management-compare.html)

## <span class="mw-headline" id="Quellen">Quellen</span>

[http://www.doublecloud.org/2013/11/vmware-esxi-vim-cmd-command-a-quick-tutorial/](http://www.doublecloud.org/2013/11/vmware-esxi-vim-cmd-command-a-quick-tutorial/)  
[http://www.yellow-bricks.com/2011/11/16/esxi-commandline-work/](http://www.yellow-bricks.com/2011/11/16/esxi-commandline-work/)

# Cheatsheets

Quelle: [http://blog.nashbrooklyn.com/various-web-programming-cheat-sheets/](http://blog.nashbrooklyn.com/various-web-programming-cheat-sheets/)

## ALTchars

[![ALTchars_cheat_sheet.gif](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/6oucCVG50jMPrwgh-ALTchars_cheat_sheet.gif)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/6oucCVG50jMPrwgh-ALTchars_cheat_sheet.gif)

## ASP[![asp_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/XGN2SBmmTNF462dY-asp_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/XGN2SBmmTNF462dY-asp_cheat_sheet.png)

## Characters

[![characters_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/1AcJBxkyTGs1XJDo-characters_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/1AcJBxkyTGs1XJDo-characters_cheat_sheet.png)

## Colourchart

## [![colourchart.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/scKXDv9DpoR4EK2M-colourchart.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scKXDv9DpoR4EK2M-colourchart.png)

## CSS

[![css_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/Hf5MVTJGvwzHeC24-css_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/Hf5MVTJGvwzHeC24-css_cheat_sheet.png)

## Firefox

## [![firefox_cheat_sheet.jpg](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/w3HpvVPXMCs0hyEF-firefox_cheat_sheet.jpg)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/w3HpvVPXMCs0hyEF-firefox_cheat_sheet.jpg)

## Google

[![google_cheat_sheet.jpg](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/V3C2IP32xrLclkoE-google_cheat_sheet.jpg)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/V3C2IP32xrLclkoE-google_cheat_sheet.jpg)

## HTML

## [![html-cheat-sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/kHM7bCd5SADXKYZC-html-cheat-sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/kHM7bCd5SADXKYZC-html-cheat-sheet.png)

## JavaScript

[![javascript_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/e7dLeMjdRiuy81bj-javascript_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/e7dLeMjdRiuy81bj-javascript_cheat_sheet.png)

## Jquery 1.2 Colorcharge

[![cheatsheet_jquery12_colorcharge.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/CVDu7DL7tTdZxj94-cheatsheet_jquery12_colorcharge.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/CVDu7DL7tTdZxj94-cheatsheet_jquery12_colorcharge.png)

## Jquery 1.3

## [![cheatsheet_jquery_1_3.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/UX7SYgSjGiM4Qqw8-cheatsheet_jquery_1_3.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/UX7SYgSjGiM4Qqw8-cheatsheet_jquery_1_3.png)

## mod\_rewrite

[![mod_rewrite_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/JvF3ase2ynLhO4nf-mod_rewrite_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/JvF3ase2ynLhO4nf-mod_rewrite_cheat_sheet.png)

## MySQL

[![mysql_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/HlTH7801xhGPNUZW-mysql_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/HlTH7801xhGPNUZW-mysql_cheat_sheet.png)

## PHP

[![php_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/IJQiKahHOnCIpZtn-php_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/IJQiKahHOnCIpZtn-php_cheat_sheet.png)

## Prototype 1.5.0

[![prototype1280w.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/o3Tcv3i0YyCZlfAs-prototype1280w.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/o3Tcv3i0YyCZlfAs-prototype1280w.png)

## Regular Expressions

[![regular_expressions_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/WIVfnvI0BaShAwkS-regular_expressions_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/WIVfnvI0BaShAwkS-regular_expressions_cheat_sheet.png)

## Ruby on Rails

[![ruby_on_rails_cheat_sheet.png](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/scaled-840-0/WnoJCpeBrMzLksWV-ruby_on_rails_cheat_sheet.png)](https://wiki.freakylabs.de/uploads/images/gallery/2019-08-Aug/WnoJCpeBrMzLksWV-ruby_on_rails_cheat_sheet.png)

# Strato

# E-Mail Server Einstellungen für Plesk,DNS

## Plesk

*Docs: [https://docs.plesk.com/de-DE/obsidian/administrator-guide/59433/](https://docs.plesk.com/de-DE/obsidian/administrator-guide/59433/)*

### <span class="page-content-header__title">Serverweite E-Mail-Einstellungen</span>

<span class="page-content-header__title">Weg dahin: </span><span class="page-content-header__title">Tools &amp; Einstellungen -&gt; Mailserver-Einstellungen  
</span>

[![Plesk_SPF_DMARC_DKIM.png](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/scaled-840-0/0MjD0rtumPTjAyu7-Plesk_SPF_DMARC_DKIM.png)](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/0MjD0rtumPTjAyu7-Plesk_SPF_DMARC_DKIM.png)

### <span class="page-content-header__title">Domain bezogene E-Mail-Einstellungen</span>

<span class="page-content-header__title">Weg dahin: </span><span class="page-content-header__title">Websites &amp; Domains -&gt; (Domain suchen) -&gt; E-Mail Einstellungen  
</span>

[![Plesk_DKIM_Spamschutz.png](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/scaled-840-0/Bj1w9SuU6DLF9VsI-Plesk_DKIM_Spamschutz.png)](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/Bj1w9SuU6DLF9VsI-Plesk_DKIM_Spamschutz.png)

### DKIM Key auslesen (Linux)

`openssl rsa -in /etc/domainkeys/meinedomain.com/default -pubout`

[https://support.plesk.com/hc/en-us/articles/115000214973](https://support.plesk.com/hc/en-us/articles/115000214973)

## DNS

### SPF, DMARC und DKIM

[![SPF_DMARC_DKIM.png](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/scaled-840-0/8jKuPhHqPTKjSJz9-SPF_DMARC_DKIM.png)](https://wiki.freakylabs.de/uploads/images/gallery/2020-07-Jul/8jKuPhHqPTKjSJz9-SPF_DMARC_DKIM.png)

## Quellen und Hilfsmittel

[https://www.mail-tester.com/](https://www.mail-tester.com/)

[https://www.summitcrm.de/faq/newsletter-emailings/registrierung-absender-domain-fuer-emailings-spf-dkim](https://www.summitcrm.de/faq/newsletter-emailings/registrierung-absender-domain-fuer-emailings-spf-dkim)

# DNS

# official Top Level Domains

## DNS with TLD

Lesestoff zu Best practises

- bind9
- Load Balancing A-Records: [https://bind9.readthedocs.io/en/v9\_16\_6/configuration.html#load-balancing](https://bind9.readthedocs.io/en/v9_16_6/configuration.html#load-balancing)
- Geo IP: [https://kb.isc.org/docs/aa-01149](https://kb.isc.org/docs/aa-01149)
- [https://geoip.site/](https://geoip.site/)


- highly-available-bind-dns-cluster-design-million-users : [https://www.root101.net/highly-available-bind-dns-cluster-design-million-users/](https://www.root101.net/highly-available-bind-dns-cluster-design-million-users/)
- BCP16 document : [https://www.rfc-editor.org/bcp/bcp16.txt](https://www.rfc-editor.org/bcp/bcp16.txt)
- Secure and HA DNS Infrastructure:[ https://insights.sei.cmu.edu/blog/six-best-practices-for-securing-a-robust-domain-name-system-dns-infrastructure/](https://insights.sei.cmu.edu/blog/six-best-practices-for-securing-a-robust-domain-name-system-dns-infrastructure/)
- DNS Erklärung und Security Empfehlungen: [https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-81-2.pdf](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-81-2.pdf)
- Absatz 7.2.7 -&gt; hidden primary DNS server

- Serverfault 01 : [https://serverfault.com/questions/17255/top-level-domain-domain-suffix-for-private-network](https://serverfault.com/questions/17255/top-level-domain-domain-suffix-for-private-network)
- DNS Konzept with Subzones: [https://serverfault.com/a/17730](https://serverfault.com/a/17730)
- Verweis auf AWS und GCP : [https://serverfault.com/a/1041148](https://serverfault.com/a/1041148)

- ANSSI’s recommendations : [https://news.gandi.net/en/2021/06/dns-server-management-how-gandi-helps-businesses-follow-anssis-recommendations/](https://news.gandi.net/en/2021/06/dns-server-management-how-gandi-helps-businesses-follow-anssis-recommendations/)
- NS1:
- dns-failover-basic-concepts-and-limitations [https://ns1.com/resources/dns-failover-basic-concepts-and-limitations](https://ns1.com/resources/dns-failover-basic-concepts-and-limitations)
- Integration of Managed DNS Service as Load and DDoS Protection: [https://ns1.com/resources/primary-dns-vs-secondary-dns-and-advanced-use-cases](https://ns1.com/resources/primary-dns-vs-secondary-dns-and-advanced-use-cases)

- A DNS load balanced HA cluster with Bind9 and BalanceNG : [https://load-balancer.inlab.net/examples/a-dns-load-balanced-ha-cluster-with-bind9-and-balanceng/](https://load-balancer.inlab.net/examples/a-dns-load-balanced-ha-cluster-with-bind9-and-balanceng/)

## TLD vs interne IPs

\* [https://www.rfc-editor.org/rfc/rfc6762#appendix-G](https://www.rfc-editor.org/rfc/rfc6762#appendix-G)

\* oTLD für Tests:

\*\* [https://www.rfc-editor.org/rfc/rfc2606#section-2](https://www.rfc-editor.org/rfc/rfc2606#section-2)

\*\* [https://datatracker.ietf.org/doc/html/rfc6761#section-6.2](https://datatracker.ietf.org/doc/html/rfc6761#section-6.2)

\* oTLD, die noch nicht offiziell freigegeben sind bereits intern nutzen: [https://isc.sans.edu/forums/diary/Stop+Using+internal+Top+Level+Domain+Names/21095/](https://isc.sans.edu/forums/diary/Stop+Using+internal+Top+Level+Domain+Names/21095/)

\* DNS Schwachstellen: [https://www.varonis.com/de/blog/was-dns-ist-wie-es-funktioniert-und-schwachstellen](https://www.varonis.com/de/blog/was-dns-ist-wie-es-funktioniert-und-schwachstellen)

# DNS und (o)TLD

# oTLD für interne Dienste

Im öffentlichen DNS Provider:

- a-Record zum internen Proxy

im internen Reverse Proxy:

- TLS Terminierung machen
- Loadbalancing machen
- kann intern erreichbar sein um internes DNS zu ermöglichen

Allgemeine Infos zum Thema:

- DMZ benutzen
- Hypervisor getrennt für intern und DMZ betreiben, nicht alles auf 1 Hypervisor betreiben
- möglichst wenige interne IP Adresse bei öffentliche DNS Providern hinterlegen
- Namen in öffentliche DNS Providern benutzen, die nicht auf die eingesetzte Software hinweisen -&gt; Exploits direkt nutzbar
- split DNS könnte genutzt werden 
    - DNS intern löst oTLD intern auf (LAN)
    - DNS extern löst oTLD extern auf (Internet)
- DNSSEC 
    - kryptografische Signaturen auf DNS Einträge
    - es wird alles signiert
    - Subzonen können dann delegiert werden
    - DNSSEC geht nicht mit split DNS
- 2 getrennte oTLD für extern und intern 
    - man kann DNSSEC machen
    - Nachteil doppelte Kosten
    -
- domain offensive.de -&gt; [https://do.de](https://do.de)
-

# Steam

## mehrere Items auf dem Steam Markt verkaufen mit einmal einstellen

Name eines Items über den Marktplatz herausfinden aus der URL:  
Beispiel Phoenix Kisten:  
https://steamcommunity.com/market/listings/730/Operation%20Phoenix%20Weapon%20Case

Steam mehrere identische Items gleichzeitig verkaufen:  
Beispiel Link mit Phoenix Kisten  
[https://steamcommunity.com/market/multisell?appid=730&amp;contextid=2&amp;items\[\]=Operation%20Phoenix%20Weapon%20Case ](https://steamcommunity.com/market/multisell?appid=730&contextid=2&items%5B%5D=Operation%20Phoenix%20Weapon%20Case)