GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Installazione di MyDNS e del pannello di controllo MyDNSConfig su CentOS 5.1

Installazione di MyDNS e del pannello di controllo MyDNSConfig su CentOS 5.1

In questo tutorial descriverò come installare e configurare MyDNS e MyDNSConfig su CentOS 5.1. MyDNS è un server DNS che utilizza un database MySQL come backend invece di file di configurazione come, ad esempio, Bind o djbdns. Il vantaggio è che MyDNS legge semplicemente i record dal database e non deve essere riavviato/ricaricato quando i record DNS vengono modificati o le zone vengono create/modificate/eliminate. Un server dei nomi secondario può essere facilmente configurato installando una seconda istanza di MyDNS che accede allo stesso database o, per essere più ridondanti, utilizza le funzionalità di replica master/slave MySQL per replicare i dati sul server dei nomi secondario.

MyDNSConfig è un'interfaccia web per MyDNS facile da usare. MyDNSConfig può creare tutti i tipi di record DNS disponibili in MyDNS e aggiunge funzionalità come la gestione degli utenti e i privilegi di accesso.

Non garantisco che questo funzionerà per te!

1 Nota preliminare

In questo tutorial utilizzo l'hostname server1.example.com con l'indirizzo IP 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

2 Installazione dei prerequisiti

Per prima cosa abilitiamo il repository RPMforge sul nostro sistema CentOS poiché alcuni dei pacchetti che installeremo nel corso di questo tutorial non sono disponibili nei repository CentOS 5.1 ufficiali:

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

MyDNSConfig è un'interfaccia basata sul Web per MyDNS scritta in PHP. Ciò richiede un server web con PHP abilitato e il server di database MySQL. Se hai già installato Apache, PHP e MySQL, puoi saltare questo passaggio. Installiamo anche phpMyAdmin qui in modo da avere un'interfaccia web per il database MySQL nel caso ne avessi bisogno:

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

Avvia MySQL:

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

Quindi imposta le password per l'account root MySQL:

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

Ora configuriamo phpMyAdmin. Cambiamo la configurazione di Apache in modo che phpMyAdmin consenta connessioni non solo da localhost (commentando la stanza ):

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

Quindi cambiamo l'autenticazione in phpMyAdmin da cookie a http:

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

Quindi creiamo i collegamenti di avvio del sistema per Apache e lo avviamo:

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

Ora puoi indirizzare il tuo browser a http://server1.example.com/phpmyadmin/ o http://192.168.0.100/phpmyadmin/ e accedere con il nome utente root e la tua nuova password MySQL di root.

3 Installazione di MyDNSConfig

Accedi a MySQL e crea il database:

mysql -u root -p

CREATE DATABASE mydns;
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost' IDENTIFICATO DA 'mydnspassword';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* A 'mydns'@'localhost.localdomain' IDENTIFICATO DA 'mydnspassword';
FLUSH PRIVILEGES;
chiudi;

Sostituisci la parola mydnspassword nei comandi precedenti con una password a tua scelta.

Scarica MyDNSConfig:

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

Installa MyDNSConfig:

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

Installa il database MySQL MyDNSConfig:

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

Il comando sopra richiede una password, inserisci la password dell'utente root MySQL.

Modifica la configurazione di MyDNSConfig; assicurati di compilare le corrette impostazioni del database:

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;
?>

Successivamente, rimuovere il programma di installazione di MyDNSConfig dalla directory /tmp:

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

Installazione di MyDNS e del pannello di controllo MyDNSConfig su CentOS 5.1 - Pagina 2

4 Installazione di MyDNS

Quindi scarichiamo il pacchetto rpm mydns-mysql da http://mydns.bboy.net/download/ e lo installiamo come segue:

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

Aprire il file di configurazione MyDNS /etc/mydns.conf, inserire i dettagli del database corretti, consentire i trasferimenti di zona impostando allow-axfr su yes, abilitare TCP (allow-tcp =yes) e specificare un risolutore ricorsivo (cioè un valido nameserver, ad esempio dal tuo ISP; ad esempio ricorsivo =213.191.92.86) in modo che MyDNS possa rispondere a query per domini per i quali non è autorevole:

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

