GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Installieren von MyDNS und der MyDNSConfig-Systemsteuerung unter CentOS 5.1

Installieren von MyDNS und dem MyDNSConfig Control Panel unter CentOS 5.1

In diesem Tutorial beschreibe ich, wie MyDNS und MyDNSConfig unter CentOS 5.1 installiert und konfiguriert werden. MyDNS ist ein DNS-Server, der anstelle von Konfigurationsdateien wie beispielsweise Bind oder djbdns eine MySQL-Datenbank als Backend verwendet. Der Vorteil ist, dass MyDNS die Einträge einfach aus der Datenbank liest und nicht neu gestartet/geladen werden muss, wenn sich DNS-Einträge ändern oder Zonen erstellt/bearbeitet/gelöscht werden. Ein sekundärer Nameserver kann einfach eingerichtet werden, indem eine zweite Instanz von MyDNS installiert wird, die auf dieselbe Datenbank zugreift, oder, um redundanter zu sein, die MySQL-Master/Slave-Replikationsfunktionen verwendet, um die Daten auf den sekundären Nameserver zu replizieren.

MyDNSConfig ist eine einfach zu bedienende webbasierte Schnittstelle zu MyDNS. MyDNSConfig kann alle Arten von DNS-Einträgen erstellen, die in MyDNS verfügbar sind, und fügt Funktionen wie Benutzerverwaltung und Zugriffsrechte hinzu.

Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können für Sie unterschiedlich sein, daher müssen Sie sie gegebenenfalls ersetzen.

2 Installieren der Voraussetzungen

Zuerst aktivieren wir das RPMforge-Repository auf unserem CentOS-System, da einige der Pakete, die wir im Laufe dieses Tutorials installieren werden, nicht in den offiziellen CentOS 5.1-Repositorys verfügbar sind:

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

MyDNSConfig ist eine webbasierte Schnittstelle zu MyDNS, die in PHP geschrieben ist. Dies erfordert einen Webserver mit aktiviertem PHP und den MySQL-Datenbankserver. Wenn Sie bereits Apache, PHP und MySQL installiert haben, können Sie diesen Schritt überspringen. Wir installieren hier auch phpMyAdmin, damit Sie bei Bedarf eine Webschnittstelle zur MySQL-Datenbank haben:

yum install httpd mysql-server php php-mysql php-mbstring phpmyadmin

Starten Sie MySQL:

chkconfig --levels 235 mysqld beim
/etc/init.d/mysqld start

Legen Sie dann Passwörter für das MySQL-Root-Konto fest:

mysqladmin -u root-Passwort Ihrrootsql-Passwort
mysqladmin -h server1.example.com -u root-Passwort Ihrrootsql-Passwort

Jetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration so, dass phpMyAdmin Verbindungen nicht nur von localhost zulässt (durch Auskommentieren der Zeilengruppe ):

vi /etc/httpd/conf.d/phpmyadmin.conf
#
#  Web application to manage MySQL
#

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Als nächstes ändern wir die Authentifizierung in phpMyAdmin von cookie auf http:

vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Dann erstellen wir die Systemstartlinks für Apache und starten es:

chkconfig --levels 235 httpd on
/etc/init.d/httpd start

Jetzt können Sie Ihren Browser auf http://server1.example.com/phpmyadmin/ oder http://192.168.0.100/phpmyadmin/ leiten und sich mit dem Benutzernamen root und Ihrem neuen root-MySQL-Passwort anmelden.

3 MyDNSConfig installieren

Melden Sie sich bei MySQL an und erstellen Sie die Datenbank:

mysql -u root -p

CREATE DATABASE mydns;
GEWÄHREN SIE SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost' IDENTIFIED BY 'mydnspassword';
GEWÄHREN SIE SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost.localdomain' IDENTIFIED DURCH 'mydnspassword';
PRIVILEGES FLUSH;
quit;

Ersetzen Sie das Wort mydnspassword in den obigen Befehlen durch ein Passwort Ihrer Wahl.

Laden Sie MyDNSConfig herunter:

cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz
tar xvfz MyDNSConfig-1.1.0.tar.gz
cd MyDNSConfig-1.1.0

Installieren Sie MyDNSConfig:

mkdir /usr/share/mydnsconfig
cp -rf interface/* /usr/share/mydnsconfig/
ln -s /usr/share/mydnsconfig/web/ /var/www/html/mydnsconfig

Installieren Sie die MyDNSConfig-MySQL-Datenbank:

mysql -u root -p mydns < install/mydnsconfig.sql

Der obige Befehl fragt nach einem Passwort, bitte geben Sie das Passwort des MySQL-Root-Benutzers ein.

Bearbeiten Sie die MyDNSConfig-Konfiguration; Bitte stellen Sie sicher, dass Sie die richtigen Datenbankeinstellungen eingeben:

vi /usr/share/mydnsconfig/lib/config.inc.php
<?php
/*
Copyright (c) 2005, Till Brehm, Falko Timme, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
ini_set('register_globals',0);
$conf["app_title"] = "MyDNSConfig";
$conf["app_version"] = "1.1.0";

$conf["rootpath"]            = "/usr/share/mydnsconfig";
$conf["fs_div"]                = "/"; // File system divider, \\ on windows and / on linux and unix
$conf["classpath"]            = $conf["rootpath"].$conf["fs_div"]."lib".$conf["fs_div"]."classes";
$conf["temppath"]            = $conf["rootpath"].$conf["fs_div"]."temp";

/*
        Database Settings
*/

