Instalace MyDNS &MyDNSConfig 3 na Fedoře 10
V tomto tutoriálu popíšu, jak nainstalovat a nakonfigurovat MyDNS a MyDNSConfig 3 na Fedoře 10. MyDNS je DNS server, který používá databázi MySQL jako backend místo konfiguračních souborů, jako jsou například Bind nebo djbdns. Výhodou je, že MyDNS jednoduše načte záznamy z databáze a nemusí se restartovat/znovu načítat při změně DNS záznamů nebo vytvoření/editaci/mazání zón. Sekundární jmenný server lze snadno nastavit instalací druhé instance MyDNS, která přistupuje ke stejné databázi, nebo, aby to bylo redundantnější, používá funkce replikace MySQL master/slave k replikaci dat na sekundární jmenný server.
MyDNSConfig je snadno použitelné webové rozhraní pro MyDNS. MyDNSConfig může vytvářet všechny typy záznamů DNS, které jsou dostupné v MyDNS, a přidává funkce, jako je správa uživatelů a přístupová oprávnění.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 předběžná poznámka
V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100. Tato nastavení se pro vás mohou lišit, takže je musíte v případě potřeby nahradit.
2 Instalace MySQL
MySQL můžeme nainstalovat následovně:
yum install mysql mysql-server
Poté vytvoříme spouštěcí odkazy systému pro MySQL (takže se MySQL spustí automaticky při každém spuštění systému) a spustíme server MySQL:
chkconfig --levels 235 mysqld na
/etc/init.d/mysqld start
Spustit
mysqladmin -u heslo root yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
nastavit heslo pro uživatele root (jinak má kdokoli přístup k vaší databázi MySQL!).
Pokud vám poslední příkaz vyhodí chybu...
[[email protected] s názvem]# mysqladmin -h server1.example.com -u root heslo yourrootsqlpassword
mysqladmin:připojení k serveru na 'server1.example.com' se nezdařilo
chyba:'Přístup odepřen pro uživatel 'root'@'localhost' (pomocí hesla:NE)'
[[email protected] s názvem]#
... heslo můžeme nastavit následovně:connect to MySQL:
mysql -u root -p
Zadejte heslo pro uživatele root MySQL. Potom v prostředí MySQL proveďte toto:
mysql> USE mysql;
mysql> AKTUALIZOVAT SET uživatele Password =password('yourrootsqlpassword') WHERE Host ='server1.example.com' AND User ='root';
mysql> AKTUALIZOVAT SET uživatele Password =password('yourrootsqlpassword') WHERE Host ='127.0.0.1' AND User ='root';
Spustit
mysql> SELECT * FROM user;
abyste se ujistili, že všechny řádky, kde je uživatel root, mají heslo.
Pokud je vše v pořádku, spusťte
mysql> FLUSH PRIVILEGES;
... a opusťte prostředí MySQL:
mysql> ukončit;
3 Instalace Apache2, PHP, phpMyAdmin
MyDNSConfig potřebuje webový server s podporou PHP; proto nainstaluji Apache2. Instaluji také phpMyAdmin, abych mohl později přistupovat k databázi přes webové rozhraní (ačkoli je to volitelné):
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
Musíme také nainstalovat vlogger, který není dostupný jako balíček Fedory:
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*
Nyní nakonfigurujeme phpMyAdmin. Změnili jsme konfiguraci Apache tak, aby phpMyAdmin umožňoval připojení nejen z localhostu (zakomentováním stanzy
vi /etc/httpd/conf.d/phpMyAdmin.conf
# phpMyAdmin – webový prohlížeč MySQL napsaný v php## Ve výchozím nastavení povoluje pouze localhost## Je však třeba zvážit povolení phpMyAdmin komukoli jinému než localhost# nebezpečné, pokud není řádně zabezpečeno pomocí SSLAlias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin# |
Poté vytvoříme spouštěcí odkazy systému pro Apache a spustíme jej:
chkconfig --levels 235 httpd na
/etc/init.d/httpd start
Nyní můžete svůj prohlížeč nasměrovat na http://server1.example.com/phpmyadmin/ nebo http://192.168.0.100/phpmyadmin/ a přihlásit se pomocí uživatelského jména root a vašeho nového hesla root MySQL.
4 Instalace MyDNS
MyDNS můžeme nainstalovat následovně:
wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm
Když se systém spustí, MyDNS musí být spuštěn po MySQL. Spouštěcí odkaz MySQL má na Fedoře 10 prioritu 64, takže spouštěcí odkaz MyDNS musí mít prioritu mezi 65 a 99. Proto otevřeme iniciační skript MyDNS...
vi /etc/init.d/mydns
... a změnit
[...]# chkconfig:345 52 50[...] |
do
[...]# chkconfig:345 65 50[...] |
Poté vytvoříme spouštěcí odkazy:
chkconfig --levels 235 mydns zapnuto
MyDNS nyní nespouštíme, protože musí být nejprve nakonfigurováno – to později provede automaticky instalační program MyDNSConfig 3.
Instalace MyDNS &MyDNSConfig 3 na Fedoře 10 – strana 2
5 Instalace MyDNSConfig 3
MyDNSConfig 3 můžeme nainstalovat následovně:
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
Tím se spustí instalační program MyDNSConfig 3:
[[email protected] install]# php -q install.php
Instalační program automaticky nakonfiguruje všechny základní služby, takže není potřeba žádná ruční konfigurace.
Poté můžete přistupovat k MyDNSConfig 3 pod http://server1.example.com:8080/ nebo http://192.168.0.100:8080/. Přihlaste se pomocí uživatelského jména admin a hesla admin (po prvním přihlášení byste měli změnit výchozí heslo):
Karta DNS je nejdůležitější součástí MyDNSConfig, protože zde můžete vytvářet zóny a záznamy, takže se zaměřím na tuto kartu.
Chcete-li vytvořit novou zónu, klikněte na tlačítko Přidat novou zónu DNS (SOA):
Nyní můžete vyplnit detaily zóny, např. název domény, primární jmenný server a e-mailovou adresu správce zóny (vezměte prosím na vědomí, že znak @ musíte nahradit tečkou!); tyto tři detaily musí končit tečkou! Ostatní detaily můžete nechat tak, jak jsou. Nyní můžete uložit zónu nebo přejít přímo na kartu Záznamy (tím se automaticky uloží podrobnosti zóny):
Na záložce záznamy nyní můžete vytvářet všechny druhy DNS záznamů (A, CNAME, MX, NS, TXT atd.) - stačí kliknout na příslušné tlačítko:
Zde je například formulář pro vytváření záznamů NS (pamatujte prosím, že pokud napíšete celé názvy hostitelů, musí končit tečkou!):
Zde je přehled – jak vidíte, vytvořil jsem několik dalších záznamů:
Kdykoli bude k dispozici novější vydání MyDNSConfig 3, můžete svou instalaci MyDNSConfig 3 aktualizovat následovně:
Tím se zobrazí průvodce aktualizací. UPOZORNĚNÍ:Můžete upgradovat na nejnovější stabilní verzi a na verzi svn. Důrazně se doporučuje upgradovat na nejnovější stabilní verzi, protože verze svn se používá pro vývoj a může obsahovat chyby. BYLI JSTE VAROVÁNI!!!
Neexistuje žádná přímá cesta k upgradu z MyDNSConfig 1.x na MyDNSConfig 3.x, nicméně je snadné importovat DNS záznamy z MyDNSConfig 1.x do MyDNSConfig 3.x.
V této kapitole předpokládám, že váš starý MyDNSConfig 1.x používá databázovou tabulku mydns a že vaše nová instalace MyDNSConfig 3 používá databázi dbmydnsconfig.
Nejprve nainstalujte MyDNSConfig 3 následovně:
cd /tmp
Postupujte podle pokynů průvodce instalací. Po dokončení instalace (a PŘED vytvořením jakýchkoli záznamů ve webovém rozhraní MyDNSConfig 3!!!), otevřete phpMyAdmin nebo MySQL shell a spusťte následující dotazy MySQL (jako kořenový uživatel MySQL), abyste importovali DNS záznamy ze svého starého Instalace MyDNSConfig 1.x do MyDNSConfig 3 (ujistěte se, že používáte správné názvy databází – pokud se názvy vaší databáze liší, musíte nahradit `mydns` a `dbmydnsconfig`!):
ALTER TABLE `mydns`.`rr` PŘIDAT `id_serveru` int(11) NOT NULL výchozí '1',
ALTER TABLE `mydns`.`rr` MODIFY `sys_userid` int(11) unsigned NENÍ NULL ZA `id`,
INSERT INTO `dbmydnsconfig`.`dns_rr`
AKTUALIZACE `dbmydnsconfig`.`dns_rr` SET `sys_userid` =1,
ALTER TABLE `mydns`.`soa` MODIFY `sys_userid` int(11) unsigned NENÍ NULL ZA `id`,
INSERT INTO `dbmydnsconfig`.`dns_soa`
AKTUALIZACE `dbmydnsconfig`.`dns_soa` SET `sys_userid` =1,
Poté můžete přistupovat k MyDNSConfig 3 na portu 8080 (např. http://server1.example.com:8080 nebo http://192.168.0.100:8080); výchozí přihlášení je uživatelské jméno admin a heslo admin.
Vezměte prosím na vědomí, že tyto dotazy MySQL způsobují, že všechny zóny jsou ve vlastnictví správce. Pokud máte zóny, které by měl vlastnit někdo jiný, vytvořte klienta pro každého uživatele v MyDNSConfig 3 a přejděte na kartu DNS a vyberte správného klienta pro zóny.
----------------------- -------------------------------------------------- -------
__ __ _____ _ _ _____ _____ __ _
| \/ | | __ \| \ | |/ ____|/ ____| / _(_)
| \ / |_ _| | | | \| | (___ | | ___ _ __ | |_ _ __ _
| |\/| | | | | | | | | | | | . ` |\___ \| | / _ \| '_ \| __| | ` |
| | | | |_| | |__| | |\ |____) | |___| (_) | | | | | | | (_| |
|_| |_|\__, |_____/|_| \_|_____/ \_____\___/|_| |_|_| |_|\__, |
__/| __/|
| ___/| ___/
-------------------------------- -------------------------------------------------- --
>> Počáteční konfigurace
Operační systém: Fedora 10 nebo kompatibilní
Následuje několik otázek pro primární konfiguraci buďte tedy opatrní.
Výchozí hodnoty jsou v [závorkách] a lze je přijmout pomocí
Klepnutím na „konec“ (bez uvozovek) zastavíte instalátor.
Vyberte jazyk (en,de) [en]: <-- ENTER
Režim instalace (standardní, expertní) [standardní]: <-- ENTER
Úplný kvalifikovaný název hostitele (FQDN) serveru, např. server1.domain.tld [server1.example.com]: <-- ENTER
Název hostitele serveru MySQL [localhost]: <-- ENTER
Uživatelské jméno kořenového MySQL [root]: <-- ENTER
heslo kořenového uživatele MySQL ord []: <-- heslo vaše rootsql
MySQL databázi k vytvoření [dbmydnsconfig]: <-- ENTER
Znaková sada MySQL [utf8]: <-- ENTER
Konfigurace MyDNS
Konfigurace Apache
Konfigurace Firewall
Instalace MyDNSConfig
MyDNSConfig Port [8080]: <-- ENTER
chown: neplatný uživatel : `getmail'
Instalace Crontabu
žádný crontab pro root
Restartování služeb ...
Zastavování httpd: 5 [ 5 2009] [warn] NameVirtualHost *:80 nemá žádné VirtualHosts
Počínaje httpd: x amplace amplace expozice [ / > OK instalace 6 Použití MyDNSConfig 3
7 Aktualizace MyDNSConfig 3
mydnsconfig_update.sh
8 Upgrade z MyDNSConfig 1.x na 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
PŘIDAT `aktivní` enum('N','Y') NOT NULL výchozí 'Y',
PŘIDAT časové razítko `samp` NOT NULL default CURRENT_TIMESTAMP,
ADD `serial` int(10) unsigned default NULL;
MODIFY `sys_groupid` int(11) unsigned NENÍ NULL AFTER `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NENÍ NULL ZA `sys_groupid`,
MODIFY `sys_perm_group` varchar(5) NENÍ NULL AFTER `sys_perm_user`,
MODIFY `sys_perm_other` varchar(AFTER) NOT NULL `,
MODIFY `server_id` int(11) NOT NULL výchozí '1' ZA `sys_perm_other`;
SELECT *
FROM `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 výchozí '1';
MODIFY `sys_groupid` int(11) unsigned NENÍ NULL AFTER `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NENÍ NULL ZA `sys_groupid`,
MODIFY `sys_perm_group` varchar(5) NENÍ NULL AFTER `sys_perm_user`,
MODIFY `sys_perm_other` varchar(AFTER) NOT NULL `,
MODIFY `server_id` int(11) NOT NULL výchozí '1' ZA `sys_perm_other`;
SELECT *
FROM `mydns`.`soa`;
`sys_groupid` =0,
`sys_perm_user` ='riud',
`sys_perm_group` ='riud',
`sys_perm_other` ='',
`server_id` =1;9 odkazů