Beaver Builder: Javascript im Editor nicht ausführen

Wenn man auf einer Seite, die mit dem Beaver Builder erstellt wurde, ein Javascript einbaut, das z.B. Elemente positioniert oder unsichtbar macht, dann führt das oft zu seltsamen Effekten im Beaver Builder selbst. „Beaver Builder: Javascript im Editor nicht ausführen“ weiterlesen

Lass andere teilhaben...

Die öffentliche IP Adresse per Webseite oder Kommandozeile

Öffentliche IP? Was ist das denn?

Na ja, Eure Geräte sind in der Regel mit einem Router verbunden, den man normalerweise von seinem Internetprovide bekommt und der mit dem Kabel- oder Telefon-Anschluß verbunden ist.

Alles was zwischen Euren Geräten, z.B. dem Laptop, und dem Internet übertragen wird, läuft über diesen Router. Aus Sicht des Internets hat Eure Router EINE Adresse, auch wenn Ihr 20 Laptops anschließt. Das ist dann die öffentliche IP Adresse.
IP Adressen bestehen übrigens aus 4 mit Punkten getrennten Zahlen und reichen von 0.0.0.0 bis 255.255.255.255.

Der Router verpasst jedem Laptop eine eigene interne Adresse und vermittelt dann die Daten zwischen dem Internet und Euren Geräten.

Wenn Ihr also Euren Laptop fragt, welche IP Adresse er hat, bekommt Ihr nur diese interne Adresse zu sehen, nicht die öffentliche.
Interne IP Adressen erkennt Ihr daran, dass sie mit 192.168.x.x oder 10.x.x.x anfangen. Solche Adressen werden im Internet nicht verwendet.

Wenn Ihr mit Eurem Laptop nun eine Webseite aufruft, sieht der Server, von dem die Seite kommt, aber nicht die interne Adresse Eures Laptops, sondern nur die öffentliche IP Adresse eures Routers. Daran kann die Webseite z.B. feststellen, aus welchem Land Ihr die Seite aufruft.

Wie kommt man an diese Adresse? Wie immer gibt es mehrere Möglichkeiten:

„Die öffentliche IP Adresse per Webseite oder Kommandozeile“ weiterlesen

Lass andere teilhaben...

SSH: Login mit Key statt Passwort und schön bunt

Jedes Mal wenn ich einen neuen Raspberry oder Webserver einrichte, mache ich ein paar Modifikationen an der bash Shell und sorge dafür, dass ich mich ohne Passwort mit einem Schlüssel anmelden kann und an der Farbe des Prompts erkenne, ob ich mit root-Rechten arbeite.
Eingefärbte Verzeichnisse und praktische Abkürzungen mag ich auch.

Also bash sicherer und praktisch.

Weiterlesen

VPN Server einrichten

Wolltet Ihr auch schon mal von unterwegs auf Euer NAS zugreifen? Oder auf den PC? Mache ich dauernd. Meistens mit der Hilfe des Teamviewers, aber manchmal hilft der nicht weiter. Z.B. wenn man auf einen FileShare zugreifen möchte.

Dann könnte man ein VPN (virtual private network) benutzen. Damit verbindet man seinen Laptop oder das Handy mit dem Netzwerk zu Hause. Das funktioniert dann genauso als wäre man daheim im WLAN.

Manche Router bieten so etwas von Haus aus. So auch meine FritzBox. Nur ist die Konfiguration der “Clients”, also der Software auf dem Laptop, extrem unpraktisch und unflexibel.

Mit sind Standard-Lösungen lieber, die dann auch von überall, von jedem Handy, Mac, Windows PC und so weiter funktionieren. So eine Standard-Lösung ist OpenVPN, das nun wirklich überall benutzt wird. Warum also nicht einen Raspberry (egal welche Version), die es für wenig Geld überall zu kaufen gibt, als OpenVPN Server benutzen.

Im folgenden beschreibe ich, wie man so etwas einrichtet.

