? いろんなことをしてみるブログ(予定) 2011年09月
FC2ブログ

Poweradminの設置

前回はPowerDNSのインストールをして起動するとこまでやったので次は
管理ツールPoweradminを設置してDNSの管理をできるようにする。


1.PowerDNS本体をDLして解凍
本体は本家サイトから最新版をDLしてくる現在は2.1.5

wget http://www.poweradmin.org/download/poweradmin-2.1.5.tgz

tar zxvf poweradmin-2.1.5.tgz



解凍したフォルダを名変してwebから開けるところ(/var/www/html とか)に置く

mv poweradmin-2.1.5 /var/www/html/poweradmin




poweradmin/inc/config-me.inc.phpをconfig.inc.phpに名変して編集

cd /var/www/html/poweradmin/inc
cp config-me.inc.php config.inc.php

vi config.inc.php




5~10行目はDB設定なので自分のとこに合わす

$db_host = 'localhost';  MySQLのホスト
$db_port = '3306';  ポート
$db_user = 'username'; DBユーザー
$db_pass = 'password';  パスワード
$db_name = 'powerdns';  PowerDNSのDB
$db_type = 'mysql';  DBの種類



日本語を使いたい場合は15行目を

$iface_lang = 'ja_JP';


にすればOK

因みに日本語の文字コードはEUC-JPになってるのでブラウザで開いたときに文字化けするなら
.htaccessファイルを作成して

AddDefaultCharset EUC-JP



と書いとく
設置場所は
poweradmin/.htaccess



完了したらブラウザからアクセスすると


あり??
Error: You have to install MDB2 library!
なんかエラーだよ
MDB2が無いとかなんとか
手なわけでインストール

pear install MBD2



インストールして再度アクセス


またエラー…
Error: unable to find package 'MDB2_Driver_mysql' file 'MDB2/Driver/mysql.php'

今度はドライバーが無いとか
こっちもインストール

pear install MDB2_Driver_mysql



リトライ!!
3.jpg


おっ!進んだけどなんか出てる…
でもこれはとりあえず無視してOK
赤背景のとこのInstallをクリックすると進みます

4.jpg


とりあえず
私は続行することを好む日本
を選択して次へ進む

5.jpg


このページは要は
前にPowerDNS使ったことがある場合前のデータすべて削除されますよいいですか??
的なこといいてるので構わず次へ


6.jpg

上から順番に
MySQLのユーザー名
及びパスワード
ホスト
ポート
DB名
DB種類
PowerAdmin用のパスワード
↑MySQLのものとは別口のもの

んで次

7.jpg

Poweradminのユーザー名:adminにしておく
同パスワード:前のページで入力したものにしておく
hostmasterとnameserverはとりあえずテキトーに入力しておく

ステップ5,6はとりあえず次へ押しとけばOK
ステップ7まで行ったらInstallフォルダを削除してTOPへ戻る


ユーザー名とパスを入力して進む


んであとはDNSの情報とかを入力して出来上がりって訳

うまくやればDDNS的なこともできると思う

※なぜか一部テーブルが出来上がらない時があるけどその時は
poweradmin/docs/にあるSQLファイルを自分で流し込む(phpMyAdminとかから)


2011/09/28追記
このままだとレコードを追加、修正したときの時間が世界協定時になってしまってるから
それが嫌な場合は東京時間になるようにする

/powerdns/inc/toolkit.inc.php
364行目を以下のように

date_default_timezone_set('Asia/Tokyo');





うまいことDDNS化完了
作動CKもOKでとりあえずよく頑張った…

ま、素人のやっつけだからものっそいソース汚いけどね…

スポンサーサイト



2011/09/25 13:34 | COMMENT(0)TRACKBACK(0)  TOP

PowerDNSのインストール

そうだ DNS鯖、立ててみよう。

ってなわけでDNSサーバーを立ててみるテスト
今回インストールするのはPowerDNS

ん、なんとなくね…

しかしBIND関係は結構あるけどこっちはあんましないね
ま、インストールする

※検証はCentOS5.5でやってますので…
※バックエンドはMySQLで遣ります

↓先にやっとく
PowerDNSを入れる前にMySQL関連のインストールをする
そしてPowerDNS用のDB&ユーザーを作成しておく


1.PowerDNSインストール

yumでインストールできるので

yum install pdns pdns-backend-mysql




インストールしたら設定ファイルを開いていろいろ設定

vi /etc/pdns/pdns.conf



↓pdns.conf(いじるとこだけ書きます)


#################################
# launch Which backends to launch and order to query them in
#
# launch=
launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns
gmysql-password=powerdns
gmysql-dbname=powerdns



# launch=
のしたは空行なのでサクッと追記してください
hostはMySQLが動作しているホスト名
userはMySQL用ユーザー名
passwordはMySQL用パスワード
dbnameはMySQLのDB名を


#################################
# local-address Local IP addresses to which we bind
#
# local-address=0.0.0.0




以下はWeb上からPowerDNSの状態等を確かめられるようにする場合のみ

#################################
# webserver Start a webserver for monitoring
#
# webserver=no
webserver=yes

#################################
# webserver-address IP Address of webserver to listen on
#
# webserver-address=127.0.0.1
webserver-address=*.*.*.*

#################################
# webserver-password Password required for accessing the webserver
#
# webserver-password=
webserver-password=****

#################################
# webserver-port Port of webserver to listen on
#
# webserver-port=8081



これをしておけばpdns起動後
サーバーアドレス:8081でアクセスするとBASIC認証のダイアログが開くから
ユーザー名はテキトー(何でもOK)
パスワードに設定したパスワードでアクセスできる
ログとか表示されます

ここまででOKのはず
で、起動

