Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2004-08-26 14:37:57

hard
ゲストユーザー

Re: pingサーバを作りたい

いくつかのサーバでNucleusを利用しています。
すべてのサーバの新着記事を一覧で見るためにpingサーバを構築したいのですが、方法がよく解りません。
# NP_SendPingで http://hoge/xmlrpc/server.phpを指定しただけ。
# 作業のやり残しがあるのか、根本的にミスってるのかさえ不明・・・

参考になるページ・書籍はありますでしょうか?

#2 2004-08-27 17:42:44

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: pingサーバを作りたい

たぶん、希望の動作を実現するにはpingサーバーを立ち上げる必要はないのでは?
(僕はよく知りませんが、そもそも大変そう)
追記:NP_SendPingでPingサーバーのURLを指定、という作業は、そのPingサーバーへ向けてPingを送る設定をしただけになります。


該当のblogのRSSを拾って、プラグインで表示するのを試してはどうでしょうか。
NP_NewsFeed
どうやら表示記事数の調節もできるようです。

それか、パイポリーダーのようなティッカー表示サービスを利用するとか。
こっちのほうが設置はお手軽です。


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#3 2004-08-28 09:15:39

hard
ゲストユーザー

Re: pingサーバを作りたい

ありがとうございます。

結局、NP_TrackBackをカスタマイズして、親サイトに強制的にトラックバックpingを送信するようにしました。
ピングバックセンターにしたかったのに、トラックバックセンターになってしまった・・・
内部処理はかなり違うのに、見た目はあまり変わらないんですよね。

#4 2004-08-28 22:33:28

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: pingサーバを作りたい

なるほど・・・そういう手がありましたか  :idea:


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#5 2006-01-23 20:53:57

shanry
メンバー
登録日: 2005-12-10
投稿: 19

Re: pingサーバを作りたい

私も同じように、複数のブログから、更新記事を集めたいのでping受信のモジュールを探しています。
pythonで作られたものを見つけたのですが、Errorが出てしまい、またpythonまったく分からないのでお手上げです。
http://www.liris.org/program/pingserver
同じようなプラグインがあればと思っています。

オフライン

#6 2006-01-24 09:15:46

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

とりあえず、php版のpingサーバ仕立て見本は、
http://www.boundless-ocean.ne.jp/archives/000049.html
http://www.boundless-ocean.ne.jp/archives/000182.html
にありました。

プラグインに仕立てた方がいいんでしょうか。
私もちょっと欲しいような気もするけど。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#7 2006-01-24 19:49:08

shanry
メンバー
登録日: 2005-12-10
投稿: 19

Re: pingサーバを作りたい

nakahara21さんありがとうございます。 いつもお世話になっています。

教えていただいたサイトを参考に入れてみましたが、うまくいきません。
まだ、phpの知識が乏しいためできれば、プラグインにしていただければ助かります。

需要があんまり無いかもしれませんが、nucleus同士のつながりがさらに増えると思いますので、
是非、実現させたいものです。

ぶしつけで申し訳ございません。私も何とかがんばって見ますので、気が向いたらよろしく御願いします。

オフライン

#8 2006-01-25 13:49:54

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

プラグインじゃありませんが、
http://nakahara21.com/index.php?itemid=647
にたぶん動く版をUPしてみました。

サーバ環境によっては動かないかもしれませんが。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#9 2006-01-25 15:28:40

On3
メンバー
From: 横浜
登録日: 2004-11-30
投稿: 40
ウェブサイト

Re: pingサーバを作りたい

On3です、こんにちは。
PHPではありませんが「大黒屋本舗」サンのところにCGIでRSSをとって来てjava scriptでBlogに貼り付けると言うものがあります。(表示はUTF8、EUC、共に可)
java scriptで貼り付けるため読み込みに一瞬タイムラグがありますが感謝して使用させて頂いてます。
更新時間、記事タイトル、記事本文などテンプレートを使って指定できるので違和感なく表示できます。

ご参考までに。

大黒屋本舗 http://www.daikoku-ya.org/
jsRSS++ v3.15 http://www.daikoku-ya.org/blog/2005/12/29_1939.php#more

*他にSSI版もあり。

オフライン

#10 2006-01-25 20:24:20

shanry
メンバー
登録日: 2005-12-10
投稿: 19

Re: pingサーバを作りたい

http://nakahara21.com/index.php?itemid=647
こちらを参考に、アップしてテストしてみました。

http://(置いた場所)/ping/pingsever.phpにじかにアクセスしたときに
faultCode 103 faultString XML error: no element found at line 1
というエラーは表示されず、

XML ドキュメント内では最上位の要素に限り、使用できます。リソース 'http://(置いた場所)/ping/pingsever.php' の実行エラーです。ライン 2、位置 2
<b>Warning</b>:  Header may not contain more than a single header, new line detected. in <b>/usr/local/lib...

というエラーが表示されました。 :cry:

実際にこのアドレスにping送信してみましたところ、(NP_SendPing利用)

[ユーザー名] Ping Error:http://(置いた場所)/ping/pingsever.php - 2: Invalid return payload: enable debugging to examine incoming payload (XML error: junk after document element at line 2)

というエラーが表示されました。このエラー表示も意味が分からないのですが、もしかしたら、XML_RPCが利用できないサーバーなのかも知れないと思っています。
XREAを利用していますので、調べています。

引き続きお願い申し上げます。