Ausgangspunkt ist ein Raspberry Pi (Version egal) mit installiertem “Raspbian” Betriebssystem. Eine Anleitung dazu gibt es z.B. auf raspberrypi.org. Außerdem solltet Ihr per SSH auf den Raspberry zugreifen können. SSH schaltet man mittels sudo raspi-config ein (Interfacing Options / SSH) und benutzt anschließend Putty um sich von einem Windows Rechner aus mit Raspi zu verbinden.

Die Anleitung funktioniert aber genauso mit einem Debian-Linux oder Ubuntu.

Erst mal eine Root-Shell öffnen und alles auf den neuesten Stand bringen:
sudo -s
apt-get update
apt-get upgrade

Dann den OpenVPN Server und ein Tool zum generieren der nötigen Schlüssel installieren:
apt-get install openvpn
apt-get install easy-rsa

easy-rsa benötigt ein wenig Konfiguration:
sudo make-cadir /etc/openvpn/easy-rsa

Damit wurden die Konfigurationsdaten kopiert, wir müssen uns nur noch für die richtige openssl-Version entscheiden und die entsprechende Datei umbennen:
cd /etc/openvpn/easy-rsa
mv openssl-1.0.0.cnf openssl.cnf

Nun mittels nano die Datei vars ändern. Also nano vars ausführen und die Zeile
export EASY_RSA="`pwd`"
so ändern:
export EASY_RSA="/etc/openvpn/easy-rsa"
Wer Lust hat, kann auch noch die Angaben für den Ort, Firma usw. ändern, aber das ist nicht unbendingt nötig:
export KEY_COUNTRY="AT"
export KEY_PROVINCE="Vienna"
export KEY_CITY="Vienna"
export KEY_ORG="tethis IT"
export KEY_EMAIL="support@tethis-it.at"
export KEY_OU="VPN"
Speichern und verlassen mit STRG-o, Return und STRG-x

Jetzt können wir die Skripte benutzen um Schlüssel zu generieren. Eine genaue Erklärung der Schritte findet sich in der OpenVPN Dokumentation.

source ./vars
./clean-all
./build-ca

Jetzt kommen ein paar Fragen. Was man da eingibt ist eigentlich egal, einfach mehrmals Return drücken ist ok.

./build-key-server Server

