新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

crowi を入れようとしたけど微妙に失敗した。

5月あたりにウェブを更新しようとして、HTML5 になって header, main, footer というタグがあることにきがついた。WordPress が世の中で流行っているようだが、結局、JavaScriptCSS と新設タグで対応している。別に WordPress でなくてもよい。HTML5 への移行と WordPress の成長がたまたま重なっただけだ。
大体の人がやりたいことは、ビジュアルな効果であるヘッダーのロゴの拡大縮小であったり、下スクロールによる画像の追加や変化であったりする。これは JavaScript でできる。
そして、画面サイズへの対応、PC 大画面やスマホによって見せ方を変える、これには CSS で対応すればよい。

ウェブのトップは出来たので wiki 的な何かを入れようとして pukiwiki を入れてみた。最近では docker ですぐに入る。nginx を前面にして proxy でとばす。

    location /abdc/ {
        rewrite ^/abdc/(.*) $1 break;

        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host/abdc/;
        proxy_pass http://localhost:10080/;
    }

proxy の設定や header への設定はいろいろあるみたいなので、個々に試した方がいい(やってない)。

pukiwiki もいいけど、最近ならもっと高機能?なものがあるのではないかと思って crowi にチャレンジした。結論から言うと proxy がうまくいかなかった。
いままで気が付かなかったのだが、rewrite はブラウザから来た文字列を修正するもの。それを例えば pukiwiki や crowi などへ転送する。
/ を飛ばす分には転送元の URL と転送先の URL がほぼおなじなので、齟齬は生じない。上のように abdc にアクセスしようとしたら wiki に飛ばすという時に齟齬が生じる。コンテンツ内の URL にすべて abdc という下駄がないといけないのだ。
コンテンツの管理は wiki 側がやっているので、何らかの方法で abdc という下駄を教えてあげないといけない。static に wiki 側で設定してもよいが、abcd に変更したら、また wiki 側も変更しなくてはならなくなるので、dynamic にやりたい。
その、情報伝達がヘッダー内にあって proxy_set_header で設定する Host らしいのだ。”らしい”の意味はちゃんと調べていないから。あと、どんな header が必要でどうすべきかも精査していない。試行錯誤でこれが影響しているという事だけがわかった。すくなくとも pukiwiki はそうだった。
crowi はどうかというと、どうも現時点でサポートされていなさそうだった。もし、こういった基本的な事に注力していないウェブの見た目を重視した wiki であるなら、まぁ採用は見送ることになる。
参考までに書くと、試してないが、さらに docker 内で nginx で一旦受けるように設定するというウェブページもあったのでそうすればうまくいくのかもしれない。

crowi つかってみればわかるが、login 画面が出てきて見た目は qiita 風。リアルタイムにプレビューできる。が、結局、上の問題もあるが wiki の気軽さが失われている感じがするのでこの方針の wiki は今後も採用しないだろう。好みの問題だ。

好きな人は入れてください。login とかはよくできているとは思った。