トップページ⇒php
981コメント530KB

=== MediaWiki 管理者の集い 第2版 ===

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/04(水) 07:24:10ID:77E6ADvG
MediaWiki について情報交換するスレです

== 公式サイト等 ==
[http://www.mediawiki.org/wiki/MediaWiki/ja MediaWiki.org]

[http://www.mwusers.com/ MediaWiki Forums]
[http://www.amazon.co.jp/dp/1904811590/ Mediawiki Administrators' Tutorial Guide]
日本語翻訳中(らしい)
0581nobodyさん2008/04/06(日) 05:10:54ID:???
ParserFunctions ってMediaWiki 1.11.x じゃ使えないの?

#if がどうしてもうまくいかないよ・・・(;;
0582nobodyさん2008/04/06(日) 08:20:37ID:???
>>580
具体的にどうやったかをフィードバックしてもらえるとスレのためになるんだが。
05835782008/04/06(日) 10:27:56ID:???
これは失礼。

とにかく <body onlod="initialSetup();"> を出力させるのに手間取りました。

Skin.php の getBodyOptions の getBodyOptions() に以下を追加

if( $a['onload'] != '' ) {
$a['onload'] .= ';';
}
$a['onload'] .= 'initialSetup();';

これで常時すべてのページの<body>にonlodトリガが仕込まれるようになりました。

05845782008/04/06(日) 10:28:45ID:???
次に wikibits.js にスクリプトを仕込みます。俺が書いたのは↓の通り

var hidemode = 0;
function initialSetup()
{
if (!document.all.ToggleSwitch) {
return;
}
document.all.ToggleSwitch.innerHTML = '<a href="javascript:hide();" id="ToggleSwitchLink">[非表示]</a>';
}
function hide()
{
if (hidemode == 0) {
document.all.infobox.style.display = "none";
document.all.ToggleSwitchLink.innerText = "[表示]";
hidemode = 1;
} else {
document.all.infobox.style.display = "block";
document.all.ToggleSwitchLink.innerText = "[非表示]";
hidemode = 0;
}
}

あとはテンプレートで、表を上下に2つ並べて、上の表には table要素にid="infobox"
下の表には th要素に id="ToggleSwitch" を振っておけばよし。
0585nobodyさん2008/04/06(日) 11:21:38ID:???
>>581 うまくいかない部分を書かないと拡張機能のバグなのか
コードを書き間違えているのか判断つかないよ。
0586nobodyさん2008/04/06(日) 12:16:15ID:???
さくらユーザです。
1.6.10 → 1.12.0 にバージョンアップ完了
Webからの再セットアップはSuccessfulって出てくるのに開くとDBエラーで失敗。
結局telenetでupdate.phpを叩いたら一発だった。

これからスキンの移行開始。大変だぁ〜
0587nobodyさん2008/04/06(日) 12:49:22ID:???
質問です。

public_html/.htaccess 内容が次の通りなんですが

RewriteEngine on
RewriteRule ^wiki/(.*)$ w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ wiki/ [L,QSA]
RewriteRule ^/*$ wiki/ [L,QSA]

http://domain/〜 で開いたときは通常コンテンツ
http://domain/wiki/〜 で開いたときはWiki

にするにはどうしたらいいんでしょう?

wiki は public_html/w/ にインスコしてあります。
それ以外のpublic_htm直下のディレクトリはすべて非Wikiの通常コンテンツです。
0588nobodyさん2008/04/06(日) 20:16:38ID:???
RewriteRule ^/*$ wiki/ [L,QSA]
これを消せばいいんじゃない?
0589nobodyさん2008/04/06(日) 23:40:42ID:???
できました。すんません・・・・
0590nobodyさん2008/04/11(金) 03:01:44ID:???
Wikiaで使われているextensionのカテゴリがありました。

http://www.mediawiki.org/wiki/Category:Extensions_by_Wikia%2C_Inc.
0591nobodyさん2008/04/13(日) 10:54:40ID:KB7h3aI5
初心者が書き込んでよいものか悩んだのですが,書かせていただきます.

mediawiki で構築したサイトを別サーバに移設したいのですが,
・新サーバへ全ファイル転送
・DB(mySQL)の転送
ではうまくいきませんでした.
・新サーバへ新規インストール
・DB(mySQL)の転送
でもダメでした.
データベースの転送はきちんとできていることは確認できているのですが,
作ってあったページなどがまったく継承されません.

移設の手順をお教えいただけると助かります.
0592nobodyさん2008/04/13(日) 12:03:38ID:???
>>591
「MediaWiki」や「リストア」で検索するとそれなりにお役立ち情報が見つかると思いますよ?
ttp://trasis.jp/blog/lab/2008/03/mediawiki-%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97.html

公式的なバックアップの手順がありますので、
その手順でバックアップしたデータからリストアを試みられてはいかがでしょう?
http://www.mediawiki.org/wiki/Manual:Moving_a_wiki/ja
3 バックアップ
5 データベースのバックアップをインポートする
以上の項目が参考になると思います


ちなみに前スレではこんなやりとりがありました

925 名前:nobodyさん[] 投稿日:2007/05/31(木) 00:34:46 ID:MXrhmWFk
サーバを変えようと思っているのでお聞きしたいのですが、
全データのバックアップをするときって、DBはそのまま吸い上げればいいとして、アップロード画像ってどうすればいいんでしょう?
imagesディレクトリをそのままFTPでもってきて、新サーバにそのままPUTすれば、リストアしたDBと整合性取れると考えていいんですか?
ver1.6系です。

サーバ移行の情報がとにかく少なくて、、、よろしくお願いします。

926 名前:nobodyさん[] 投稿日:2007/06/02(土) 01:36:35 ID:I1M5Ah0/
まだ日本でサーバ移行した人はいないっぽいね。
>>925が人柱になっては?
0593nobodyさん2008/04/13(日) 21:38:35ID:KB7h3aI5
>>592
ありがとうございました.紹介いただいたページも拝見しました.

指示通りしてみたのですが「何も表示されない」という現象が続いています.
一旦 LocalSettings.php を削除してセットアップ作業をすると
メインページが表示されるようにはなるのですが,
ページは復元されていない(新規インストールと同じ)という状況になります.

OS が CentOS から RHE4
MySQL が 4.1.11 から 5.0.58
に変わっているのが影響しているのでしょうかね??
0594nobodyさん2008/04/14(月) 13:02:35ID:???
>>593
「何も表示されない」というのがどういう状態か詳しくはわかりませんが。
1. /index.php?title=xxx で、コンテンツは表示されますか?
2. 文字コード周りの設定はどうなっていますか?
3. 新たにページを作成してみて、それは正しく表示されますか?
4. 環境は自鯖→自鯖?レンサバ?
5. 参考までにMediaWikiのバージョンも
0595nobodyさん2008/04/14(月) 14:33:16ID:???
>>593
深く質問するのなら>>3のテンプレを守ってください
その上で>>594にも答えればよいかと

回答する側の気持ちも考えてね
0596nobodyさん2008/04/14(月) 20:51:39ID:???
>>595 心理的に追い込まれている人に形式を守れといっても効果ないと思うよ。
周囲に相談できる人がいなくて追い込まれているからこそ2chに質問するわけで。

>>593 記事数が少ないならおなじみの「Special:Export」「Special:Import」はどうかな。
記事量が多いならmaintenanceディレクトリのdumpBackup.phpとimportDump.phpスクリプトか。

あと考えられるトラブルとしては移転先のMWが元のMWと違うバージョンとか。
05975952008/04/14(月) 22:23:44ID:???
>>596
あらごめんあそばせ
0598nobodyさん2008/04/15(火) 22:30:49ID:kiMF2mm6
.htaccessで

  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^wiki/(.*)$ /mediawiki-1.12.0/index.php?title=$1 [L]
  RewriteRule ^wiki/$ /mediawiki-1.12.0/index.php?title= [L]
  RewriteRule ^$ /mediawiki-1.12.0/index.php?title= [L]

LocalSettings.phpで

  $wgScriptPath = "/wiki";

としています。
このままだと編集するとき

  /wiki/index.php?title=メインページ&action=edit
 
となりますが、mod_rewriteの設定が悪く

  /mediawiki-1.12.0/index.php?title=index.php?title=メインページ&action=edit

になってしまうらしく、正しく動作しません。
Wikipediaではどうなっているのかと思ったら

  w/index.php?title=2チャンネル&action=edit
  
と編集の際には"wiki"ではなく"w"になっていることに気づきました。
05995982008/04/15(火) 22:31:10ID:???
■やりたいこと
Wikipediaのように「〜/wiki/ページ名」でアクセスできるようにして
編集などが正常に機能するようにする。

■試したこと
RewriteEngine、wgScriptPathなどでぐぐってサンプルを複数調べた。
Wikipediaでどういう動作をするか自分のWikiと比較した。

お知恵を貸していただければ幸いです。
おそらく初歩的なことだと思うのですが、解決できませんでした。
よろしくお願いします。

mediawiki 1.12.0
さくらインターネット(FreeBSD)
06005982008/04/16(水) 01:17:05ID:???
聞いておいてすみませんが、自己解決しました。
ポイントは

$wgScriptPath = "/w";
$wgArticlePath = "/wiki/$1";

とすることのようです。
.htaccessは

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/$ /w/index.php?title= [L,QSA]
RewriteRule ^$ /w/index.php?title= [L,QSA]
0601nobodyさん2008/04/16(水) 01:32:45ID:???
>>598-600
ここも時々チェックすると役に立つような気がします
参考になれば

.htaccess質問コーナー Part7
http://pc11.2ch.net/test/read.cgi/hp/1206025115/
06025982008/04/16(水) 02:39:42ID:???
>>601
ありがとうございます、2chブラウザに登録しておきます
0603nobodyさん2008/04/18(金) 22:45:21ID:???
あの・・・

MediaWiki:Common.css と、実際にskins/commonの下にあるcommon.cssって、どういう関係にあるんでしょう?
0604nobodyさん2008/04/19(土) 01:45:51ID:???
>>603
Wikipediaを例に挙げると
共通点はどのスキンを利用していても読み込まれること、
相違点はcommon.cssがすべての言語版で共有するため
MediaWiki:Common.cssが各言語ごとに独自にカスタマイズ可能で
なおかつwikiのアカウントだけで修正できるようにするために存在する
と考えおりますが。
0605nobodyさん2008/04/21(月) 15:44:31ID:???
匿名ユーザー(未ログイン)が任意のページを編集した際に記録上残る
IPアドレスを非表示にする方法について質問させてください

■MediaWiki、サーバ関連情報
MediaWiki: 1.11.2
PHP: 5.2.5

■検索エンジンで調べた際の検索キーワード
「MediaWiki」 「IPアドレス」 「隠蔽」 など、このスレの>>258-など

>>258-のようにPHPを改造してみても、匿名ユーザーが編集した場合は
特別ページ>「最近更新したページ」で該当する匿名ユーザーのIPアドレスが
確認できてしまうと思うのですが、
「最近更新したページ」も含めてIPアドレスを一切確認できないようにする、
またはIPアドレスを別の文字列に置き換えるような方法はありますでしょうか?
06066052008/04/21(月) 15:53:04ID:???
追記

未ログインユーザー(匿名ユーザー含む)から見た場合のみ、
IPアドレスが見えなくなる、こういったイメージでも構わないと思っています

Pukiwikiのように、未ログインユーザーが編集しても
IPアドレス等のようなユーザーを特定する情報を見えなくしたい次第です
06076052008/04/21(月) 20:38:56ID:???
自己解決できたと思うのですが、穴があるように感じられましたらご指摘お願いいたします

(1)Sidebarから『最近更新されたページ』のリンクを削除
次に、匿名ユーザーから情報を隠すため、>>258-の次の改造を実施しておきます
(2)匿名ユーザーの『IPアドレス』と『このIP利用者の会話』のリンクを表示しない
(3)匿名ユーザーの場合『本文』『ノート』『ソース(未保護ならば『編集』)』『履歴』を表示しない

(4)匿名ユーザーの場合『特別ページ』のリンクを表示しない
―前― MonoBook.phpの207行目(前後)のコード ―
<?php } foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
if($this->data['nav_urls'][$special]) { ?>
―後― 以下のように変更 ―
<?php } foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
if($this->data['nav_urls'][$special] and ($this->data['loggedin']==1)) { ?>

以上ですが、他に簡単な方法があれば教えていただけますと助かります
06086052008/04/21(月) 21:24:08ID:???
何度もすみません…
早速穴を見つけましたので補足しておきます

(4)’ツールボックス内にあるリンク先に履歴が表示されるところも封じておく必要がありました
―前― MonoBook.phpの186行目(前後)のコード ―
<?php if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>
―後― 以下のように変更 ―
<?php if( $this->data['nav_urls']['recentchangeslinked'] and ($this->data['loggedin']==1) ) { ?>

上記の他にも必要に応じてツールボックス内のリンクを適宜封じておけばよいかもしれません

(5)recentchanges-url、その他履歴に関連するところを変更
MediaWikiを使い慣れていないユーザーからのアクセスであれば大丈夫だと思いますが、
念のために、アドレスを直接入力されてアクセスされる時の予防線を張ってみます

おおざっぱな対処でお恥ずかしいですが、今のところはこの程度ですがいかがでしょうか?
06096052008/04/21(月) 22:13:47ID:???
対策変更のご相談

上記の(5)で実施しようとしているような、
匿名ユーザーからSpecial:Recentchangesへアクセスさせない(隠したい)ような事は、
>>384のようなLockdownを使用する方が簡単でしょうか?
http://www.mediawiki.org/wiki/Extension:Lockdown/ja

例えば、Special:Recentchangesは、
userグループの権限をもつユーザーのみが閲覧可能と言った具合にすれば
簡単だなと思ったのですが、いかがでしょうか?
0610nobodyさん2008/04/27(日) 05:11:49ID:???
>>608
通常の記事の履歴(action=history)に表示されるIPユーザの名前に
関しては正規表現(preg_replace)で2chのように一律な名前(名無しさん)
に置き換えることができます。ユーザがIPアドレスと同じ文字列を
使っていないという前提の元ですが。

履歴ページもキャッシュされるので、コードを変更した後に
キャッシュをパージ(action=purge)して下さい。

includes/PageHistory.php

wfRunHooks( 'PageHistoryLineEnding', array( &$row , &$s ) );
$s = preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $s);
return "<li>$s</li>\n";
0611nobodyさん2008/04/27(日) 05:25:35ID:???
>>610 の追記。差分表示した際にも名前を置き換える必要があります。

includes/DifferenceEngine.php
'<div id="mw-diff-ntitle2">' . preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $sk->revUserTools( $this->mNewRev, true )) . " $rollback</div>" .
06126102008/04/27(日) 06:23:01ID:???
>>609 LockdownではSpecial名前空間のアクセスが
防止できなかったので別の方法を考える必要があると思います。

$wgNamespacePermissionLockdown[NS_SPECIAL]['read'] = array('user');

ちなみにSpecial名前空間の記事の実体はincludes内の
Specialで始まるファイルなのでもしIPアドレスの名前を置き換えたい
場合はそれぞれのファイルを修正しなければなりません。

アクセスを制限する伝統的な方法では
$wgWhitelistReadで匿名ユーザが
利用できるページを指定しますが、この方法では
匿名ユーザは新しいページを作ることができません。
wiki上にページ作成申請ページを用意して
管理者がそのつど追加する必要があります。

http://www.mediawiki.org/wiki/Manual:%24wgWhitelistRead/ja
06136102008/04/27(日) 09:31:01ID:???
>>612 追記。再度Lockdownの記事を見直したら
Special名前空間にアクセス制限をした記事が
表示されないようにするためのコードの変更方法が書かれていました。
http://www.mediawiki.org/wiki/Extension:Lockdown/hiding_pages

あとはNS_SPECIALなどのデフォルトで
定義されている名前空間の定数の一覧は
http://www.mediawiki.org/wiki/Manual:%24wgNamespacesWithSubpages/ja
に書かれています。
06146052008/04/28(月) 06:40:48ID:???
>>610-613
多岐に渡って教えていただきましてありがとうございます

>>610で教えていただきました正規表現の処理で目的をほぼ果たすことが出来たと思います

なお、>>611で教えていただいた箇所だけでは、
後の差分に対する「前の」差分を編集したユーザーのIPアドレスが見えてしまいましたので、
以下の箇所も変更する必要がありました

includes/DifferenceEngine.php
'<div id="mw-diff-otitle2">' . preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $sk->revUserTools( $this->mOldRev, true ) . "</div>" .
06156052008/04/28(月) 06:57:42ID:???
また、>>612で教えていただきました名前空間ごとLockdownでアクセス制御する方法について、
こちらも試したのですが、以下のように記述しても匿名ユーザーからアクセスできてしまいました

$wgNamespacePermissionLockdown[-1]['*'] = array('sysop');  ← * の他にも色々と試行
$wgNonincludableNamespaces[] = -1;
名前空間"Special"はご紹介のリンク先とincludes/Difines.phpでも確認して"-1"である事を確認

そこで、Lockdown制御設定の対象を名前空間ではなく各ページごとに変更、
該当するページを対象にした結果、匿名ユーザーからアクセスできない状態を実現できました

$wgSpecialPageLockdown['Specialpages'] = array('sysop');
$wgSpecialPageLockdown['Recentchanges'] = array('sysop');
$wgSpecialPageLockdown['Newpages'] = array('sysop');
$wgSpecialPageLockdown['Contributions'] = array('sysop');
$wgSpecialPageLockdown['Log'] = array('sysop');
06166052008/04/28(月) 07:13:35ID:???
ちなみに、匿名ユーザーを「ななしさん」のような名前で統一表示できるようになった結果、
匿名ユーザーにとっても便利な一部のSpecialページへのアクセスを開放するため、
最終的には以下の設定(一文)を削除しようと思っています

$wgSpecialPageLockdown['Recentchanges'] = array('sysop');

教えていただいた情報から実践した事は以上になります
MediaWikiをPukiwikiのように使いたい方の人柱になったようでしたら少しは報われるかな?

情報提供してくださった方に最大の感謝を!ありがとうございました
# 抜けがあったら舞い戻ってくるハメになって恥ずかしい限りですが…笑
06176102008/04/28(月) 23:37:42ID:???
>>615 どもうっかりコードの説明を忘れていました。
具体的な記事名も指定できるのですね。勉強になりました。

せっかくなので匿名ユーザも登録ユーザと同じように
画像をアップロード可能で、IPアドレスの名前を名無しさんに
置き換える方法も書いておきます。履歴の修正は
通常の名前空間と共通です。

=== LocalSettings.php ===

//匿名ユーザも登録ユーザと同じように画像をアップロードできるようにする
$wgGroupPermissions['*' ]['upload'] = true;
$wgGroupPermissions['*' ]['reupload'] = true;
$wgGroupPermissions['*' ]['reupload-shared'] = true;

http://www.mediawiki.org/wiki/Manual:User_rights/ja

=== Image:画像の表示の修正 ===
ImagePage.php
$s = $list->beginImageHistoryList() . $list->imageHistoryLine( true, $file );
$s = preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $s);

=== Special:NewImagesの表示の修正 ===
ImageGallery.php
変更後
. $textlink . preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $text) . $nb

変更前
. $textlink . $text . $nb
06186102008/04/29(火) 00:15:41ID:???
>>616 最近の更新の方も確認しました。

SpecialRecentchanges.php
$s .= $list->endRecentChangesList();
$s = preg_replace('/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/', '名無しさん', $s);

それでIPアドレスを表す正規表現は実は「(\d{1,3}\.){3}\d{1,3}」でもOKです。


0619nobodyさん2008/05/05(月) 23:28:43ID:???
textsearch-ja ホームページ
http://textsearch-ja.projects.postgresql.org/index-ja.html

検索をしたらtextsearch_jaと内部コードを修正して
PostgreSQLでの全文検索できるようにした事例を見つけました。
個人サイトなのでリンクは張りませんが、すぐに見つかります。
形態素解析はMecabを使っているそうです。
0620nobodyさん2008/05/06(火) 21:43:45ID:wPyXQzBA
トロイの木馬サイトへのリンクに書き換えられました。

これって最近はやりのサイト改ざんの脆弱性じゃないの?
0621nobodyさん2008/05/07(水) 15:00:38ID:???
閲覧数の多いページのリストを作りたいのですが、手っ取り早いのはどんなやり方でしょうか?
ver1.12のAPIにはないので、オレオレAPIを作るしかなさそうですが。
1. DB直接たたく
2. Special:Statisticsからパースする

もっと簡単な方法ありましたっけ?
0622nobodyさん2008/05/07(水) 20:09:30ID:???
>>621 Special:Popularpagesはいかがでしょうか?

1を選択するのであればこれらの特別ページの実体である
includes/SpecialStatistics.php、includes/SpecialPopularpage.php
に書かれているクエリを利用できると思います。

あとは、例えばすべてのページに「人気の記事ランキング」を
表示したいのであれば、クエリ回数を減らすために
別にキャッシュする必要があるかもしれません。
06236212008/05/07(水) 20:40:03ID:???
>>622
ありがとうございます。こっちのページのほうが良いですね。
こういうページもxmlとかのメタデータとしてはき出せれば良いのに。(ってあるのかしら?)
0624nobodyさん2008/05/07(水) 20:48:54ID:???
>>623 メタデータの方はわからないです。
追記として記事内で埋め込む拡張機能を見つけました。

http://www.mediawiki.org/wiki/Extension:TopTenPages
06256212008/05/08(木) 11:35:51ID:???
>>624
なかなかいい拡張機能だったのですが、今回はSpecial:Popularpagesをパースしました。

[P]opular で探したら、見つからない訳ですね。拡張機能。
0626nobodyさん2008/05/10(土) 17:56:22ID:???
SVN版でSQLiteが利用できるようになっていました。
検索はできませんが普通の記事を作ることができました。
0627nobodyさん2008/05/11(日) 05:33:42ID:gEv82OEn
テーブル使用で枠線がつけたいのですが、
これはどこをいじればテーブルの枠線がつきますか?
{| class="wikitable sortable" border=1 とすると枠線がつけられるのですが、
デフォルトでその状態にしたいです
tableのクラス指定には、"wikitable sortable"または、"wikitable"を使っています

試しに、skins/monobook/main.cssに、
.wikitable { border:1px; }
を追加しても変化なしでした
table { <中略>}をいじると枠線がつくのですが、
目次とか他のテーブルフォーマットにも影響してしまいます
0628nobodyさん2008/05/11(日) 09:41:02ID:???
>>627
table.wikitable { border:1px solid #ff0000; border-collapse:collapse; }
table.wikitable th, table.wikitable td {
border:1px solid #ff0000 }
で、どうか。
0629nobodyさん2008/05/11(日) 16:29:18ID:gEv82OEn
>>628
ありがとうございます!
テーブルのクラスはこうやって書くんですか。。
すんません。単に私が書式を理解していなかっただけでした
0630nobodyさん2008/05/12(月) 07:19:26ID:cL9gtcqR
Ver1.6.10で使えるオススメの掲示板ってありませんか?
0631nobodyさん2008/05/12(月) 15:57:53ID:9DS7FvzB
頭にJavascriptとついているページ(例: Javascript/書籍)だけ、
ページの最後に[[Category:Javascript]]と挿入したいのですが、
ページを一括変換する良い方法はないでしょうか?

今回変換対象が100ページほどあるのと、
他にも一括変換の必要なケースが何度かありそうなので、
なんとか方法を手に入れたいのですが。。
0632nobodyさん2008/05/12(月) 20:51:09ID:???
>>630 [[Extension_Matrix]]でブラウザ上から
「bulletin」と検索すればいくつか見つかります。
現在PHP5しか対応していないものでも
SVNリポジトリから古いバージョンを
入手できる可能性があります。

ただしPHP4は今年の8月で完全にサポート切れ
することに注意して下さい。MySQl4.0も
今年一杯でサポート切れになります。

>>631
1. botを使う
2. 特別ページから一連の記事のXMLファイルを
ダウンロードしてスクリプトでカテゴリの追加と
タイムスタンプの置き換えを行い再度wikiに取り込む
3. データベースのデータを直接編集する

自分でスクリプトを組めないようでしたら
手作業でやった方が速いでしょう。
0633nobodyさん2008/05/13(火) 01:36:39ID:???
>>632
2. で内容とtimestampを書き換えて対応しました
助かりました。ありがとうございます
0634nobodyさん2008/05/13(火) 23:43:33ID:yLnZ86UD
>>632
PunBB が使えそうなので、こちらを使ってみます。
0635nobodyさん2008/05/15(木) 18:14:55ID:???
リビジョン34062でMS SQL Serverのクラスが追加されていました。
現在は無効になっていますが、インストーラ(config/index.php)に
選択肢が追加されています。
0636nobodyさん2008/05/17(土) 15:36:35ID:ctk8cFos
MediaWiki式のwiki辞典を作りたいのですが、
RentalWikiとCMS以外に、wikiをレンタルさせてくれるところはないでしょうか?
前者は、3ヶ月無更新で削除ですし、後者は今機能していないので。
ちなみに、MediaWiki本社にも申し込みましたが、同一志向のwikiが既にある、
という理由で断られています。

実際には、同一志向ではないのですが、審査が厳しくて。
どなたかご教授頂けましたら、幸いです。
サーバー借りてインストールは、技術的に大変そうですので。。
0637nobodyさん2008/05/17(土) 15:41:39ID:???
質問させてください。
mediawikiを展開するのに、向いている無料サーバーはどこがありますか?
安定していて、会社運営で、広告がポップアップでないところは。
Fc2以外で、ご紹介頂けますと嬉しいです。
0638nobodyさん2008/05/17(土) 15:43:18ID:???
>>636
マルチはよくないよ、マルチは(´・ω・`)
http://pc11.2ch.net/test/read.cgi/hp/1210081559/298
0639nobodyさん2008/05/17(土) 15:52:49ID:ctk8cFos
>>638
こちらに誘導されたので、こちらで質問させて頂きました。
0640nobodyさん2008/05/17(土) 16:09:08ID:???
つ回答
http://pc11.2ch.net/test/read.cgi/hp/1210081559/301
0641nobodyさん2008/05/17(土) 17:13:35ID:???
>>640
難しいです。。
0642nobodyさん2008/05/17(土) 20:17:16ID:???
>>636,641 mediawiki本社というのがwikiaのことでしたら、
後は日本語圏では探すのは難しいと思います。

mediawikiの代替としては@wikiではmediawiki記法と
ユーザの編集制限機能が利用できます。
http://www12.atwiki.jp/linux2ch/pages/234.html

英語圏かつ有料でいいなら「mediawiki hosting」で検索すれば
いくつか見つかります。例えば格安レンタルサーバーとして有名な
dreamhostなら自動インストーラがあります。
http://wiki.dreamhost.com/index.php/MediaWiki

あとはパソコンに詳しい知り合いにお願いするか、
自分でMWを設置してするにしても、高校生で設置している人も
ちらほらいますし、困ったらこのスレに質問すれば
だいたい解決するはずなので、後は十分な時間を
用意できるかどうかでしょう。
0643nobodyさん2008/05/17(土) 21:18:26ID:???
>>637 一応動く要件だけを調べると日本語圏だとland.toでしょうか。
http://land.to/

裏技としてはXREAで最初の一ヶ月の費用だけお金を払えば
期限が切れても広告付きと50MBの範囲で利用を続けられます。

英語圏でいいのなら「free web hosting php5」を検索すれば
ごろごろ見つかります。

ただ無料サーバは型落ちのマシンに数百人以上が詰め込んでいるので
安定性を期待するのは難しいと思います。

どうしても無料サーバでwikiを動かしたいのであればファイルもしくはSQLiteを
バックエンドとしたwikiを選んだ方が良いと思います。きちんとした
ユーザ管理機能が欲しいというのであればPHP製のwikiとして
dokuwikiがあります。これはwiki.php.net(PHPの公式サイト)で採用されています。
最近になって日本語のマニュアルが増えているのでかなり導入しやすくなっています。

あとは現時点でsvn版のMW限定ですがバックエンドのデータベースとして
ファイル型のSQLiteを選択すれば常駐型のMySQLよりも鯖の負荷は下がります。
サーバのPHPのpdo_sqlite関数が有効で、いろいろな不具合(>>626)に目をつぶることが前提ですが。
0644nobodyさん2008/05/18(日) 13:43:28ID:???
規制多いよ
0645nobodyさん2008/05/18(日) 18:26:08ID:0zqDIdUQ
超ド級初心者ですが質問させて下さい。

トップページの左上の、ひまわりの画像をオリジナル画像にするには
どうしたらいいんでしょうか?

0646nobodyさん2008/05/18(日) 18:34:57ID:???
>>645
http://www.mediawiki.org/wiki/Manual:FAQ/ja#.E3.83.AD.E3.82.B4.E3.82.92.E5.A4.89.E6.9B.B4.E3.81.AB.E3.81.99.E3.82.8B.E3.81.AB.E3.81.AF.EF.BC.9F
0647nobodyさん2008/05/18(日) 18:45:36ID:0zqDIdUQ
>>646
ありがと。

でも何が書いてるのかさっぱりだわw
0648nobodyさん2008/05/18(日) 19:07:01ID:???
執拗な荒らしにあって困っています。
広域ブロックするには、どうすればいいのでしょうか?

ADSLを繋ぎ直して、何度もIPを替えては書き込んできるので。
0649nobodyさん2008/05/19(月) 01:20:02ID:???
公開プロキシを完全排除するのは、どうすればいいんでしょうか?
0650nobodyさん2008/05/19(月) 21:04:11ID:???
特別:Export で出力したXMLをローカルで編集して 特別:Import したいんですけど、
XMLがデカすぎてブラウザがタイムアウトしてしまうのが怖いです。
コマンドラインで直接インポートできないもんでしょうか?
バージョンは 1.12.0 です。
0651nobodyさん2008/05/19(月) 21:49:40ID:???
>>650
http://www.mediawiki.org/wiki/Manual:Maintenance_scripts/ja
importDump.php がお望みの機能です。
コマンドラインから引数無しで、ヘルプが表示されるはず。
0652nobodyさん2008/05/20(火) 00:57:23ID:???
>>647
wiki.png(skins/common/images/)を別の名前にリネームして
wiki.pngを新しく用意するか、LocalSettings.phpファイルに
以下のコードを追加します。
$wgLogo = $wgStylePath . '/common/images/新しい画像のファイル';

もしくは以下のようにしてもかまいません。
上記の方が少しパフォーマンス上の点で良いです。

$wgLogo = "$wgStylePath/common/images/新しい画像のファイル";

ファビコンを変更したいのであれば、$wgFaviconで上記と同じように指定します。
0653nobodyさん2008/05/20(火) 02:59:48ID:???
>>648 
説明はできないのでこちらのリンクを参照して下さい。
他にプロバイダに通報するという手段もあります。
Help:管理者マニュアル 広域ブロック
http://ja.wikipedia.org/wiki/Help:%E7%AE%A1%E7%90%86%E8%80%85%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_%E5%BA%83%E5%9F%9F%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF

>>649
プロキシのブラックリストは人力で集めているので完全に防止するのは困難だと思います。
2chの方ではDSBLを利用しているそうです。サーバに通知された環境変数を通して
ある程度規制をできるそうですが。

Wikipedia:オープンプロクシは使わない
http://ja.wikipedia.org/wiki/Wikipedia:%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%83%97%E3%83%AD%E3%82%AF%E3%82%B7%E3%81%AF%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84
DSBL
http://ja.wikipedia.org/wiki/Distributed_Sender_Blackhole_List
公開プロキシ
http://ja.wikipedia.org/wiki/%E5%85%AC%E9%96%8B%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7
0654nobodyさん2008/05/20(火) 21:20:50ID:???
>>651
importDump.php を実行してみたんですが、helpが出てきません。
標準入力を待ってるかのように、プロンプトが出ずにカーソルがチカチカ・・・
Ctrl+Cでブッチしました。
何が悪いんでしょう?
0655nobodyさん2008/05/20(火) 21:57:58ID:???
>>654
ソース見た。
ヘルプなんか無かったです。すみません。
引数か、標準入力で、xml指定すれば良いみたい。
0656nobodyさん2008/05/22(木) 00:49:19ID:???
>>655
できました!
不親切な設計なことで・・・
0657nobodyさん2008/05/22(木) 13:38:15ID:???
引数なしだとヘルプが出るという前提は捨てたほうがいいな。
0658nobodyさん2008/06/02(月) 00:09:11ID:???
MediaWikiを複数のサーバーにインストールして、DBは共通にしています。
画像をアップロードすると、DBに情報は格納されますが、画像本体は、どれか
ひとつのサーバーにしか存在しません。

これを解決するには、rsyncなどで定期的に同期するしかないんでしょうか?
0659nobodyさん2008/06/02(月) 00:55:12ID:???
>>658 wikimedia財団ではcommonsで画像を集中管理していますが、
同じような設定を設定変数で出来るはずです。
0660nobodyさん2008/06/06(金) 20:01:17ID:LENjhXzB
a006.ap.plala.or.jpから、再接続を繰り返して頻繁に荒らしてくる人がいるのですが、
どうやってブロックすればいいですか?
>>653に載っている、0/16〜0/24を繰り返しても、巨大プロバイダだけに範囲が広すぎるし。

一部の掲示板みたいに、リモートホスト中の特定の文字列で規制できれば一番良いのですが、何か方法はないものでしょうか?
ご存知の方、ご教授頂けましたら幸いです。
0661nobodyさん2008/06/06(金) 20:49:00ID:???
>>660
自分の場合の例ですが、IP address (Host name)と User agent を
and でくくってアクセス制限対象にしています

MediaWiki 上で制限するよりも、例えばウェブサーバが Apache なら
.htaccess でまとめて制限してみてはいかがでしょうか?

.htaccess質問コーナー Part7
http://pc11.2ch.net/test/read.cgi/hp/1206025115/
0662nobodyさん2008/06/06(金) 21:17:34ID:LENjhXzB
>>661
レンタル中のページでは、規制ができないみたいです。
それと、UserAgentでの規制もできないのですが。

そのような名前の利用者は存在しません、と出てしまって。
0663nobodyさん2008/06/06(金) 21:21:22ID:???
a006.ap.plala.or.jpの対応IPだけでも、把握できれば、楽になるのですが、
なにか効率よく検索できるサイトはないものでしょうか?
plala全体では、範囲が広すぎますし。
0664nobodyさん2008/06/06(金) 21:43:48ID:???
ぷららに通報したほうが早いと思うんだが。
0665nobodyさん2008/06/11(水) 20:18:58ID:???
環境
 MediaWiki v.1.11.1を使っています。

質問
 あるページの記事の中で、画像を管理者には可視とし、
ゲストユーザには不可視にできるするにはどうしたらよいのでしょうか?
 ずばり解決法、もしくは解決のためのヒントを頂ければと存じます。

当方のスキル
 エクステンションのハック歴3日程度です。
0666nobodyさん2008/06/12(木) 00:33:04ID:???
>>665
その画像は特別:Uploadからあげたもの?それとも任意のもの?
0667nobodyさん2008/06/12(木) 00:35:37ID:???
>>665 通常のアップローダーでアップロードした画像に対する
制限をしたいのであれば次の項目を行います。
ただし、私はすべて試していませんし、漏れがあるかもしれません。

* 設定変数によるユーザー権限の設定(このスレを「ユーザー」で検索すれば見つかります)
** 画像(Image)名前空間のページの閲覧制限
** メタ情報を出力する特別ページ全般の閲覧制限、
  もしくはそれぞれの特別ページのファイルを修正して
  画像のアップロードや削除の情報を表示されないようにする。
  対象となるのはSpecial:SpecialPagesのうち「最近更新したページとログに
  分類されるページ」。少し古いバージョンのMWでは分類されていないので
  その場合はWikipediaなどで調べます
* 外部ページからのインクルードの禁止(>>384)
* 画像の直接リンクの禁止(mod_rewite、mod_setenvifなど)


繰り返し言われていることですが、MWの設計は基本的に
公開する情報しか対象に考えていないので、
会員制で画像のアップロードが中心のサイトを運営するなら
別のCMSを探した方がよいかもしれません。

あとは独自のアップローダ機能を持つ特別ページを追加することで
ログページに記録されないようにする方法が考えられますが、
こちらは自分で開発する必要があります。
0668nobodyさん2008/06/12(木) 07:38:34ID:???
>>667
ありがとうございます。
「特別:Upload」からアップロードした画像です

現在、3万ページあります。ファイルにデータを書き込むWIKIですとアクセスが遅くなります。
直接DBとやりとりするWIKIはMWしかなかったので消極的に使っております。
0669nobodyさん2008/06/17(火) 03:21:12ID:???
>>668
MediaWiki の機能を使って〜と考えずに、
Upload file を格納するディレクトリへのアクセスは管理者からの IP address だけ許可する
といった方法ではダメなのでしょうか?
0670nobodyさん2008/06/17(火) 15:54:08ID:???
>>669
とりあえず、それいいですね。
自分のスキルが追いつくまでそれでしのぎます。

例えば、タグでくくったら
<xxx> [[画像:aaa]] </xxx>
ゲストユーザには画像が非表示って言うのを
実現したかったのです。

試行錯誤してみましたが、自分が書くエクステンションだと
正規ユーザ
[[画像:aaa]]
ゲストユーザ
(非表示)
と、[[画像:aaa]]がパースされずに文字で出力されて、立ち往生しました。
0671nobodyさん2008/06/18(水) 21:42:00ID:???
PHPは初心者(サンプルソースを見ながら試行錯誤しながらようやく動かせるレベル)です。

■MediaWiki、サーバ関連情報
MediaWiki のバージョン : v1.12.0
MediaWiki をインストールした OS の種類とバージョン : Red Hat Enterprise Linux ES release 4
ウェブサーバの種類とバージョン : Apache v2.2.9
データベースサーバの種類とバージョン : MySQL v5.0.51a
PHP のバージョン : v5.2.6

■検索エンジンで調べた際の検索キーワード
MediaWiki 名前空間 おまかせ 有効

■分からないこと、発生している問題、やりたいこと、など
MediaWikiに独自の名前空間を追加したのですが、
追加した名前空間のページがおまかせ表示で表示できなくなりました。
標準の名前空間は表示されますし、追加した名前空間そのものも有効です。

includes/SpecialRandompage.phpには、

 private $namespace = NS_MAIN; // namespace to select pages from

との記述があるので、一つの名前空間しか有効にならないのかと思いますが、
標準の名前空間+任意の名前空間を表示対象とするにはどうしたらよいのでしょうか。

ご教示よろしくお願いします。
0672nobodyさん2008/06/21(土) 18:51:43ID:???
>>671 自分でSpecialRandompage.phpを修正するしかないと思います。
ざっとみて思いつくのは所属する記事数に比例した確率で
どの名前空間を使うのかを決めるロジックを追加して
その上でNS_MAINと決め打ちされている箇所を修正することでしょうか。

0673nobodyさん2008/06/21(土) 19:06:48ID:???
>>672
追記。今1.13αを調べたらSpecialで始まる特別ページのコードが
includesからincludes/specialsに移動していました。
他にdbディレクトリ、parserディレクトリも追加され、だいぶすっきりしました。
0674nobodyさん2008/06/22(日) 13:37:16ID:???
WindowsXP+IE6でMWが真っ白になることが多いのは仕様なのですか?
ウィキペディアも突然真っ白になったりしますが・・・
0675nobodyさん2008/06/23(月) 15:25:59ID:???
wikisysopのipアドレスは第3者には見れないのでしょうか?
0676nobodyさん2008/06/23(月) 19:09:26ID:???
×見れない
○見られない
0677nobodyさん2008/06/23(月) 22:40:39ID:???
>>674
IEのバグだと思う。
キャッシュ消せば見られるようになるよ。
0678nobodyさん2008/06/24(火) 19:35:23ID:OoqcMMI8
== 質問するときに書いてね ==
■MediaWiki、サーバ関連情報 : (コロンから右に書いた情報はたとえばの情報)
MediaWiki のバージョン : v1.12.0
MediaWiki をインストールした OS の種類とバージョン : RedHat 9
レンタルサーバー名 or 自鯖の場合は回線等の詳細 : 自宅サーバー 光
ウェブサーバの種類とバージョン : Apache 2.2.8
データベースサーバの種類とバージョン : MySQL v5.0.41 with Senna
PHP のバージョン : v5.0.5

■検索エンジンで調べた際の検索キーワード
「MediaWiki」 「日本語検索」 「ハイライト」「赤字」

■分からないこと、発生している問題、やりたいこと、など
日本語での検索結果で、赤文字でヒット部分が表示されるようになりたい


よろしくお願いいたします
06796712008/06/24(火) 22:10:19ID:???
>>672
レス遅くなってすいません。

調べて頂いてありがとうございました。
やはり、自分で書くしかないのですね。

Special*****.phpは、ほとんどNS_MAINで決め打ちされてるようですね。
Withoutinterwikiとかも無視されてるので、独自の名前空間について別のクラスかなにか
作った方が良さそうです。

とりあえず現状ママで放置することにします。
0680nobodyさん2008/06/25(水) 14:52:51ID:???
>>678
普通に検索すると検索結果は赤く表示されるから、
そこを処理しているソースを流用すれば何とかなりそう。
だけど、その先、処理していいか、やっぱり分からないな
すまん、他の人のレス期待
■ このスレッドは過去ログ倉庫に格納されています