Quindi, crea i collegamenti di avvio del sistema per MyDNS e avvia MyDNS:

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

Infine, dobbiamo correggere i collegamenti di avvio del sistema per MyDNS. MyDNS dipende da MySQL, quindi MyDNS deve essere avviato dopo l'avvio di MySQL, altrimenti fallirà. I collegamenti di avvio predefiniti per MyDNS lo fanno iniziare prima di MySQL, il che è sbagliato, quindi risolviamo il problema come segue:

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 utilizza i collegamenti di avvio S64mysql, quindi rinominando i collegamenti di avvio di MyDNS da S52mydns a S99mydns si assicura che MyDNS venga avviato dopo MySQL.

L'installazione di base di MyDNS e MyDNSConfig è ora terminata. Per accedere all'interfaccia MyDNSConfig, apri un browser web e inserisci il seguente URL:

http://<your_ip_address>/mydnsconfig/

Sostituisci con l'indirizzo IP del tuo server.

Il nome utente e la password predefiniti di MyDNSConfig sono:

Nome utente:admin
Password:admin

Non dimenticare di modificare la password dopo l'accesso in Sistema> Utenti.

5 Utilizzo di MyDNSConfig

In questo capitolo dimostrerò come utilizzare MyDNSConfig creando una zona di esempio test.com e un record A www.test.com.

Primo accesso:

Fare clic sul pulsante Aggiungi nuova zona:

Il modulo nella scheda SOA è preimpostato con valori predefiniti. Compila test.com. (notare il punto finale!) nel campo Origine e apportare le modifiche agli altri campi, se necessario. Il campo Trasferimenti di zona può essere lasciato vuoto, il che significa che qualsiasi server può connettersi al nostro server MyDNS per avviare un trasferimento di zona; se inserisci un indirizzo IP, solo quel sistema può connettersi:

Dopo aver cliccato su Salva, troverai la tua nuova zona elencata nella pagina Zone (SOA). Fare clic su test.com. link per accedere alle proprietà della zona:

Quindi, fai clic sulla scheda Record:

Quindi fare clic sul pulsante Aggiungi nuovo record per creare un record (A/MX/CNAME/...):

Per creare il record A www.test.com, compilare www nel campo Nome, selezionare A come Tipo, digitare l'indirizzo IP di www.test.com nel campo Dati (es. 1.2.3.4) e specificare il TTL ( in secondi). Il campo Preferenza/Priorità può essere lasciato vuoto per i record A; è necessario per i record MX:

Dopo aver cliccato su Salva, troverai www.test.com nell'elenco dei record per la zona test.com:

Questo è già tutto:non sono necessari riavvii. Ora puoi verificare se MyDNS può risolvere www.test.com:

dig @localhost www.test.com

Se tutto va bene, l'output dovrebbe essere simile a questo:

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

; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
; (1 server trovato)
;; opzioni globali:  printcmd
;; Hai risposta:
;; ->>HEADER<<- codice operativo: QUERY, stato: NOERROR, id: 55393
;; flag: qr a rd ra; DOMANDA: 1, RISPOSTA: 1, AUTORITÀ: 0, AGGIUNTA: 0

;; SEZIONE DOMANDA:
;www.test.com. IN      A

;; SEZIONE RISPOSTA:
www.test.com. 86400   IN      A       1.2.3.4

;; Tempo di query: 24 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; QUANDO: lun dic  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. Come eliminare un database MSSQL o MySQL nel pannello di controllo di Plesk

  2. Come accedo al Pannello di controllo?

  3. Come faccio a inviare nuovamente le informazioni di accesso tramite il Pannello di controllo?

  4. Come posso utilizzare il Pannello di Controllo come Rivenditore?

  5. Come faccio ad aggiornare le informazioni di contatto tramite il Pannello di controllo?

Installazione di Apache e PHP su CentOS 8

Come accedere al pannello di controllo di Solid CP

Pannello Web di CentOS – Pannello di controllo di hosting Web gratuito all-in-one per CentOS/RHEL 6

Installa il pannello di controllo di Kloxo Web Hosting in RHEL/CentOS 5.x

Installazione di MyDNS e MyDNSConfig 3 su Fedora 10

Gestire OpenVZ con il pannello di controllo Vtonf su CentOS 5.2