Anstelle von “Server” könnt Ihr auch irgendwas anderes benutzen. Merkt es Euch, denn jetzt kommen ein paar Fragen. Nur die folgenden sich dabei wichtig:
Common Name (eg, your name or your server's hostname) [Server]: => einfach Return drücken
A challenge password []: => einfach Return drücken
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y

Nun erzeugen wir je einen Schlüssel für alle Benutzer, die das VPN nutzen wollen. Hier heißt er beispielhaft “user” und bekommt das Passwort “password”
./build-key-pass user
Enter PEM pass phrase: => password + Return
Verifying - Enter PEM pass phrase: => password + Return
Die folgenden Fragen einfach mit Return beantworten. Wer Lust hat, kann die E-Mail-Adresse ändern, aber das Challenge Passwort MUSS leer bleiben und die beiden letzten Fragen werden mit y beantwortet:
A challenge password []: => einfach Return drücken
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y

Jetzt noch die DES3-Version dieses Schlüssels erzeugen (für Handys nötig):
cd keys
openssl rsa -in user.key -des3 -out user.3des.key
Man wird zuerst nach der pass phrase von oben gefragt, danach muss man zwei mal eine neue pass phrase eingeben. Einfach drei mal das oben festgelegte “password” eingeben.

Dann brauchen wir noch Schutz gegen Denial-of-Service Attacken und einen Diffie-Hellmann-Key:
cd /etc/openvpn/easy-rsa
openvpn --genkey --secret keys/ta.key
./build-dh
Das dauert. Geht euch ein, zwei Tassen Kaffee holen, oder macht einfach in einem zweiten Putty Fenster weiter, bis Ihr an den Punkt kommt, wo der Raspi rebootet werden muss.

Der OpenVPN Server braucht eine Konfiguration.
Meine Vorlage dazu gibt es hier: server.conf
nano /etc/openvpn/server.conf
Dann den Inhalt der Vorlagen hier hinein kopieren (Strg-C auf der Webseite, dann rechts-klick im nano Fenster).
Es müssen einige IP Adressen angepasst werden. An diesen Stellen sind in der Datei GROSSGESCHRIEBENE Kommentare.
Danach die Daten mit Strg-O und Strg-X speichern.

Jetzt kümmern wir uns um den Linux-Kernel und die Firewall.
Erst mal dem Kernel erlauben, überhaupt Netzwerkpakete weiterzuleiten:
nano /etc/sysctl.conf

Das ‘#’ am Anfang der Zeile #net.ipv4.ip_forward=1 entfernen.
Die Datei mit Strg-O und Strg-X speichern.
sysctl -p macht die Änderung wirksam.

Um eine Ausnahme für die Firewall einzurichten, geben wir folgendes ein:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT –to-source 192.168.XX.XX
Dabei die IP Adresse am Ende durch die IP Adresse des Raspberry ersetzen.
Mit iptables -L -t nat kann man sich ansehen, ob das funktioniert hat. Es sollte etwas wie folgt angezeigt werden:
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all — 10.8.0.0/24 anywhere to:192.168.178.56

Dummerweise geht die Regel beim nächsten Boot wieder verloren, also müssen sie noch permanent machen:
apt-get install iptables-persistent
iptables-save > /etc/iptables/rules.v4

Damit ist der Server fertig!! Fehlt nur noch ein Reboot:
reboot

Nun wieder dem Raspberry verbinden, sudo su - und nun den OpenVPN Server starten
systemctl start openvpn@server
systemctl enable openvpn@server

 

Lass andere teilhaben...

Eine PHP Entwicklungsumgebung installieren

Nachdem ich jetzt einen weiteren Auftrag für die Entwicklung eines PHP Skripts erhalten habe, wird es langsam Zeit, sich “häuslich einzurichten”. Soll heißen, es braucht eine sinnvolle PHP Entwicklungsumgebung.

Und zwar eine, in der man sich halbwegs schnell zurechtfindet.
In meinem Fall für Windows 10.

Ich schon einige Erfahrungen mit Eclipse gemacht, und dort gibt es schon eine ziemlich Hürde. Bis man damit gut und schnell umgehen kann, dauert es eine Weil.

Viel besser gefällt mir NetBeans!
Einfach einzurichten und leicht zu bedienen. Obwohl eigentlich für die Entwicklung von Java und JavaScript Programmen gedacht, gibt es mittlerweile Pakete, die speziell als Entwicklungsumgebung für PHP und HTML 5 gedacht sind.
Was ich besonder beeindruckend fand, war die Einbindung des Debuggers. Endlich kann ich ein PHP Skript schrittweise ausführen und mir Variableninhalte ansehen, ohne vorher zwei Tage nach Installationsanleitungen zu suchen.

Also, ans Werk! „Eine PHP Entwicklungsumgebung installieren“ weiterlesen

Lass andere teilhaben...

Wo sind die synchronisierten Hintergrundbilder?

Windows 10 hat ja die nette Eigenschaft bestimmte Einstellungen wie Hintergrundbilder, Schriftgrößen, etc. auf alle Computer zu synchronisieren, auf denen man sich mit einem Microsoft Account anmeldet.

Aber was, wenn man sich mit einem neuen Account anmelden möchte (oder muss), und die über Jahrzehnte gesammelten Hintergrundbilder dann nicht mehr wiederfindet?
Das ist selbst dann ärgerlich, wenn es nur um 10 Fotos vom Segeln geht, wie in meinem Fall 🙂

Die Lösung ist einfach, wenn man weiß wo die Bilder sind. „Wo sind die synchronisierten Hintergrundbilder?“ weiterlesen

Lass andere teilhaben...

Office 365 belegt zu viel Platz auf der Festplatte

Ich benutze (und verkaufe) nun seit einiger Zeit Microsoft Office 365 und bin absolut zufrieden damit.
Die Installation der lokal auf dem PC installierten Office Software dauert nur Minuten, und man kann fast sofort damit arbeiten. Selbst während die Installation im Hintergrund weiter voranschreitet.

Der Trick dabei ist eine Technologie, die Microsoft “Click-To-Run” nennt. Kurz zusammengefasst werden Word, Excel und Co. in kompakten, virtuellen Maschinen gestartet. Der Anwender merkt davon nichts und freut sich über die schnelle Installation.

Stehen Updates für Office bereit, wird einfach eine neue Version der virtuellen Maschine heruntergeladen. Auch das merkt der Anwender nicht.

Leider kann es vorkommen, dass alte Versionen der Click-To-Run VMs nicht gelöscht werden, und viel Platz auf der Festplatte belegen.

Bei war das der Fall. Plötzlich war meine 250 GB SSD fast voll. Eine Analyse mit dem sehr praktischen Tool SequioiaView ergab, das das Verzeichnis C:\Users\All Users\Microsoft\ClickToRun auf 21 GB angewachsen war.

In diesem Verzeichnis finden sich etliche Ordner mit UUIDs als Namen, z.B. {9AC08E99-230B-47e8-9721-4577B7F124EA}.
Bei mir war nur einer dieser Ordner halbwegs aktuell, mit einem Änderungsdatum im gleichen Jahr. Alle anderen waren vom Vorjahr.

Man kann diese alten Ordner offensichtlich gefahrlos löschen.
“Offensichtlich”, weil es dafür keine Garantie gibt, Microsoft sagt nicht, dass man sie löschen kann. Aber da schlimmstenfalls eine Neuinstallation von Office nötig ist, hält sich das Risiko in Grenzen.

Ich konnte die Ordner jedenfalls löschen und fast 20 GB freischaufeln.
Aber nur die alten Ordner mit UUIDs als Namen, die anderen bitte so lassen wie sie sind 🙂

 

Lass andere teilhaben...

Die yum history oder “Was hatte ich noch installiert???”

Ich bin gerade dabei die Konfiguration für meinen neuen Root Server zu dokumentieren.
Und natürlich habe ich nicht gleich alles aufgeschrieben, was ich getestet und installiert hatte. Wäre ja auch zu schön 🙂

Gut, das sich manche Kommandos ihre Historie merken.
Insbesondere yum und die Shell.

Was man so alles mit yum getrieben hat, kann man mit dem Befehl yum history erfahren. Details zu einzelnen Aufrufen bekommt man mit yum history info <Nummer>:

„Die yum history oder “Was hatte ich noch installiert???”“ weiterlesen

Lass andere teilhaben...

Ein laufendes Linux klonen / kopieren / sichern

Ich stehe immer wieder mal vor der Herausforderung, eine ganze Linux Installation zu duplizieren oder zumindest in Sicherheit zu bringen.
Z.B. den produktiv laufenden Raspberry Pi im Fitnessstudio, inklusive der aktuellen Konfiguration.
Oder wie jetzt im Moment das Linux auf einem gemieteten Server, bei dem Arbeiten an Festplatten geplant sind, ich aber noch mit ein paar Tests beschäftigt bin, die ich nicht unterbrechen möchte.

In beiden Fällen habe ich keinen direkten Zugriff auf die Geräte. Ich kann also nicht (ohne weiteres) die SD Karte des Raspberries ausbauen und in meinem PC zu Hause kopieren. Und auf den Server kann ich überhaupt nur per SSH zugreifen.

„Ein laufendes Linux klonen / kopieren / sichern“ weiterlesen

Lass andere teilhaben...

Kommentare jetzt wieder möglich

Peinlich, peinlich ….

Gerade habe ich mich gewundert, dass der Artikel zu “Owncloud und selinux” recht oft gelesen wird, aber nie irgendwelche Kommentare geposted werden.

Also hab ich versucht einen Test-Kommentar zu erstellen und bin prompt gescheitert. Fehlermeldungen beim Captcha.

Der Grund war schnell gefunden: Fehlende Schreibrechte auf einem SI-Captcha Cache Verzeichnis. Lies sich mit FileZilla leicht beheben, obwohl ich bei dem Server keinen Zugang zu einer SSH Console habe. Rechts-klick auf den Folder, Eigenschaften, Rechte auf 777 (schreiben für alle).

Das heisst Kommetare sind ab sofort wieder möglich und ich freue mich über jeden einzelnen!

 

Lass andere teilhaben...