MediaWiki 新しいページはコチラ
提供: yonewiki
1行: | 1行: | ||
+ | [[メインページ#Web技術|Web技術]]へ戻る。 | ||
== '''Media Wikiとは?'''== | == '''Media Wikiとは?'''== | ||
+ | |||
このページの仕組みそのものです。<br /> | このページの仕組みそのものです。<br /> | ||
ウィキペディアは公式に活動している百科事典になりますが、その百科事典のシステムそのものが、<br /> | ウィキペディアは公式に活動している百科事典になりますが、その百科事典のシステムそのものが、<br /> | ||
26行: | 28行: | ||
== '''SyntaxHighlight_GeSHiをインストール'''== | == '''SyntaxHighlight_GeSHiをインストール'''== | ||
+ | ※最近のWikiMediaではデフォルトで一緒にインストールされるみたいです。 | ||
+ | |||
SyntaxHighlight_GeSHiをインストールするとWikimedia内でプログラムコードの記述をした際に手間をかけることなく<br /> | SyntaxHighlight_GeSHiをインストールするとWikimedia内でプログラムコードの記述をした際に手間をかけることなく<br /> | ||
− | + | シンタックスハイライトをしてくれます。※最近のVersionではGeshiが同梱されているので、インストールの手間はないそうです。<br /> | |
1.まずは必要なソースコードをダウンロードしよう。 | 1.まずは必要なソースコードをダウンロードしよう。 | ||
66行: | 70行: | ||
== '''スタイルシートを変更'''== | == '''スタイルシートを変更'''== | ||
− | 1.http://xxxxxx.xx/xxxxx/index.php/Special:Userrights にアクセスして、ユーザに管理者・ボット・ユーロクラット権限を付与します。<br /> | + | 1.http://xxxxxx.xx/xxxxx/index.php/Special:Userrights |
− | 2.http://xxxxxx.xx/xxxxx/index.php/MediaWiki:Common.css にアクセスして、Common.cssを記事を編集するかのように編集します。<br /> | + | |
+ | もしくは | ||
+ | |||
+ | http://xxxxxx.xx/xxxxx/index.php?title=Special:Userrights にアクセスして、ユーザに管理者・ボット・ユーロクラット権限を付与します。<br /> | ||
+ | 2.http://xxxxxx.xx/xxxxx/index.php?title=MediaWiki:Common.css | ||
+ | |||
+ | もしくは | ||
+ | |||
+ | http://xxxxxx.xx/xxxxx/index.php?title=MediaWiki:Common.css にアクセスして、Common.cssを記事を編集するかのように編集します。<br /> | ||
CssのファイルでFTPで直接操作すると死ねる結果が待っていますのでWikiのシステムを使いましょう。<br /> | CssのファイルでFTPで直接操作すると死ねる結果が待っていますのでWikiのシステムを使いましょう。<br /> | ||
+ | |||
+ | |||
たとえば、以下のようなスタイルを適用すると文字を大きくしたりフォントを設定できたりします。 | たとえば、以下のようなスタイルを適用すると文字を大きくしたりフォントを設定できたりします。 | ||
78行: | 92行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | Geshiのスタイルシートは | ||
+ | http://xxxxxx.xx/xxxxx/index.php/MediaWiki:Geshi.css | ||
+ | |||
+ | もしくは | ||
+ | |||
+ | http://xxxxxx.xx/xxxxx/index.php?title=MediaWiki:Geshi.css | ||
+ | に記述するとよいですが、pre class=de1(通常行)やde2(強調行数)といった深いところに使われるタグにもフォントの定義がされていたりするので、Geshi.cssよりあとで定義されているシンタックスのCSSが優先されて、動作しない定義が出てきます。そういうときは、よく考えてからになると思いますが、CSS最優先キーワードを使って定義しちゃいましょう。geshiで変更しても影響のないスタイルだけにこのキーワードを使います。たとえば等幅フォントを設定したい場合は | ||
+ | <syntaxhighlight lang="css" line start="1"> | ||
+ | div.de1, | ||
+ | div.de2, { | ||
+ | font-family:'等幅フォント名' !important; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | のように!importantキーワードを定義します。本当はGeshiのシステムをいじるのが正しい対応になるかと思いますが、プログラムを修正しないで、 | ||
+ | ユーザの立場で定義を活用するならimportantしかないと思います。自分で作成するシステムのCSSではimportantの利用はよろしくないですね。 | ||
+ | だって2重で定義されること自体が問題でしょ? | ||
== '''131011事件:WikiMediaシステム半壊状態です。''' == | == '''131011事件:WikiMediaシステム半壊状態です。''' == | ||
150行: | 180行: | ||
例えば、今回の目的ではないですが、chmod関数を置き換える場合だと。<br /> | 例えば、今回の目的ではないですが、chmod関数を置き換える場合だと。<br /> | ||
chmod関数の引数が$this->pathだとしたら<br /> | chmod関数の引数が$this->pathだとしたら<br /> | ||
− | file_get_contents('http://xxxxx.xx/xxxxx/yyyyyyy.pl?Path='.$this->path&Secure=xxxxxxxxx); | + | <nowiki>file_get_contents('http://xxxxx.xx/xxxxx/yyyyyyy.pl?Path='.$this->path&Secure=xxxxxxxxx);</nowiki> |
として.plや.cgiを実行する関数に置き換えます。<br /> | として.plや.cgiを実行する関数に置き換えます。<br /> | ||
− | + | 動作結果がどうなるかわからないので、呼び出し結果もHTMLに吐き出しておけば、左辺の変数に結果が取り込まれます。チェックができないのが辛いところです。<br /> | |
実行した後にチェック用のファイルを生成させたりして、読み込んでみるという方法もありでしょう。自分はそこまでやってませんが…<br /> | 実行した後にチェック用のファイルを生成させたりして、読み込んでみるという方法もありでしょう。自分はそこまでやってませんが…<br /> | ||
Perlもわかる!という人にしかできない技です。<br /> | Perlもわかる!という人にしかできない技です。<br /> | ||
160行: | 190行: | ||
<br /> | <br /> | ||
例えば<br /> | 例えば<br /> | ||
− | <syntaxhighlight lang=" | + | |
+ | |||
+ | <syntaxhighlight lang="Perl" line start="1"> | ||
#!/usr/local/bin/perl | #!/usr/local/bin/perl | ||
print "Content-Type: text/html\n\n"; | print "Content-Type: text/html\n\n"; | ||
189行: | 221行: | ||
わたくしめに助言できるのはココまでです。Perlを熟知している方にやって欲しいからです。自分もこれが安全か?と言われれば、それほど自信ありません。<br /> | わたくしめに助言できるのはココまでです。Perlを熟知している方にやって欲しいからです。自分もこれが安全か?と言われれば、それほど自信ありません。<br /> | ||
むしろ教えてほしいくらいです。<br /> | むしろ教えてほしいくらいです。<br /> | ||
+ | passthru関数もバッククォーテーションを使ったり、UNIXコマンドステータス$!を取得して、きっちりと動作確認もできるわけです。<br /> | ||
+ | unlinkとかmkdirとかis_なんちゃら関数だって、Perlの-xを使えば同じこと。Perlですべて置き換えられます。<br /> | ||
+ | xreaが推奨するphpのcgiモードはMediaWikiでは動作しません。Get関数の引数の形が違うからです。そこを変えれば全部うまくいくのかも不明ですし。<br /> | ||
+ | <br /> | ||
+ | 環境変数で、phpでcgiを呼び出したときだけ値が空っぽになる変数あるみたいなので、その値が何も保持していないか確認すると、<br /> | ||
+ | 更にいたずら対策はできるわけですね。なんちゃらインジェクションとかされたら辛いので、追い出し+データ放棄とかの処罰がありそう。<br /> | ||
+ | 他人に迷惑をかけたら民事訴訟とかもありますかね。責任ってあるのかもしれません。あるいみクレジットカードの番号盗まれるより痛いかも。<br /> | ||
+ | 自分みたいなもんのクレジットカードの上限なんてたかがしれてますもんね。レンタルサーバの責任ってどんなことがあるんやろか、怖いねぇ。<br /> | ||
+ | なんか、車の運転をしなければ人を殺すこともないわけですし、乗らないのが一番っていうのと似てるのかもしれません。<br /> | ||
+ | <br /> | ||
こんなことやってたらxreaから追い出されたりして、そしたら最初からphpなんて使わせてもらえないと思うので、大丈夫だと思いますけど<br /> | こんなことやってたらxreaから追い出されたりして、そしたら最初からphpなんて使わせてもらえないと思うので、大丈夫だと思いますけど<br /> | ||
かくいう自分も最初はxreaをやめようかと思ったくらいです。もしくはMediaWikiをやめようかとも思いました。<br /> | かくいう自分も最初はxreaをやめようかと思ったくらいです。もしくはMediaWikiをやめようかとも思いました。<br /> | ||
上記のサンプルではsecureという変数を使ってパスワード的な確認も入れてます。こんなものが役に立つかどうかしりませんけど。<br /> | 上記のサンプルではsecureという変数を使ってパスワード的な確認も入れてます。こんなものが役に立つかどうかしりませんけど。<br /> | ||
<br /> | <br /> | ||
+ | もし訴訟とかが起こった時にはsafemodeとかいう使いにくいmodeをonにするからだって開き直ったりしてるかもしれません。なんとなくイメージが湧く。<br /> | ||
safemodeはこんな風に余計にあがく奴がいて、むしろ危ないってことだな。だから新しいPHPの現行Versionでは廃止になったのかもしれない。<br /> | safemodeはこんな風に余計にあがく奴がいて、むしろ危ないってことだな。だから新しいPHPの現行Versionでは廃止になったのかもしれない。<br /> | ||
でも、そのsafemodeの機能がついたサーバ500台近く抱えているxrea。恐るべし!<br /> | でも、そのsafemodeの機能がついたサーバ500台近く抱えているxrea。恐るべし!<br /> | ||
グダグダ言ってても、だれも救われないかもしれないので、この件はこれでおしまい。<br /> | グダグダ言ってても、だれも救われないかもしれないので、この件はこれでおしまい。<br /> | ||
<br /> | <br /> | ||
+ | |||
+ | == 140623 PHP Verupによるセーフモード解除 == | ||
+ | VersionUpしてセーフモードが解除されたみたいです。よかったね。もう、ややこしいことはしなくてよくなりました。こういう方針の変更というのは大事だよね。ユーザはカスタムしたいからサーバを借りるわけだから、自由度が低いレンタルサーバはやっぱだめだよね。経営側がようやくユーザ離れの深刻さを理解したのかもしれません。でも、なんつうか、あんまりおおっぴらな連絡もなくPHPだけでなくDBシステムのバージョンアップとか大きな変更をやったもんだから、データベースが止まりました。バックアップはとったから、動くようにする作業は各自でやってね的な対応です。これはなかなか強引だ。xrea恐るべし。でも、自分はこの恐るべし方策についていけるので、よしとします。6/25現在もxreaユーザはDBシステムの変更によるWebサイトの機能停止に追われているようです。 | ||
+ | |||
+ | |||
+ | FTPログインルートにDBのバックアップを_DB_BACKUP_XREA_UPGRADEというフォルダの中にDBログインID毎にdumpファイルを作ったそうです。 | ||
+ | |||
+ | たとえば、ID=xxxなら | ||
+ | |||
+ | |||
+ | _DB_BACKUP_XREA_UPGRADE/mysql_xxx.dump | ||
+ | |||
+ | |||
+ | となります。このdumpファイルというのはインポートすることができる形式になっていて、文字コードは使っていた人の都合によっては様々なモノになっている可能性があります。文字化けが発生したりする可能性については各自で対応しなければならないそうなので、このあたりの理解度が対応力をためされる部分になるそうです。 | ||
+ | |||
+ | |||
+ | このファイルをFTPツールとかをつかって自分のPCに保存します。このときもバイナリーファイルとしてダウンロードするなりして、文字コードの形式が変わってしまわないように注意が必要です。この節のFTPに関する説明が分からない人はFTPの理解からやり直しです。 | ||
+ | |||
+ | |||
+ | そして、phpMyAdmin(MySQLの場合)とかphpPgAdmin(PostgreSQLの場合)でインポートして、dumpファイルを指定してあげれば復活します。それぞれのIDでログインしてIDにあったファイルをインポートする作業を繰り返します。xreaでは5つのIDまで使えるので多い人でも5回くらいでしょう。 | ||
+ | |||
+ | |||
+ | ファイルが大きい場合は途中で失敗することも多いので、ID名の中に関連付けられているすべてのテーブルを削除して、やり直すとよいでしょう。それと、phpMyAdminやら、phpPgAdminの画面で、DBシステムのVerUpに伴うエラーが表示される場合もあると考えられます。これはphpXXAdminのバージョンが古いために表示される不具合です。基本的な動作に支障はないので、それほど気にしなくていいWarningエラーですが、気になる人は、DB管理画面の結構下の方にあるphp(xx)Adminのインストールボタンをもう一回おして再インストールをすると良いでしょう。 | ||
+ | |||
+ | |||
+ | 果たして、昔のDigiRockはこういう会社だっただろうか?キニシナイけど。気になる。2011年にGMO資本になってから、なんかオカシイ。自分はその昔、GMOと大きな訴訟的な問題(自分にとって)を起こしてから、GMOから逃げ出してDigiRockに移動したんですけど、モトサヤに収まってしまいました。これが切っても切れない腐れ縁というやつなのかもしれません。GMOはGMO。GMOディジロックはGMOディジロック。 | ||
+ | |||
+ | == '''181001 ImageMagick Convert 移動''' == | ||
+ | これまでは、/usr/local/bin/php/convertにおいていたのに、突如として消されて、一般的なパスに移動。自分でソースからコンパイル、リンクした奴でしたけど…なんにせよ普通な設定になってよかった。新しいパスは | ||
+ | |||
+ | |||
+ | */usr/bin/convert | ||
+ | |||
+ | |||
+ | xrea のサーバもごく一般的なパスになりました。割かしちょいちょい、こういう大改造をしれっとやるので、古参は困りますね。 | ||
+ | |||
+ | なので、localsettings.phpの設定の中は | ||
+ | |||
+ | |||
+ | *$wgImageMagickConvertCommand = "/usr/bin/convert"; | ||
+ | |||
+ | |||
+ | と書けば、ImageMagcikの変換関係の処理が使えるようになります。 | ||
+ | |||
+ | |||
+ | |||
+ | [[メインページ#Web技術|Web技術]]へ戻る。 |