• PowerDNS i Poweradmin w CentOS

    dodany przez Przemysław Sikora

    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.

3 komentarze do “PowerDNS i Poweradmin w CentOS”

  1. michas100 pisze:

    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.

  2. admin pisze:

    Ciekawa propozycja tematu. Trzeba pomyśleć 🙂

  3. Czy mi się wydaje czy storna co jakiś czas przestaje działać
    ?

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony