Raspberry Pi headless setup

Meine heimliche Liebe zu Einplatinenrechner ist kein Geheimnis. Ist erst ein Ansatz zur Automatisierung gefunden, wird dieser direkt durch ein „Raspberry Projekt“ umgesetzt. Zugegeben, in den letzten Wochen schwärme ich auch für Arduino, welcher tolle Möglichkeiten eröffnet – Aber Raspberry dominiert dennoch unseren Haushalt durch Webcams, Ambilight, Speedmessungen am DSL Anschluss, 3D Drucker und vieles mehr. Aktuell arbeite ich gerade an einem Thermometer, welches von einem Arduino mit DHT22 über 433 MHz Messungen empfängt, statistisch am Pi aufwertet und dann an einem Webserver überträgt. Damit der Pi Zero auch ohne Monitor und Tastatur direkt gestartet werden kann, sind zunächst jedoch einige Änderungen notwendig.

Download des aktuellen Raspbian Image und Installation durch Etcher

Dieser Schritt sollte relativ selbstredend sein, daher werde ich auf die Installation nicht näher eingehen. Früher habe ich das Image aus der Console mit dd aufgespielt, heute mache ich dies über Etcher (hier kann man Etcher Downloaden)

Etcher

WiFi konfigurieren

Als nächstes muss vor dem ersten Start des Pi eine Datei erstellt werden. Diese muss auf der /boot Partition des Pi gespeichert werden.

Inhalt der Datei /boot/wpa_supplicant.conf

SSH aktivieren

Nachdem wir nun die WLAN Einstellungen am Raspberry gemacht haben, müssen wir noch eine leere Datei im /boot Verzeichnis erzeugen und nennen diese „ssh“. Dies bewirkt, das der SSH Dienst bei booten automatisch gestartet wird.

Fertig: Kennwort bitte ändern

Starten wir nun den PI, können wir uns mit Putty oder sonstigen SSH Client anmelden: ssh pi@raspberrypi Das Default Passwort für den Benutzer pi lautet „raspberry“ und sollte umgehend geändert werden. Eine solche Kombination ist ein sehr hohes Sicherheitsrisiko.

Raspberry Pi Zero Pin Belegung

Über den Autor

Mein Name ist Stefan Eggert, als Freiberufler berate ich seit über 10 Jahren im Bereich IT-Sicherheit und forsche mit meinem Team zusätzlich rund um das Thema Schwachstellen. Spezialisiert habe ich mich auf DDoS, Schwachstellenmanagement und Kennwortsicherheit. Beruflich bin ich erreichbar unter www.stefan-eggert.de

E-Mail Benachrichtigung bei SSH Login

Wer gerne über einen SSH Login per E-Mail informiert werden möchte, kann dies über ein recht einfaches Script erledigen. Hierzu muss zunächst unter Centos mailx installiert werden, damit der mail command funktioniert. Ob der Mail command vorhanden ist, lässt sich einfach mit

ausfindig machen. Alternativ kann man sich auch einfach eine Testmail senden lassen:

Zur Installation unter Centos verwenden wir yum:

Anschließend muss die Datei /etc/bashrc so verändert werden, das der folgende Code direkt am Anfang ausgeführt wird:

Nach einem erfolgreichem SSH Login bekommt der Benutzer dann eine E-Mail: Login on web29.stefan-eggert.de Sa 20. Apr 10:13:31 CEST 2019 root pts/0 2019-04-20 10:13 (xxx)

Über den Autor

Mein Name ist Stefan Eggert, als Freiberufler berate ich seit über 10 Jahren im Bereich IT-Sicherheit und forsche mit meinem Team zusätzlich rund um das Thema Schwachstellen. Spezialisiert habe ich mich auf DDoS, Schwachstellenmanagement und Kennwortsicherheit. Beruflich bin ich erreichbar unter www.stefan-eggert.de

OrangeHRM unter Centos 7

Heute habe ich mich mit dem Thema OrangeHRM unter Centos 7 beschäftigt. Folgende Schritte sind für eine Installation unter Centos 7 notwendig:

Vorbereitung und Systemupdate

  • Minimal Installation Centos 7 installieren
  • Nach der Installation ist ein yum update erforderlich, um die aktuellsten Pakete zu installieren.

Apache Webserver installieren

Nachdem Centos nun ein Update aller Pakete erhalten hat, kann der Apache Webserver installiert werden. Hierzu wird wieder der Paketmanager yum verwendet:

Nachdem der Webserver installiert wurde, kann dieser mittels

gestartet werden.

Mit einem einfachen netstat -tulpen kann man nun kontrollieren, ob der Webserver auf auf dem Interface läuft:

Datenbank installieren und einrichten

Als nächstes muss MariaDB für die Datenbanken installiert werden. Dies erfolgt mit

Um mariaDB zu starten (auch beim Booten) wird nun folgendes ausgeführt:

Um die SQL Installation nun abzusichern, wird mysql_secure_installation angewendet. Die zu beantwortenden Fragen müssen alle mit Y beantwortet und ein neues Kennwort vergeben werden.

Als nächstes müssen diverse queries für die OrangeHRM Installation durchgeführt werden. Hierzu melden wir uns wie folgt am SQL Server an:

Anschließend erstellen wir die Datenbank „orangehrm“, indem wir am SQL Server folgende Befehle eingeben:

Danach erstellen wir einen neuen User (orangehrm_user) und vergeben ein gutes Kennwort (StrongPassword). Besonders das Kennwort sollte natürlich nicht per Copy Paste übernommen sondern geändert werden 😉 . Im Anschluss werden noch die Privilegien gesetzt und MariaDB wird mit \q verlassen.

PHP installieren

Als nächstes benötigt unser Webserver noch PHP. Um dieses mit allen möglichen Extensions zu installieren, fügen wir erst ein neues Repository hinzu:

Anschließend installieren wir php mit php-opcache und starten unseren Webserver neu:

OrangeHRM installieren

Jetzt müssen wir OrangeHRM installieren. Hierzu gehen wir in in das root Verzeichnis vom Webserver und laden die aktuelle Version von OrangeHRM mit wget. Sollte wget und und unzip noch nicht auf dem System sein, so kann dies mittels

installiert werden. Anschließend erfolgt der Download und das entpacken:

Jetzt müssen noch die Berechtigungen angepasst werden:

In der Datei /etc/my.cnf muss nun nach [mysqld] noch eine Zeile mit event_scheduler = ON  hinzugefügt werden. Dies machen wir mit vi /etc/my.cnf

Anschließend wird MariaDB neu gestartet:

Nun müssen wir wieder mit vi in der Datei /etc/httpd/conf/httpd.conf die Zeile  „AllowOverride None“ suchen und diese in „AllowOverride All“ ändern. Anschließend starten wir den Webserver neu. Hierdurch wird die .htaccess Datei aktiviert und verwendet.

Anschließend aktivieren wir noch die Firewall und deaktivieren selinux:

OpenHRM über das Webinterce installieren

Die Einrichtung des Servers ist abgeschlossen. Als nächsten muss OpenHRM installiert werden. Hierzu rufen wir im Browser die IP Adresse des Servers auf:

OrangeHRM installer

Die bestehende Datenbank wird mit dem Datenbanknamen, unseren Username und dem Password konfiguriert:

Datenbank konfigurieren

Als letztes legen wir noch einen Admin User an und stellen die Sprache / Zeitzone ein. Anschließend bestätigen wir die Einstellungen unter „Confirmation“ und installieren die Anwendung:

Nachdem die Installation erfolgreich gewesen ist, können wir als URL wieder die IP Adresse des Servers eingeben und sehen sofort den Startbildschirm.

Über den Autor

Mein Name ist Stefan Eggert, als Freiberufler berate ich seit über 10 Jahren im Bereich IT-Sicherheit und forsche mit meinem Team zusätzlich rund um das Thema Schwachstellen. Spezialisiert habe ich mich auf DDoS, Schwachstellenmanagement und Kennwortsicherheit. Beruflich bin ich erreichbar unter www.stefan-eggert.de