[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:18346] Re: Bug#679426: ITP: python-tonicdnscli -- TonicDNS Client



前田です。

2012年7月19日 12:06 Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx>:
> こんにちは、岩松です。
>
> このパッケージとtonicdnsですが、動作チェック環境を構築する方法
> がわからないので、協力していただけると助かります。
>
> 岩松


岩松さん、ありがとうございます。
長文になりますが、下記になります。


1. PowerDNSのインストール

最低限 pdns-backend-mysql mysql-server の二つをインストールすると、
必要なパッケージは依存関係でインストールされます。

インストール途中でdebconfで聞かれる設定項目は下記2つです。
- MySQLのrootユーザのパスワード
- pdns-backend-mysqlの管理ユーザ(pdns)用のパスワード (ここで設定しない場合はTonicDNSのインストール時に手動実行)

pdns-backend-mysqlインストール時に、データベース(pdns)が作成され、
postinstで実行されるdebconfでMySQLのpdns用の管理アカウントのパスワードを設定するか聞かれます。
ここで設定するとMySQLにpdns-serverが接続するためのpdnsユーザが作成されます。

次にパッケージインストール後に、pdns-serverの設定を行います。
pdns-backend-mysqlパッケージに含まれる、
/usr/share/doc/pdns-backend-mysql/examples/pdns.local.gmysql
を/etc/powerdns/pdns.d/pdns.localにコピーして、下記を設定します。

- /etc/powerdns/pdns.d/pdns.local
---
gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=設定したパスワード

- /etc/powerdns/pdns.conf
下記を最低限変更します。
---
allow-recursion=127.0.0.1
disable-axfr=no
launch=gmysql
lazy-recursion=no
master=on

上記設定後、pdns-server(/etc/init.d/pdns)を再起動するとDNSとしては応答するようになります。
(ただし、この状態ではMySQLのpdns DBにはスキーマは定義されていませんのでコンテンツDNSとしてはまだ機能しません)


2. TonicDNSのインストール

TonicDNS自体は、PowerDNSで使うMySQLのRESTful APIのみを提供します。
(直接PowerDNSとはやりとりしません)

apache2-mpm-itk php5-mysqlをインストールしたのち、tonicdnsをインストールします。

インストール後、pdns DBのスキーマの定義を行います。
pdns-backend-mysqlのインストール時に、管理ユーザの設定を行わなかった場合は、
下記SQLの実行が必要です。(tonicdnsのREADME.Debianにも記載してあります。)

- pdnsユーザの設定
mysql -u root -p -e "GRANT SELECT,INSERT,UPDATE,DELETE on pdns.* TO
'pdns'@'localhost' IDENTIFIED BY '設定するパスワード';FLUSH PRIVILEGES"

- pdns DBのテーブル定義
mysql -u root -p pdns < /usr/share/doc/tonicdns/examples/tables.sql


TonicDNS自体の設定は、/etc/tonicdns/database.conf.phpに行います。
設定すべき項目は、
- DB_DSN
- DB_USER
- DB_PASS
- TOKEN_SECRET
の4つですが、postinst時に、DB_PASS以外は自動的に設定されるようにしてあります。
(現在アップロードしてあるREADME.Debianの記述は/etc/tonicdns/database.confになっていますが、これ間違いです。修正します)

設定後、Apacheのsites-availableの下にコピーされている、tonidns-sslを有効にし、Apacheを再起動します。
(/etc/tonicdnsディレクトリ以下のファイルは変更してもApacheの再起動は不要です)

TonicDNSの基本的な使い方は、下記リンク先にあります。
https://github.com/Cysource/TonicDNS/wiki/GettingStarted

また、これを使用して、TonicDNSのAPIを使うには、TonicDNSにユーザアカウントを作成する必要あります。
先ほどのTonicDNSのWiki "Getting Started"の手順3. Create TonicDNS
userにユーザアカウントの作成方法があります。

※ちなみに、tonicdnscliのutils/add_account.pyをTonicDNSのサーバ上で実行すると、
SQLを直接実行しなくても大丈夫ですが、指定しているemailアドレス、ユーザアカウントのフォーマットが、
汎用的では無いので、tonicdnscliのソースパッケージ自体には含めていません。

3. tonicdnscliのインストール

