Installazione di MyDNS e MyDNSConfig 3 su Fedora 10
In questo tutorial descriverò come installare e configurare MyDNS e MyDNSConfig 3 su Fedora 10. MyDNS è un server DNS che utilizza un database MySQL come back-end 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 di MySQL
Possiamo installare MySQL come segue:
yum install mysql mysql-server
Quindi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:
chkconfig --levels 235 mysqld su
/etc/init.d/mysqld start
Corri
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
per impostare una password per l'utente root (altrimenti chiunque può accedere al tuo database MySQL!).
Se l'ultimo comando genera un errore...
[[email protected] named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword
mysqladmin:connessione al server su 'server1.example.com' non riuscita
errore:'Accesso negato per utente 'root'@'localhost' (usando la password:NO)'
[[email protected] named]#
... possiamo impostare la password come segue:connettersi a MySQL:
mysql -u root -p
Digita la password per l'utente root MySQL. Quindi, sulla shell MySQL, fai questo:
mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';
Corri
mysql> SELECT * FROM user;
per assicurarsi che tutte le righe in cui l'utente è root dispongano di una password.
Se tutto sembra a posto, esegui
mysql> FLUSH PRIVILEGES;
... e lascia la shell MySQL:
mysql> quit;
3 Installazione di Apache2, PHP, phpMyAdmin
MyDNSConfig necessita di un server web con supporto PHP; quindi installo Apache2. Installo anche phpMyAdmin in modo da poter accedere al database in un secondo momento tramite un'interfaccia web (sebbene sia opzionale):
yum install httpd php php-mysql php-mbstring php php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 php-cli phpMyAdmin
Dobbiamo anche installare vlogger che non è disponibile come pacchetto Fedora:
cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
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
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin #<Directory /usr/share/phpMyAdmin/> # order deny,allow # deny from all # allow from 127.0.0.1 #</Directory> # This directory does not require access over HTTP - taken from the original # phpMyAdmin upstream tarball # <Directory /usr/share/phpMyAdmin/libraries> Order Deny,Allow Deny from All Allow from None </Directory> # This configuration prevents mod_security at phpMyAdmin directories from # filtering SQL etc. This may break your mod_security implementation. # #<IfModule mod_security.c> # <Directory /usr/share/phpMyAdmin> # SecRuleInheritance Off # </Directory> #</IfModule> |
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.
4 Installazione di MyDNS
Possiamo installare MyDNS 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
All'avvio del sistema, MyDNS deve essere avviato dopo MySQL. Il collegamento di avvio di MySQL ha la priorità 64 su Fedora 10, quindi il collegamento di avvio di MyDNS deve avere una priorità compresa tra 65 e 99. Quindi apriamo lo script di inizializzazione di MyDNS...
vi /etc/init.d/mydns
... e cambia
[...] # chkconfig: 345 52 50 [...] |
a
[...] # chkconfig: 345 65 50 [...] |
Quindi creiamo i collegamenti di avvio:
chkconfig --levels 235 mydns on
Non avviamo MyDNS ora perché deve essere prima configurato:ciò verrà eseguito automaticamente dal programma di installazione di MyDNSConfig 3 in seguito.
Installazione di MyDNS e MyDNSConfig 3 su Fedora 10 - Pagina 2
5 Installazione di MyDNSConfig 3
Possiamo installare MyDNSConfig 3 come segue:
cd /tmp
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig/install/
php -q install.php
Questo avvierà il programma di installazione di MyDNSConfig 3:
[[email protected] install]# php -q install.php
Il programma di installazione configura automaticamente tutti i servizi sottostanti, quindi non è necessaria alcuna configurazione manuale.
Successivamente puoi accedere a MyDNSConfig 3 in http://server1.example.com:8080/ o http://192.168.0.100:8080/. Accedi con il nome utente admin e la password admin (dovresti cambiare la password predefinita dopo il primo accesso):
La scheda DNS è la parte più importante di MyDNSConfig perché è lì che puoi creare zone e record, quindi mi concentrerò su quella scheda.
Per creare una nuova zona, fai clic sul pulsante Aggiungi nuova zona DNS (SOA):
Ora puoi inserire i dettagli della zona, ad es. il nome di dominio, il nameserver principale e l'indirizzo email dell'amministratore di zona (si noti che è necessario sostituire il segno @ con un punto!); questi tre dettagli devono finire con un punto! Puoi lasciare gli altri dettagli così come sono. Ora puoi salvare la zona o andare direttamente alla scheda Record (questo salverà automaticamente i dettagli della zona):
Nella scheda dei record, ora puoi creare tutti i tipi di record DNS (A, CNAME, MX, NS, TXT, ecc.) - basta fare clic sul pulsante appropriato:
Ad esempio, ecco il modulo per creare record NS (tieni presente che se scrivi nomi host completi, devono terminare con un punto!):
Ecco la panoramica:come vedi, ho creato altri record:
Ogni volta che è disponibile una versione più recente di MyDNSConfig 3, puoi aggiornare l'installazione di MyDNSConfig 3 come segue:
Questo farà apparire la procedura guidata di aggiornamento. NOTA BENE:è possibile eseguire l'aggiornamento all'ultima versione stabile e alla versione svn. Si consiglia vivamente di eseguire l'aggiornamento all'ultima versione stabile poiché la versione svn viene utilizzata per lo sviluppo e potrebbe contenere bug. SEI AVVISATO!!!
Non esiste un percorso di aggiornamento diretto da MyDNSConfig 1.x a MyDNSConfig 3.x, tuttavia è facile importare i record DNS da MyDNSConfig 1.x in MyDNSConfig 3.x.
In questo capitolo presumo che il tuo vecchio MyDNSConfig 1.x utilizzi la tabella del database mydns e che la tua nuova installazione di MyDNSConfig 3 utilizzi il database dbmydnsconfig.
Per prima cosa installa MyDNSConfig 3 come segue:
cd /tmp
Segui la procedura guidata di installazione. Al termine dell'installazione (e PRIMA di creare qualsiasi record nell'interfaccia web di MyDNSConfig 3!!!), apri phpMyAdmin o una shell MySQL ed esegui le seguenti query MySQL (come utente root di MySQL) per importare i record DNS dal tuo vecchio Installazione di MyDNSConfig 1.x in MyDNSConfig 3 (assicurati di utilizzare i nomi di database corretti - devi sostituire `mydns` e `dbmydnsconfig` se i nomi di database differiscono!):
ALTER TABLE `mydns`.`rr` ADD `server_id` int(11) NOT NULL default '1',
ALTER TABLE `mydns`.`rr` MODIFY `sys_userid` int(11) unsigned NOT NULL DOPO `id`,
INSERISCI IN `dbmydnsconfig`.`dns_rr`
AGGIORNAMENTO `dbmydnsconfig`.`dns_rr` SET `sys_userid` =1,
ALTER TABLE `mydns`.`soa` MODIFY `sys_userid` int(11) unsigned NOT NULL DOPO `id`,
INSERISCI IN `dbmydnsconfig`.`dns_soa`
AGGIORNAMENTO `dbmydnsconfig`.`dns_soa` SET `sys_userid` =1,
Successivamente, puoi accedere a MyDNSConfig 3 sulla porta 8080 (ad es. http://server1.example.com:8080 o http://192.168.0.100:8080); l'accesso predefinito è username admin e password admin.
Tieni presente che queste query MySQL fanno in modo che tutte le zone siano di proprietà dell'amministratore. Se hai zone che dovrebbero essere di proprietà di qualcun altro, crea un client per ogni utente in MyDNSConfig 3 e vai alla scheda DNS e seleziona il client corretto per le zone.
----------------------- -------------------------------------------------- -------
__ __ _____ _ _ _____ _____ __ _
| \/ | | __ \| \ | |/ ____|/ ____| / _(_)
| \ / |_ _| | | | \| | (___ | | ___ _ __ | |_ _ __ _
|| |\/| | | | | | | | . ` |\___ \| | / _ \| '_ \| _| |/ _ ` |
| | | | |_| | |__| | |\ |____) | |___| (_) | | | | | | | (_| |
|_| |_|\__, |_____/|_| \_|_____/ \_____\___/|_| |_|_| |_|\__, |
>> Configurazione iniziale
Sistema operativo: Fedora 10 o compatibile
Di seguito saranno alcune domande per la configurazione primaria quindi fai attenzione.
I valori predefiniti sono tra [parentesi tra parentesi] e possono essere accettati con
Tocca "chiudi" (senza virgolette) per interrompere il programma di installazione.
Seleziona lingua (en,de) [en]: <-- ENTER
Modalità installazione (standard,esperto) [standard]: <-- ENTER
Nome host completo qualificato (FQDN) del server, es server1.domain.tld [server1.example.com]: <-- ENTER
nome host server MySQL [localhost]: <-- ENTER
nome utente root MySQL [root]: <-- ENTER
passw root MySQL ord []: <-- yourrootsqlpassword
database MySQL da creare [dbmydnsconfig]: <-- ENTER
charset MySQL [utf8]: <-- ENTER
Configurazione MyDNS
Configurazione Apache
Configurazione Firewall
Installazione MyDNSConfig
MyDNSConfig Port [8080]: <-- ENTER
chown: utente non valido : `getmail'
Installazione Crontab
nessun crontab per root
Riavvio servizi ...
Interruzione httpd: [ OK ]
[Mer Apr 08 01:38:25 2009] [avviso] NameVirtualHost *:80 non ha VirtualHost
Avvio httpd: [ OK ]
Installazione completata.
[[email protected] install]# 6 Utilizzo di MyDNSConfig 3
7 Aggiornamento di MyDNSConfig 3
mydnsconfig_update.sh
8 Aggiornamento da MyDNSConfig 1.x a MyDNSConfig 3.x
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig/install/
php -q install.php
ADD `active` enum('N','Y') NOT NULL default 'Y',
ADD `stamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
ADD `serial` int(10) unsigned default NULL;
MODIFY `sys_groupid` int(11) unsigned NOT NULL DOPO `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NOT NULL DOPO `sys_groupid`,
MODIFICA `sys_perm_group` varchar(5) NOT NULL AFTER `sys_perm_user`,
MODIFICA `sys_perm_other` varchar(5) NOT NULL DOPO `sys_perm_group `,
MODIFICA `server_id` int(11) NOT NULL default '1' DOPO `sys_perm_other`;
SELECT *
DA `mydns`.`rr`;
`sys_groupid` =0,
`sys_perm_user` ='riud',
`sys_perm_group` ='riud',
`sys_perm_other` ='',
`server_id` =1;ALTER TABLE `mydns`.`soa` ADD `server_id` int(11) NOT NULL default '1';
MODIFY `sys_groupid` int(11) unsigned NOT NULL DOPO `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NOT NULL DOPO `sys_groupid`,
MODIFICA `sys_perm_group` varchar(5) NOT NULL AFTER `sys_perm_user`,
MODIFICA `sys_perm_other` varchar(5) NOT NULL DOPO `sys_perm_group `,
MODIFICA `server_id` int(11) NOT NULL default '1' DOPO `sys_perm_other`;
SELECT *
DA `mydns`.`soa`;
`sys_groupid` =0,
`sys_perm_user` ='riud',
`sys_perm_group` ='riud',
`sys_perm_other` ='',
`server_id` =1;9 link