$conf["db_type"]        = 'mysql';
$conf["db_host"]        = 'localhost';
$conf["db_database"]        = 'mydns';
$conf["db_user"]        = 'mydns';
$conf["db_password"]        = 'mydnspassword';

/*
        External programs
*/
$conf["programs"]["wput"]    = $conf["rootpath"]."/tools/wput/wput";

/*
        Themes
*/
$conf["theme"]            = 'grey';
$conf["html_content_encoding"]    = 'text/html; charset=iso-8859-1';
$conf["logo"]             = 'themes/default/images/mydnsconfig_logo.gif';
/*
        Default Language
*/
$conf["language"]                = 'en';

/*
        Auto Load Modules
*/
$conf["start_db"]                = true;
$conf["start_session"]    = true;
/*
        DNS Settings
*/
$conf["auto_create_ptr"] = 1; // Automatically create PTR records?
$conf["default_ns"] = 'ns1.example.com.'; // must be set if $conf['auto_create_ptr'] is 1. Don't forget the trailing dot!
$conf["default_mbox"] = 'admin.example.com.'; // Admin email address. Must be set if $conf['auto_create_ptr'] is 1. Replace "@" with ".". Don't forget the trailing dot!
$conf["default_ttl"] = 86400;
$conf["default_refresh"] = 28800;
$conf["default_retry"] = 7200;
$conf["default_expire"] = 604800;
$conf["default_minimum_ttl"] = 86400;
?>

Entfernen Sie anschließend den MyDNSConfig-Installer aus dem /tmp-Verzeichnis:

cd /tmp
rm -rf MyDNSConfig-1.1.0/
rm -f MyDNSConfig-1.1.0.tar.gz

Installieren von MyDNS und der MyDNSConfig-Systemsteuerung auf CentOS 5.1 – Seite 2

4 MyDNS installieren

Als nächstes laden wir das RPM-Paket mydns-mysql von http://mydns.bboy.net/download/ herunter und installieren es wie folgt:

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

Öffnen Sie die MyDNS-Konfigurationsdatei /etc/mydns.conf, füllen Sie die korrekten Datenbankdetails aus, erlauben Sie Zonentransfers, indem Sie allow-axfr auf yes setzen, aktivieren Sie TCP (allow-tcp =yes) und geben Sie einen rekursiven Resolver (d. h. einen gültigen Nameserver, z. B. von Ihrem ISP; z. B. rekursiv =213.191.92.86), damit MyDNS Anfragen für Domänen beantworten kann, für die es nicht autorisierend ist:

vi /etc/mydns.conf
##
##  /etc/mydns.conf
##  Wed Jan 18 17:18:48 2006
##  For more information, see mydns.conf(5).
##


                                # DATABASE INFORMATION

db-host = localhost             # SQL server hostname
db-user = mydns                 # SQL server username
db-password = mydnspassword        # SQL server password
database = mydns                # MyDNS database name


                                # GENERAL OPTIONS

user = nobody                   # Run with the permissions of this user
group = nobody                  # Run with the permissions of this group
listen = *                      # Listen on these addresses ('*' for all)
no-listen =                     # Do not listen on these addresses


                                # CACHE OPTIONS

zone-cache-size = 1024          # Maximum number of elements stored in the zone cache
zone-cache-expire = 60          # Number of seconds after which cached zones expires
reply-cache-size = 1024         # Maximum number of elements stored in the reply cache
reply-cache-expire = 30         # Number of seconds after which cached replies expire


                                # ESOTERICA

log = LOG_DAEMON                # Facility to use for program output (LOG_*/stdout/stderr)
pidfile = /var/run/mydns.pid    # Path to PID file
timeout = 120                   # Number of seconds after which queries time out
multicpu = 1                    # Number of CPUs installed on your system
recursive = 213.191.92.86                       # Location of recursive resolver
allow-axfr = yes                # Should AXFR be enabled?
allow-tcp = yes                 # Should TCP be enabled?
allow-update = no               # Should DNS UPDATE be enabled?
ignore-minimum = no             # Ignore minimum TTL for zone?
soa-table = soa                 # Name of table containing SOA records
rr-table = rr                   # Name of table containing RR data
soa-where =                     # Extra WHERE clause for SOA queries
rr-where =                      # Extra WHERE clause for RR queries

Erstellen Sie als Nächstes die Systemstartlinks für MyDNS und starten Sie MyDNS:

chkconfig --levels 235 mydns on
/etc/init.d/mydns start

Schließlich müssen wir die Systemstartlinks für MyDNS reparieren. MyDNS hängt von MySQL ab, daher muss MyDNS gestartet werden, nachdem MySQL gestartet wurde, andernfalls schlägt es fehl. Die standardmäßigen Startlinks für MyDNS lassen es vor MySQL starten, was falsch ist, also beheben wir dies wie folgt:

