Kategorie: Technik

MariaDB-Server remote erreichbar machen

· · 0 Kommentare

Im abgeschotteten Intranet manchmal ein zeitsparender Faktor bei der Entwicklung, sollte man sich trotzdem genau überlegen, ob man Verbindungen von Systemen außer localhost zulassen möchte.

Auf einem Debian 10-System muß zuerst die Datei "50-server.cnf" im Verzeichnis "/etc/mysql/mariadb.conf.d/" angepasst werden:

$ cd /etc/mysql/mariadb.conf.d/
$ sudo vi 50-server.cnf

In der Datei dann die Zeile beginnend mit "bind-address" suchen und wie folgt ändern:

bind-address = 0.0.0.0

Diese Änderung bewirkt, daß der Server ab sofort über alle verfügbaren Netzwerkinterfaces erreichbar ist. Anschließend wird der Dienst neu gestartet:

$ sudo systemctl restart mariadb

Als nächster (und letzter) Schritt muß noch ein Benutzer für den externen Zugriff angelegt werden:

$ sudo mysql -u root

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' IDENTIFIED BY 'remotepassword';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> EXIT
Bye

Anschließend kann von beliebigen Quelladressen mit dem Benutzer "remote" auf alle Datenbanken zugegriffen werden. Sinnvollerweise sollte man die Berechtigungen nicht so weitreichend vergeben, sondern auf einzelne Datenbanken ("Datenbank.*") und Rechner ('remote'@'1.2.3.4') beschränken.


Debian - ein Erfahrungsbericht

· · 0 Kommentare

Eigentich war dieser Beitrag als Abschluss meiner Debian-Reihe zum einjährigen Installationsjubiläum geplant, nun muß ich mich beeilen, die Veröffentlichung noch vor dem offiziellen Release von Debian Bullseye zu schaffen. Letztendlich liegt dies daran, daß es eigentlich nur wenig zu berichten gibt, denn

Debian is a bit boring in a good way.
Quelle

Kurzfazit

Nach inzwischen rund eineinhalb Jahren mit Debian Buster sowohl auf zwei Desktop-PC als auch auf zwei Laptops kann ich bestätigen: es läuft und läuft und ich hatte wahrscheinlich seit Windows 2000 kein im positiven Sinn so langweiliges Betriebssystem mehr auf einem meiner Rechner.

If you choose to use Debian Stable, you´ll have one of the most dependable and trouble free computing experiences of your life.
Quelle

Installieren, konfigurieren und anschließend die Kiste einfach für das verwenden, für was sie angeschafft wurde, ohne sich ständig mit dem Unterbau beschäftigen zu müssen.

Weiterlesen


Net::SSLeay: load_file:Das angegebene Modul wurde nicht gefunden

· · 0 Kommentare

Der Versuch, das Perl-Modul "WWW::Mechanize" zu installieren scheitert mit der Meldung, daß ein Modul nicht gefunden werden kann:

cpan> install WWW::Mechanize
...
Can't load 'C:/Strawberry/perl/vendor/lib/auto/Net/SSLeay/SSLeay.xs.dll' for module Net::SSLeay: load_file:Das angegebene Modul wurde nicht gefunden at C:/Strawberry/perl/lib/DynaLoader.pm line 193.
  at C:/Strawberry/perl/vendor/lib/IO/Socket/SSL.pm line 19.
...
Can't load 'C:/Strawberry/perl/vendor/lib/auto/Crypt/SSLeay/SSLeay.xs.dll' for module Crypt::SSLeay: load_file:Das angegebene Modul wurde nicht gefunden at C:/Strawberry/perl/lib/DynaLoader.pm line 193.
  at C:/Strawberry/perl/vendor/lib/Net/SSL.pm line 20.
...

Die ausgegebene Fehlermeldung führt allerdings zuerst auf eine falsche Fährte, denn in angegebenen Ordnern ist das Modul sehr wohl zu finden:

C:\>dir C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay\SSLeay.xs.dll
...
 Verzeichnis von C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay

17.03.2020  05:24           485.888 SSLeay.xs.dll
...

C:\>dir C:\Strawberry\perl\vendor\lib\auto\Crypt\SSLeay\SSLeay.xs.dll
...
 Verzeichnis von C:\Strawberry\perl\vendor\lib\auto\Crypt\SSLeay

17.03.2020  05:26            59.904 SSLeay.xs.dll
...

Die Ursachenforschung im Internet führt überwiegend zu Treffern, die darauf hin deuten, daß ein Problem mit Modulabhängigkeiten besteht und überprüft werden sollte, ob der der Ordner "C:\Strawberry\c\bin" im Pfad enthalten ist. Dies ist der Fall:

Path=...;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;

Eine Analyse mit Microsofts Process Monitor zeigt, daß es an insgesamt drei Modulen aus dem Ordner "C:\Strawberry\c\bin" liegt, die trotz vorhandenem Pfad-Eintrag nicht gefunden werden.

 

Zum Beheben des Fehlers können entweder die drei Module in den Ordner "C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay\" kopiert oder (als vielleicht elegantere Lösung) entsprechende Links gesetzt werden:

C:\>cd C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay\

C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay>mklink libcrypto-1_1-x64__.dll C:\Strawberry\c\bin\libcrypto-1_1-x64__.dll
symbolische Verknüpfung erstellt für libcrypto-1_1-x64__.dll <<===>> C:\Strawberry\c\bin\libcrypto-1_1-x64__.dll

C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay>mklink libssl-1_1-x64__.dll C:\Strawberry\c\bin\libssl-1_1-x64__.dll
symbolische Verknüpfung erstellt für libssl-1_1-x64__.dll <<===>> C:\Strawberry\c\bin\libssl-1_1-x64__.dll

C:\Strawberry\perl\vendor\lib\auto\Net\SSLeay>mklink zlib1__.dll C:\Strawberry\c\bin\zlib1__.dll
symbolische Verknüpfung erstellt für zlib1__.dll <<===>> C:\Strawberry\c\bin\zlib1__.dll

Anschließend läuft die Installation ohne Probleme durch:

cpan> install WWW::Mechanize
...
All tests successful.
Files=62, Tests=816, 147 wallclock secs ( 0.23 usr + 0.19 sys = 0.42 CPU)
Result: PASS

Referrer oder Referer?

· · 0 Kommentare

Ich bin gerade darüber gestolpert, daß der Referrer in der Verwendung als HTTP_REFERER nur mit einem "R" geschrieben wird. Wie die Wikipedia erläutert, ist ein Versehen in der RFC 2068 dafür verantwortlich:

Die korrekte englische Schreibweise lautet Referrer. Der ursprüngliche RFC (RFC 2068) enthielt jedoch versehentlich die falsche Schreibweise Referer und erhebt diesen Wortlaut damit zum Standard innerhalb von HTTP. [Quelle]


Verzeichnis für Benutzerschriftarten

· · 0 Kommentare

Schriftarten für Benutzer sollten nicht mehr in "~/.fonts" abgelegt werden. Hinweisegeber ist ein Eintrag in der Datei "/etc/fonts/fonts.conf":

<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>

Bevorzugter Speicherort für Schriftarten eines Benutzers ist

<dir prefix="xdg">fonts</dir>

Die Dokumentation von Fontconfig erklärt

If 'prefix' is set to "xdg", the value in the XDG_DATA_HOME environment variable will be added as the path prefix.

Die Definition von XDG_DATA_HOME wiederum ergibt sich aus der XDG Base Directory Specification

There is a single base directory relative to which user-specific data files should be written. This directory is defined by the environment variable $XDG_DATA_HOME.

Sollte die Umgebungsvariable nicht gesetzt sein, so wird ein Default verwendet:

$XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used.

Somit sollte auf einem Standardsystem das Verzeichnis "$HOME/.local/share/fonts" für Benutzerschriftarten verwendet werden.