これはインストールの際にはPython2.7のみに依存するのでdpkgでインストールするだけです。
TonicDNSをインストールしたホストとは別でも問題ありません。(通常はリモートクライアントとして使っています)

インストール後、上記2の中で設定したアカウントでTonicDNSにアクセスします。

基本的な使い方は、manページおよび/usr/share/doc/python-tonicdnscli/README.rst.gz
にもありますが、tonicdnscliコマンドの-hオプションでのヘルプがコマンドとオプション自体を網羅してあります。
サブコマンドごとにヘルプは変更されます。

サブコマンドshow, bulk_create, bulk_deleteで一括登録/削除などで使うファイルのサンプルは、
/usr/share/tonicdnscli/examples/example.org.txtにあります。

接続するTonicDNSサーバおよびユーザアカウント、パスワードを設定ファイルで行う場合のサンプルは、
/usr/share/tonicdnscli/examples/tdclirc.sampleにあります。
後者は、$HOME/.tdclircとしてコピーすると、それがコマンド実行時に読み込まれます。

その他、不明な点がありましたら、ご質問下さい。

よろしくお願いします。
--
Kouhei Maeda <mkouhei at gmail.com>
 KeyID 4096R/7E37CE41



>
> 2012/6/29 Kouhei Maeda <mkouhei@xxxxxxxxx>:
>> 前田です。
>>
>> バグ修正して、パッケージもアップデートしました。
>> 下記リンク先にアップロードしてあります。
>>
>> http://www.debian.or.jp/~mkouhei/t/tonicdnscli_0.7.1-1.dsc
>>
>> スポンサーをお願いします。
>> --
>> Kouhei Maeda <mkouhei at gmail.com>
>>  KeyID 4096R/7E37CE41
>>
>>
>> 2012/6/29 Kouhei Maeda <mkouhei@xxxxxxxxx>:
>>> すいません、このバージョンはひどいバグを混入してしまったので修正します。
>>> --
>>> Kouhei Maeda <mkouhei at gmail.com>
>>>  KeyID 4096R/7E37CE41
>>>
>>>
>>> 2012/6/29 Kouhei Maeda <mkouhei@xxxxxxxxx>:
>>>> 前田です。
>>>>
>>>> 主題のパッケージを作成し、アップロードしました。
>>>> スポンサーをお願いします。
>>>>
>>>> http://osdn2.debian.or.jp/~mkouhei/t/tonicdnscli_0.7-1.dsc
>>>>
>>>> 別途#679223でITPした、私がPythonで開発しているTonicDNS用のコマンドラインのクライアントツールです。
>>>> よろしくお願いします。
>>>> --
>>>> Kouhei Maeda <mkouhei at gmail.com>
>>>>  KeyID 4096R/7E37CE41
>>>>
>>>>
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Kouhei Maeda <mkouhei@xxxxxxxxxx>
>>>> Date: 2012/6/29
>>>> Subject: Bug#679426: ITP: python-tonicdnscli -- TonicDNS Client
>>>> To: Debian Bug Tracking System <submit@bugs.debian.org>
>>>>
>>>>
>>>> Package: wnpp
>>>> Severity: wishlist
>>>> Owner: Kouhei Maeda <mkouhei@xxxxxxxxxx>
>>>>
>>>> * Package name    : python-tonicdnscli
>>>>  Version         : 0.7
>>>>  Upstream Author : Kouhei Maeda <mkouhei@xxxxxxxxxx>
>>>> * URL             : https://github.com/mkouhei/tonicdnscli
>>>> * License         : GPL
>>>>  Programming Lang: Python
>>>>  Description     : TonicDNS Client
>>>>  This command line tool for TonicDNS API. TonicDNS is  RESTful API for
>>>>  PowerDNS. Convert readble text record to JSON, and create or delete zone
>>>>  records with TonicDNS.
>>>>
>>>>
>>>>
>>>> --
>>>> To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
>>>> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>>>> Archive: http://lists.debian.org/20120628153647.15818.90187.reportbug@xxxxxxxxxxxxxxxx
>>>>
>>>
>>
>
>
>
> --
> Nobuhiro Iwamatsu
>    iwamatsu at {nigauri.org / debian.org}
>    GPG ID: 40AD1FA6
>