PowerDNS unter Ubuntu

PowerDNS ist ein Open Source Projekt unter der GPLv2. Entwickelt wurde PowerDNS mit C++ und es unterstützt viele gängige Datenbanken wie MariaDB, MySQL, Oracle, PostgreSQL und mehr. In diesem kleinen „Tutorial“ möchte ich euch die Installation von PowerDNS unter Ubuntu 14.04 LTS Server zeigen. Allerdings sollte sich die Installation unter anderen Debian / Ubuntu Distributionen nur geringfügig unterscheiden.

Zu Beginn sollten wir zunächst dafür sorgen das unser Server gesichert ist (falls hier schon andere Dienste laufen oder wichtige Dateien darauf liegen) und eine Aktualisierung anstoßen.

sudo apt-get update && sudo apt-get upgrade -y

Weiterlesen

Abgesichertes PureFTPd mit MySQL für Virtual FTP-Hosting

In diesem Beitrag möchte ich euch eine PureFTPd Installation näher bringen, die mit virtuellen Benutzern aus einer MySQL Datenbank, anstatt mit Systembenutzern arbeitet. Neben der verbesserten Leistung können so auch viele FTP-Benutzer auf ein einziges System gelegt werden. Zudem besteht eine Sicherheit für das „jailen“ von Benutzern in Ihren entsprechenden „Home“-Ordnern. Auch können auf diesem Wege Transferraten, Speicherplatz sowie „Home“-Ordner simpel über die Datenbank konfiguriert werden. Diese „Anleitung“ wird auf einem Ubuntu 12.04 LTS durchgeführt, sollte jedoch problemlos auf andere Ubuntu Versionen sowie Debian Versionen anwendbar sein.

 

Share-Online Weiterlesen

MySQL Backup Script mit FTP-Upload

Nicht gerade selten kommt es vor, das Backups eine sinnvolle und vorallem hilfreiche Lösung bieten, wenn nach Updates oder dem Wechsel eines Servers etwas schief geht. Gerade die Datenbanken sind hierbei oftmals mit sensiblen Daten gefüllt, welche unbedingt gesichert werden sollten und dies am Besten redundant. Ich möchte an dieser Stelle ein kleines Script vorstellen, welches die Möglichkeit bietet Backups der einzelnen Datenbanken zu erstellen und diese lokal auf den Server selbst, sowie Remote auf einen FTP-Server ablegt.

Was benötigen wir hierfür? Zunächst einmal benötigen wir einen MySQL-Zugang, der Zugriff auf alle Datenbanken hat. Hier reicht es, wenn für den entsprechenden Benutzer Zugriffe aus localhost (127.0.0.1 in IPv4 oder ::1 in IPv6) gewährt werden. Sollen besagte Sicherungen von einem anderen Server erstellt werden, muss dafür natürlich ebenfalls ein entsprechendes Zugriffsrecht existieren. Weiterlesen

Ein eigener dynamischer DNS Dienst

Im heutigen Post möchte ich mich dem Thema widmen, wie man einen eigenen dynamsichen DNS-Dienst einrichtet. Was wird benötigt, um einen solchen Dienst aufsetzen zu können? Nun es wird ein Router benötigt, der eigene dynamische DNS Dienste unterstützt – wie z.B. die AVM Fritz!Box. Dazu wird noch ein Webspace mit PHP und MySQL sowie eine eigene Domain benötigt. Um sich dem Ganzen bewusst zu werden, was das hier eigentlich werden soll: Am Ende – nach der finalen Implementierung – soll eine Subdomain aufgerufen werden, welche wiederum eine Weiterleitung zu der eigenen IP-Adresse zu Hause liefert. Legen wir als Erstes die Datenbanken an. Für dies könnte folgendes Script verwendet werden, das über  phpmyadmin importiert werden kann.

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

CREATE TABLE IF NOT EXISTS `authentication` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(64) NOT NULL,
  `password` varchar(64) NOT NULL,
  `is_active` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user` (`user`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `dyndns` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(64) NOT NULL,
  `password` varchar(64) NOT NULL,
  `ip_addr` varchar(64) NOT NULL,
  `remote_addr` varchar(64) NOT NULL,
  `timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_ip` (`user`,`ip_addr`,`remote_addr`),
  UNIQUE KEY `only_user` (`user`),
  KEY `user_key` (`user`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Weiterlesen