MySQL-Verbindungen von außerhalb erlauben

In einer sicheren MySQL-Umgebung dürfen Zugriffe auf die Datenbank nur vom eigenen Host (localhost) des MySQL-Services ausgeführt werden. Zugriffe von außerhalb (remote) werden nicht akzeptiert, um die Sicherheit zu erhöhen. In einer Produktionsumgebung ist dieser erhöhte Sicherheitsaspekt sehr wünschenswert, während der Entwicklungsphase kann der eingeschränkte Zugriff aber sehr schnell zum „Showstopper“ werden. Besonders dann, wenn man das Hosting der MySQL-Datenbank auf einem Testserver betreibt und vom eigenen Laptop aus über ein Tool wie beispielsweise der MySQL Workbench 6.0 darauf zugreifen möchte.

Ich möchte zeigen, wie man entgegen der Sicherheitsempfehlung, trotzdem von einem entfernten Rechner mit einem MySQL Client auf eine MySQL-Datenbank zugreifen kann. Als Beispiel dient eine MySQL-Installation unter Ubuntu.
MySQL-Verbindungen von außerhalb erlauben weiterlesen

WordPress Error Logging

Um Fehler in einem WordPress-System in eine Datei loggen zu lassen, muss man die WordPress-Konfigurationsdatei wpconfig.php anpassen. Folgende Einträge sind in der Datei wpconfig.php notwendig:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
ini_set('error_log', WP_CONTENT_DIR . '/debug.log');

Nach dem Abspeichern der genannten Einträge, werden alle Fehler in die Datei /wp-content/debug.log geschrieben. Möchte man selber Informationen in die Log-Datei schreiben, so kann man die PHP-Funktion error_log benutzen.
WordPress Error Logging weiterlesen

Stabile und komfortable Links mit WordPress einfügen

Wer mit dem WYSIWYG-Editor von WordPress arbeitet, wird festgestellt haben, dass der Editor absolute Links einfügt. Selbst wenn man Links zur eigenen Webseite haben möchte, erstellt einem der WYSIWYG-Editor einen Eintrag in dieser Form:

<a href="https://www.bennyn.de/css3-animationen" title="CSS3 Animationen">CSS3 Animationen</a>

Zieht man mit seinem Blog nun auf eine andere Domain um oder möchte man seinen Blog auf dem localhost testen, dann funktionieren die Verlinkungen nicht mehr, da der absolute Pfad nicht stimmt. Ich habe mir deshalb eine Lösung in Form eines Shortcodes überlegt, die Folgendes im Editor ermöglicht:

[link]5255[/link]
 
führt zu:
 
<a href="https://www.bennyn.de/css3-animationen" title="CSS3 Animationen">CSS3 Animationen</a>
 
[link text="Mein Text"]5255[/link]
 
führt zu:
 
<a href="https://www.bennyn.de/css3-animationen" title="Mein Text">Mein Text</a>

Die Links werden dynamisch mit PHP erzeugt, so dass der Host immer dem gerade verwendeten Host entspricht. Ein Domain-Umzug ist somit kein Problem! Außerdem muss man keinen Text mehr für die Links eingeben, da automatisch der Text des Beitrags genommen wird. Alles was man wissen muss, ist die Post-ID (im Beispiel 5255).

Wie kann man den Shortcode [ link ] benutzen?

Um den Shortcode zu verwenden, muss man folgende PHP-Zeilen in der Datei functions.php seines WordPress-Themes einfügen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * [link]5255[/link]
 * [link text="My Link"]5255[/link]
 */
function displayLink($attributes, $postId) {
  $linkTarget = get_permalink($postId);
  $linkText = $attributes[text];
 
  if (!$linkText)
    $linkText = esc_attr(strip_tags(get_the_title($postId)));
 
  $format = '<a href="%s" title="%s">%s</a>';
  $link = sprintf($format, $linkTarget, $linkText, $linkText);
 
  return $link;
}
 
add_shortcode('link', 'displayLink');

Sollte die Datei functions.php nicht vorhanden sein, kann eine leere PHP-Datei mit diesem Namen erstellt werden, um den Code einfügen zu können.

Linux Distribution ermitteln

Mit dem Befehl cat /etc/*-release kann man sich die verwendete Linux-Distribution ausgeben lassen. Die Ausgabe sieht dann in etwa so aus:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"
NAME="Ubuntu"
VERSION="12.04.1 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.1 LTS)"
VERSION_ID="12.04"

WinSCP: SFTP Server mit sudo-Befehl ausführen

Wer die Amazon Elastic Compute Cloud (kurz Amazon EC2) benutzt, der wird festgestellt haben, dass ein Login als root-Benutzer aus Sicherheitsgründen bei den von Amazon vorgegebenen Images nicht möglich ist. Stattdessen soll man sich als ec2-user anmelden und Befehle des Superusers mit dem Kommando sudo ausführen.

Verwendet man einen SFTP-Client (wie etwa WinSCP), dann kann das einen negativen Effekt haben. Möchte man nämlich über die grafische Oberfläche eine Datei öffnen, auf die der ec2-user normalerweise keinen Zugriff hat, bekommt man nur eine Permission denied-Anzeige:

Um das zu umgehen, muss der SFTP Server der EC2-Instanz mit dem sudo-Befehl ausgeführt werden.
WinSCP: SFTP Server mit sudo-Befehl ausführen weiterlesen

svn: Could not open the requested SVN filesystem

Die Fehlermeldung „svn: Could not open the requested SVN filesystem“ tritt auf, wenn versucht wird ein SVN-Kommando auf eine URL oder einen Pfad auszuführen, auf den SVN keinen Zugriff hat -oder der schlichtweg einfach falsch ist. Mir ist der Fehler begegnet, als ich versucht habe mit svn -v log http://localhost/svn/my_repository -r 40 auf ein Repository zuzugreifen, das überhaupt nicht existiert hat (die URL war falsch).

Ob ein Repository gültig ist, kann mit folgendem Befehl geprüft werden (funktioniert nur mit Dateisystem-Pfaden):

svnadmin verify C:/apache/svn/my_repository