オフライン

#11 2006-01-25 22:02:02

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

すいません。訂正です。
pinserver.phpにブラウザでアクセスした際に表示されるのは、

<?xml version="1.0"?>
<methodResponse>
<fault>
  <value>
    <struct>
      <member>
        <name>faultCode</name>
        <value><int>103</int></value>
      </member>
      <member>
        <name>faultString</name>
        <value><string>XML error: no element found at line 1</string></value>
      </member>
    </struct>
  </value>
</fault>
</methodResponse>

というxmlです。

何の対策でもないですが。
明日以降、違うサーバで色々検証してみます。(たぶん)

興味ある他の方々も一度よかったらテストお願いします。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#12 2006-01-25 22:27:00

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

xreaに置いてテストしました。
確かに頭に

<br />
<b>Warning</b>:  Header may not contain more than a single header, new line detected. in <b>/usr/local/lib/php/XML/RPC/Server.php</b> on line <b>395</b><br />

がついています。

しかし、その後に表示されているのは同じ上記のxml文。
NP_SendPingではエラーを受け取りますが、ping.logの保存は正常に稼働しています。
shanryさんも一度ping.logを覗いてみてください。ping受取は成功していますよね?

pingserver.phpからの返信の頭にWarningが付いちゃっているので、エラーを受け取ったように見える現象です。
どう回避しようかしらん。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#13 2006-01-25 22:35:35

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

一番お手軽な回避方法で。
(読んだ人、微笑まないよーに)

pingserver.phpの最初に1行追加します。

require_once('XML/RPC/Server.php');
error_reporting(0);

と赤字行を追加して見てください。

たぶん、何事もなかったように成功するかと。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#14 2006-01-25 23:28:21

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: pingサーバを作りたい

#実際に試さずに憶測でモノ言ってしまいますが・・・

<? xml宣言部 ?> の前によけいなアウトプットがあるせいで、
「XML ドキュメント内では最上位の要素に限り、使用できます。」と言われるのかな?

無料サーバの中にはサーバ側で広告挿入用のフックをかけてるのがまずかったりするので
xreaなら .htaccess でこうしてみたら変わるでしょうか。

<Files *.php>
    LayoutIgnoreURI *.php
</Files>

(※この指定が本当に正しいかどうかはよくわかってないです)


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#15 2006-01-26 09:37:37

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

私のxreaサーバで試したときは、.htaccessに

<Files pingserver.php>
    LayoutIgnoreURI *.php
    AddHandler cgi-script .php
</Files>

と書いて、pingserver.phpの1行目に

#!/usr/local/bin/php --

と書いて、パーミッションを705にしました。

それでもやっぱり、広告免除権を購入していないので最初に余計な改行が1個入って、Warningが出力されたのではないかと推測しています。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#16 2006-01-26 18:00:51

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: pingサーバを作りたい

あー、結局余計な出力は入ってしまうんですね。


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#17 2006-01-26 20:26:50

shanry
メンバー
登録日: 2005-12-10
投稿: 19

Re: pingサーバを作りたい

エラーは出ていましたが、logには保存されていました。

logに保存されていたデータは、日時とblogのタイトルと、blogのURLだけで、記事のタイトルや、その記事のURLは入っていませんでしたが、なぜでしょう?
受け側が悪いのか、送り側が悪いのでしょうか?

よろしくお願いします。

オフライン

#18 2006-01-27 08:38:12

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: pingサーバを作りたい

通常の「pingサーバ」と言えば、更新日時のpingを受け付けるだけ、を意味します。
ですので、NP_SendPingは、blogタイトルとblogのurlしか送信していません。

新着記事のタイトルと記事Permalinkを収集したい場合は、
A)NP_SendPingの機能付加版(を作って)ping→pingserver.phpも改造してこれらも保存するようにする
B)ping送受信は今まで通り行い、ping.logのデータをブラウザに表示させる際に、
  1)blogのURLを見に行って、RSSのautodeiscoveryを行う
  2)見つけたRSSのurlに行って、新着記事のタイトルなどとPermalinkを拾う
  3)見つけた新着記事をキャッシュする
の、どちらかにしなければダメです。

どちらにしても、そのシステムを作らなければならないです。
(Bの方はPerlなら
http://naoya.dyndns.org/~naoya/mt/archives/000444.html
で解説がありますけど)

ですので、新着記事のタイトルなどをも収集したいのでしたら、上に紹介されているプラグインとかjavascriptを使って、収集したい側から情報を集めさせる方が適切だと思います。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#19 2006-01-27 19:55:39

shanry
メンバー
登録日: 2005-12-10
投稿: 19

Re: pingサーバを作りたい

情報ありがとうございます。
送る側も、送ってなかったんですね・・・

ブログ検索サイトには、記事がドンドン載っているので、記事のタイトルと記事も送っているものと思っていました。
トラックバックの要領で、送れば記事も送ることはできると思いますし、受け側も

* 1番目 : ページタイトル (必須)
* 2番目 : ページURL (必須)
* 3番目 : 変更されたURL (オプション)
* 4番目 : ページカテゴリ (オプション)

こんな風に、変更されたURL、ページカテゴリも受け取れるものとかん違いしていたようです。

送るほうも、受けるほうも当面の課題となりました。
何とかならないものでしょうか?と甘えてばっかりなので、期待しつつ頑張ってみます。

オフライン

Board footer