cd /etc/rc.d/rc3.d
mv S52mydns S99mydns
cd /etc/rc.d/rc4.d
mv S52mydns S99mydns
cd /etc/rc. d/rc5.d
mv S52mydns S99mydns

MySQL verwendet die Startup-Links S64mysql, sodass die Umbenennung der MyDNS-Startup-Links von S52mydns in S99mydns sicherstellt, dass MyDNS nach MySQL startet.

Die Grundinstallation von MyDNS und MyDNSConfig ist nun abgeschlossen. Um sich bei der MyDNSConfig-Oberfläche anzumelden, öffnen Sie einen Webbrowser und geben Sie die folgende URL ein:

http://<your_ip_address>/mydnsconfig/

Ersetzen Sie durch die IP-Adresse Ihres Servers.

Der Standard-Benutzername und das Passwort von MyDNSConfig sind:

Benutzername:admin
Passwort:admin

Vergessen Sie nicht, das Passwort nach der Anmeldung unter System> Benutzer zu ändern.

5 Verwenden von MyDNSConfig

In diesem Kapitel werde ich zeigen, wie man MyDNSConfig verwendet, indem ich eine Beispielzone test.com und einen A-Eintrag www.test.com erstelle.

Erster Login:

Klicken Sie auf die Schaltfläche Neue Zone hinzufügen:

Das Formular auf der Registerkarte SOA ist mit Standardwerten voreingestellt. Füllen Sie test.com aus. (bitte Endpunkt beachten!) in das Feld Herkunft ein und nehmen Sie ggf. Änderungen in den anderen Feldern vor. Das Feld Zonentransfers kann leer gelassen werden, was bedeutet, dass sich jeder Server mit unserem MyDNS-Server verbinden kann, um einen Zonentransfer zu initiieren; Wenn Sie eine IP-Adresse eingeben, kann nur dieses System eine Verbindung herstellen:

Nachdem Sie auf Speichern geklickt haben, finden Sie Ihre neue Zone auf der Seite Zonen (SOA) aufgelistet. Klicken Sie auf test.com. Link, um zu den Eigenschaften der Zone zu gelangen:

Klicken Sie als Nächstes auf die Registerkarte Datensätze:

Klicken Sie dann auf die Schaltfläche Neuen Datensatz hinzufügen, um einen Datensatz zu erstellen (A/MX/CNAME/...):

Um den A-Eintrag www.test.com zu erstellen, geben Sie www in das Namensfeld ein, wählen Sie A als Typ aus, geben Sie die IP-Adresse von www.test.com in das Datenfeld ein (z. B. 1.2.3.4) und geben Sie die TTL ( in Sekunden). Das Feld „Präferenz/Priorität“ kann für A-Einträge leer gelassen werden; Es wird für MX-Einträge benötigt:

Nachdem Sie auf Speichern geklickt haben, finden Sie www.test.com in der Liste der Einträge für die Zone test.com:

Das war's auch schon - es sind keine Neustarts erforderlich. Sie können jetzt testen, ob MyDNS www.test.com auflösen kann:

dig @localhost www.test.com

Wenn alles gut geht, sollte die Ausgabe etwa so aussehen:

[[email protected] ~]# dig @localhost www.test.com

; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
; (1 Server gefunden)
;; globale Optionen:  printcmd
;; Antwort erhalten:
;; ->>HEADER<<- Opcode: QUERY, Status: NOERROR, ID: 55393
;; Flaggen: qr aa rd ra; FRAGE: 1, ANTWORT: 1, AUTORITÄT: 0, ZUSÄTZLICH: 0

;; FRAGEABSCHNITT:
;www.test.com. IN      A

;; ANTWORTABSCHNITT:
www.test.com. 86400   IN      A       1.2.3.4

;; Abfragezeit: 24 ms
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WANN: Mo Dez  3 23:47:14 2007
;; MSG SIZE  rcvd: 46

[[email protected] ~]#

  • MyDNS:http://mydns.bboy.net
  • MyDNSConfig:http://www.mydnsconfig.org
  • CentOS:http://www.centos.org

Panels
  1. Wie greife ich auf das Steuerungsfeld zu?

  2. Wie sende ich Anmeldeinformationen erneut über das Steuerungsfeld?

  3. Wie verwende ich das Control Panel als Reseller?

  4. Wie aktualisiere ich Kontaktinformationen über die Systemsteuerung?

  5. Wie passe ich das Aussehen des Control Panels für meine Kunden an?

Installieren von Apache und PHP unter CentOS 8

So melden Sie sich bei der Solid CP-Systemsteuerung an

CentOS Web Panel – All-in-One kostenloses Webhosting Control Panel für CentOS/RHEL 6

Installieren Sie Kloxo Webhosting Control Panel in RHEL/CentOS 5.x

Installieren von MyDNS &MyDNSConfig 3 auf Fedora 10

Verwalten von OpenVZ mit der Vtonf-Systemsteuerung unter CentOS 5.2