service pdns start



その他UDP/TCPの53をあけておく
これでOKのはず

2011/09/24 18:44 | COMMENT(0)TRACKBACK(0)  TOP

PHPのバージョンを最新にしてみる

前の記事

pc2mでGDライブラリが使えないとかなんとかでめんどいので今回は5.2とする


ってしてたけど解決できたので最新版にしてみる

方法
インストールされているPHP関係をすべてアンインストール

yum remove php*


epel-release-5-4をインポート

rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm


remi-release-5をインポート

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm


PHPをインストール

yum install php --enablerepo=remi


さっきアンインストールしたものをインストールしとく(メモっとくとOK)
インストールしたいプログラムの後に --enablerepo=remiと入れるのがミソ

ちなみにこれで入れれるPHPのバージョンは

PHP 5.3.8 (cli) (built: Aug 23 2011 15:23:25)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies



今のところ5.3.8の模様

2011/09/08 16:16 | COMMENT(0)TRACKBACK(0)  TOP

p2ime.php

久々に鯖ネタっぽい

rep2本家のp2ime.phpのソース
http://akid.s17.xrea.com/p2ime.php.txt
見ながらp2ime.phpをちょいと改変

本家が落ちてたときに転送効かなくなったらアレだから鯖内にp2imeを設置してしまう

↑のソースのままだと全て自動転送扱いになる上、手動転送フラグ立っててもエラーがでるから手動転送できるように
うまく改変


以下改造済みp2.ime

<?php
// p2ime.php
// by aki < http://akid.s17.xrea.com/ >
// 最終更新日:2005/3/9

// 変数

$page_title = "p2 ime";
$refresh_time = 1;
$refresh_flag = false;

$query = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';



// enc=1 がついていれば、urlをデコードするのフラグ
//http://akid.s17.xrea.com/p2ime.php?enc=1&m=1&url=http%3A%2F%2Fpage2.skr.jp%2Frep2%2F
$pettern = '/^enc=1(&|&amp;)/i';
if (preg_match($pettern, $query)) {
$query = preg_replace($pettern, '', $query);
$enc_flag = true;
}


//↓手動転送用追記部分
//手動転送
//m=1なら手動転送するフラグ
//手動転送処理はエンコード処理の後に記述しておく

$pettern = '/^m=1(&|&amp;)/i';
if (preg_match($pettern, $query)) {
$query = preg_replace($pettern, '', $query);
//ここでは$man_mv_flagとしているが別に変数の名前はなんだってOK
$man_mv_flag = true;
}

// URL指定取得
$target_url = preg_replace("/url=(.+)/", "$1", $query, 1);

// エンコード指定があれば、デコードしておく
if (!empty($enc_flag)) {
$target_url = rawurldecode($target_url);
}

$view_ht['target_url'] = htmlspecialchars($target_url);

if (!$target_url) {
$htm['msg'] = "エラー:URLが指定されていません。";
} elseif (!preg_match("{^(http|ftp)}i", $target_url)) {
$htm['msg'] = "http*, ftp以外のスキームは自動転送表示しません。<br><br>" . $view_ht['target_url'];
} else {
$htm['msg'] = "<a href=\"" . $view_ht['target_url'] . "\">" . $view_ht['target_url'] . "</a>";
//この下の $reflesh_flagは使わない
//$refresh_flag = true;
}
/*ここから追記部分
もとのp2ime.php.txtそのままだとすべてのURLが自動転送となる
また、手動転送フラグ(m=1)が機能しないため
m=1が立っていると
http*, ftp以外のスキームは自動転送表示しません。
の表示となり転送できないので手動転送できるようにうまく記述*/

//man_mv_flagが立っている(true)の時の処理
if ($man_mv_flag) {
//$htm['movement']:後のHTML出力時のメッセージ
$htm['movement'] ="手動転送";
} else {
//man_mv_flagが立っていない時の処理
$htm['movement'] ="自動転送";
//ここに $refresh_flagwo持ってきておく
$refresh_flag = ture;
}

//ここまで追記



if ($refresh_flag) {
$htm['refresh_time'] = "<meta http-equiv=\"refresh\" content=\"{$refresh_time};URL=" . $view_ht['target_url'] . "\">";
}


// HTML表示

//なるべくhttp://akid.s17.xrea.com/p2ime.phpのような感じの表示になるようにしてあります
//charsetはutf-8でもShift_JISでも何でもOK。文字化けしなければ

echo <<<EOP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
{$htm['refresh_time']}
<title>{$page_title}</title>
</head>
<body>
<p>{$htm['movement']}</p>
<p>{$htm['msg']}</p>
<hr>

<p>by p2 ime</p>
</body>
</html>
EOP;






これであとは鯖内に設置
conf_inc.phpの
$_conf['p2ime_url']
を書き換えてあげればOK

素人がなんとかしたものだからアレかも…
うまい人がやればもっとスマートになるんだろうね…

上手いことpc2mとかに流しこめば携帯からもいい感じになるしGOODかな?

2011/09/06 10:36 | PCCOMMENT(0)TRACKBACK(0)  TOP

調子こいて引越ししてみた

ちょいとなんとなく引っ越してみた
忍者からfc2へ

忍者の既存記事をfc2の機能で簡単に引越しはできた
けどちょいとずれてる感じ
写真の下間空きすぎ…


んでテンプレのテスト

CSSEZ
で作ってそのまま流す

けど、サイドバーの部分がうまく表示されない…

既存のテンプレから見ながら修正していまの形
ちょいと見づらいけどそのうち治すかも

2011/09/04 21:38 | 雑記COMMENT(0)TRACKBACK(0)  TOP

 | BLOG TOP |