-
PowerDNS i Poweradmin w CentOS
Utrzymywanie domen klientów wiąże się często z chęcią modyfikacji wpisów przez użytkowników. Najlepiej by było, aby każdy mógł robić to samodzielnie. Niestety w przypadku najpopularniejszego na rynku Bind-a nie ma takiej możliwości, a przy najmniej ja takowej nie znam. Idealny wydaje się do tego PowerDNS w skrócie pDNS. Cała jego konfiguracja może znajdować się bowiem w bazie danych. To w połączeniu z narzędziem o nazwie Poweradmin, pozwala każdemu na swobodne i proste zarządzanie swoimi strefami domenowymi. Jest to szczególnie ważne w przypadku firm hostingowych. Przystąpmy do instalacji. Źródła możemy pobrać ze strony projektu i skompilować lub skorzystać z gotowej paczki znajdującej się w repozytorium EPEL. Zakładam, że mamy skonfigurowane powyższe repo oraz założoną bazę danych z użytkownikiem posiadającym do niej pełen dostęp.
yum install pdns pdns-backend-mysql poweradmin
Instalujemy główną paczkę serwera dns, wsparcie do bazy MySQL oraz panel administracyjny.
vim /etc/pdns/pdns.conf
Edytujemy plik konfiguracyjny i dodajemy następujące linie:
setuid=użytkownik_z_którego_będzie_chodził_powerdns
setgid=grupa_z_której_będzie_chodził_powerdns
launch=gmysql
gmysql-host=adres_ip_serwera_sql
gmysql-user=użytkownik_sql_mający_dostęp_do_bazy_powerdns-a
gmysql-password=hasło_do_bazy_powerdns-a
gmysql-dbname=nazwa_bazy_danych_powerdns-a
Baza danych powinna posiadać określoną strukturę. Do jej stworzenia przysłuży się plik dostępny do pobrania stąd. Proszę go pobrać i zaimportować do pustej bazy danych powerdns-a przy pomocy PHPMyAdmina-a lub konsoli shellowej. Znajdując się w katalogu z pobranym plikiem struktury bazy, wydajemy komendę w konsoli:
mysql -u nazwa_uzytkownika -D nazwa_bazy -phasło < powerdns
Standardowym użytkownikiem do zalogowanie jest „admin” a hasłem „password”. Może się zdarzyć, że będą występować time-outy połączenia powerdns-a z z bazą danych. Aby tego uniknąć należy zwiększyć dopuszczalny okres bezczynności. Robimy to w pliku „/etc/my.cnf”. W sekcji [mysqld] dopisujemy:
set-variable = wait_timeout=86400
Restartujemy serwer bazodanowy:
service mysqld restart
Przystępujemy do konfiguracji Poweradmin-a.
vim /etc/httpd/conf.d/poweradmin.conf
Edytujemy powyższy plik.
Alias /poweradmin /usr/share/poweradmin # oznacza, iż po wpisaniu w przeglądarce http://adres_ip/poweradmin zostaniemy przekierowani na stronę logowanie do Poweradmin-a
<Directory /usr/share/poweradmin/> # katalog Poweradmin-a
order deny,allow
deny from all
allow from adres_ip_lub_sieci # zezwalamy na dostęp tylko z podanego adresu lub klasy adresowej
</Directory>
Restart Apache i start PowerDNS-a
service httpd restart
service pdns start
Mam nadzieję, że udało mi się choć trochę ułatwić Wam start z PowerDNS-em i Poweradmin-em. W razie problemów piszcie w komentarzach lub na forum.
Super artykuł, aha jeszcze jak to wygląda w stosunku do ISP_CONFIG (tam też user może zarządzać strefami DNS) jeszcze jedno bym prosił jak takie coś „ubrać” w loadbalancer dla mysqla (zapewnienie wysokiej dostępności i synchronizacja bazy). Pozdrawiam.
Ciekawa propozycja tematu. Trzeba pomyśleć 🙂
Czy mi się wydaje czy storna co jakiś czas przestaje działać
?