コグノスケ


link 未来から過去へ表示  link 過去から未来へ表示(*)

link もっと前
2014年9月5日 >>> 2014年9月14日
link もっと後

2014年9月5日

PukiWikiの代わり - MoinMoinを試す

目次: 自宅サーバー

長いこと開発が停滞しているPukiWikiに鞭打って使ってきました(※)が、そろそろ置き換えようかと思います。置き換え候補としてはWikipediaでお馴染みMediaWiki、TWiki、MoinMoin辺りが割と活発なプロジェクトのようです。

(※)と思ってたら、開発が再開して7月に1.5.0がリリースされました。6年ぶり?くらい?

MoinMoin

MediaWikiはPukiWikiと同じくPHPで書かれているのは良いのですが、データベースを使うらしく面倒だったので、Python以外に何も要らないMoinMoinを試してみました。環境はApache 2.2 + WSGI + Python 2.7.3です。

MoinMoinのセットアップは初見殺しが多くてわかりづらいです。私は下記の手順で設定しました。とりあえず動きましたが、合ってるのかなあ、これ。

tar xzvf moin-1.9.7.tar.gz
tarballの展開です。でも展開しただけではダメで、インストールが必要です。
setup.py install --prefix=/home/username/public_html/wiki
インストールです。せっかくスクリプト言語なのに、コンパイルだのインストールだの面倒です…。
mv /home/username/public_html/wiki/share/moin/* /home/username/public_html/wiki/
MoinMoin本体ファイル、その他の依存ファイルを全て移動します。
ここでファイルを移動させるかWebサーバ側でshare/moinに向けてAliasを設定しないと、WikiのURLにshare/moinが入ってしまいダサいです。
mv /home/username/public_html/wiki/share/lib /home/username/public_html/
ライブラリのディレクトリを移動させます。移動させなくても動くと思いますが、後で設定ファイル書く際にパスが無意味に長くなってしまいダサいです。
cp /home/username/public_html/wiki/server/moin.wsgi /home/username/public_html/
MoinMoinのWSGIスクリプトであるmoin.wsgiのひな形をコピーします。
もし必要なら .htaccessにてDirectoryIndex moin.wsgiとすると、WikiのURLからmoin.wsgiを省略できます。
vi moin.wsgi
WSGIスクリプトはそのままでは何一つ動きません。書き足すべきは2つです。
(その1) MoinMoinのライブラリパス
sys.path.insert(0, '/home/username/public_html/wiki/lib/python2.7/site-packages')
(その2) コンフィグ(wikiconfig.py)のパス
sys.path.insert(0, '/home/username/public_html/wiki')
ln -s lib/python2.7/site-packages/MoinMoin/web/static/htdocs moin_static197
CSSとかJavaScriptの入ったディレクトリへのリンクを張ります。これを忘れるとCSSも画像も全く参照できなくなってページのデザインが崩壊し、白地に文字だけが出る悲しい有様になります。
ディレクトリ名はmoin_staticXYZという名前で、XYZにはバージョンが入ります。今回使ったのは1.9.7なのでXYZ = 197となっています。今日一番の「そんなの知らないよ…」ポイントでした。
cp /home/username/public_html/wiki/config/wikiconfig.py ./
設定ファイルのひな形をコピーしてきます。
vi wikiconfig.py
設定ファイルもデフォルトの設定ファイルのままでは動きません。書き足すべきは2つです。
(その1) CSSやJavaScriptの位置(url_prefix_staticにはmoin_static197が最初から入っています)
url_prefix_static = '/~username/wiki' + url_prefix_static
(その2) スタートページ
page_front_page = u"MyStartingPage"

とりあえず使ってみた感想としては、閲覧は速いですが、編集は異様に遅いです。遅すぎてイライラする。これを常用するのは厳しいぞ…。

蛇足

Pythonで書かれたCGIはライブラリの位置(site-modules)を設定ファイルに書く必要があって面倒です。私の場合、メインのSakuraのサーバと、サブの自宅サーバとで、パスを書き換えねばならず面倒くさいです。

今使っているMercurialのWebフロントエンド(hgwebdir.cgi)もPythonで書かれていて、ライブラリの位置を設定ファイルに書く必要があります。CGIをバージョンアップする度に、設定を上書きして潰してしまいInternal Server Errorに遭遇して、そういえば設定が要るんだった、と思い出します。

Python自体は簡潔で良い言語だと思いますが、CGIになると面倒くさくてイマイチというか…、単に私の管理方法が悪いだけなのか…。とにかく、あまり好きになれません。

編集者:すずき(2024/01/13 17:12)

コメント一覧

  • IKeJIさん(2014/09/10 01:31)
    Mediawiki + SQLite という選択肢があった気がします。使った事はないですが。
  • すずきさん(2014/09/10 02:01)
    >IKeJI さん
    ありがとうございます。
    今度の休みにトライしてみます。
open/close この記事にコメントする



2014年9月7日

レガシィの2回目の車検

目次:

買ってから2回目となるレガシィの車検です。今回はレガシさんを購入したネクステージ大阪茨木店さんにお願いしました。お値段は大体14万円くらいでした。

そういえばネクステージ大阪茨木店は、スバル専門店だった(少なくともレガシィを買ったときは)のですが、いつのまにかミニバン専門店に様変わりしていました。1社専門だと売れ行きが厳しいのでしょうか?

毎年、夏になるとカーセキュリティが暑さで誤報を発して、近所迷惑極まりないので、車検と同時にカーセキュリティを調整してもらいました。

センサーの位置を変えたそうですが、残念ながらもう暑くないので、調整の成果は来年にならないと確認できません…。

編集者:すずき(2023/09/30 14:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月8日

いきなりバージョンが飛ぶと焦る

SeaMonkeyがいきなり2.26から2.29にバージョンアップしたので、長らくアップデートを忘れていたのか?とちょっと焦った…。

都市伝説

ツルゲーネフ「片恋」二葉亭四迷 訳の「死んでも可いわ…」について。

その一節はあるけれど、I love youの訳語ではないので、都市伝説というか、誤解かな。

リンク先(FLAMA技術Blog - 二葉亭四迷は「I love you.」を「死んでもいいわ」と訳していない。)は原著にまで当たっていて大変参考になりました。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 06:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月10日

スマートフォンで日記を見るとエラーになる?

目次: 自宅サーバー

以前から調子が悪いなとは思っていたのですが、スマホから3G/LTE回線を使って、このブログにアクセスすると、タイムアウトして一切表示できないことがわかりました。

正確に言うと、トップページだけは表示できますが、過去の日記を表示させようとするとブラウザがダンマリを決め込んで、しまいに「サーバーが応答しない」と言われてエラーになります。

原因探し

Apacheのアクセスログを見ると「サーバーが応答しない」と言われるときは、そもそもサーバーにリクエストが来ません。これはサーバに来るより前のどこかで止められていると思われます。

まず、スマートフォン側のブラウザ設定、セキュリティソフト、コンテンツフィルタなどを疑いましたが、どのブラウザを使っても、要らないセキュリティソフトを全部アンインストールしても、フィルタの契約を全部解除しても、やはり同じ症状が発生します。

じゃあ違いはURLくらいだろう、ということで、HTTP GETリクエストを飛ばせるアプリ(Ping&DNSを使いました)でリクエストを切り詰めて調べてみると、GETリクエストに ?action=cmdを入れたとき、どのサイトへのアクセスであろうと、問答無用でHTTP通信が遮断される、ということがわかりました。

例えば、
http://www.yahoo.co.jp/?action=cm
というURLにアクセスした場合はヤフーのトップページが表示されますが、

ここでcmをcmdに変えて、
http://www.yahoo.co.jp/?action=cmd
というURLにアクセスすると、するとヤフーのトップページが表示されず1分位経った頃に、ブラウザがタイムアウトの画面を出すはずです。

症状が発生するのは3G/LTE回線のみ、Wi-Fi接続だと症状は発生しない、かつ、奥さんのiPhone 5sでも全く同じ症状が出ることから、恐らくドコモの通信網のどこかで止められていると推測されます。

タイムアウトにはかなり時間が掛かるのと、一度引っかかるとそのサイトには何をしてもしばらくアクセスできなくなります。試されるときはご注意を!

しかし、一体何のために入れたルールなのだろうね…?

日記のシステム小変更

スマホから見られない原因がわかりましたので、このブログ側での対策を考えます。

調査から、日記を表示するのか、編集するのか、投稿するのか?など、ブログの動作を指示するための引数arg_action=cmd_xxxxがNGに引っかかっていると思われます。よってarg_action=cmd_xxxxを、全てarg_act=cmd_xxxxに置き換えます。

とは言っても、修正は一行でOKな作りにしていたので、楽勝でした。過去の俺は何を考えてこんな凝った作りにしたんだろうなあ?おかげで楽だったから良いけどさ…。

変更の影響範囲

おいおい、いきなり削ったらデグレするだろ?既存のリンクはどうするんだ?というご心配については、ありがとう、でもほぼ問題ありません!が、答えです。

まず、新たに張っていただいたリンクについては、今までより改善します。つまりPCからもスマートフォンからも見ることができます。
またGoogleさんを始めとする既存のリンクについては、今までと同等です。つまりPCなどからは見られますが、スマートフォンからは見られない状態のままです。

何故かというと理由は2つ。1つ目は、既存のリンクのほぼ全てが「日記を表示」するためのリンクであることです。

2つ目は、ブログの動作にデフォルト値が存在することです。変更後のブログに、変更前のarg_action引数を指定すると単に無視されて、ブログの動作としては、デフォルト値である「日記の表示」が使われます。

なので細かい話をすると、コメント投稿とか、日記編集というリンクを張っていたサイトにとっては、今回の改修によりデグレすることになります。

他人のブログを編集するためのリンクを張るサイトは居ないだろう、という判断ですが、もし該当する方が居ましたら、お手数ですがリンク張りなおしていただければ幸いです。

編集者:すずき(2024/03/05 02:24)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月11日

日記システムにシンタックス・ハイライト導入

目次: 自宅サーバー

今まで、コードのキーワードやコメントの文字色の変更を、手作業でやっていましたが、いつも間違えるし、何より面倒くさくてやってられません。

巷のハイライトライブラリを使って自動化だ!ということで、highlight.js(公式サイトは背景の小豆色が目に厳しい)を導入しました。

導入

公式サイトのUsageリンクの先に説明があります。まずはダウンロードページから、highlight.jsとスタイルシート達をダウンロードします。

ダウンロードの際は、ハイライトしたい言語をチェックする必要があります。メジャーな言語には最初からチェックがついていますが、さらにハイライト対象にしたい言語があれば、追加でチェックを入れてください。

ダウンロードしたzipファイルを展開したら、自身のページに配置します。
以降の説明ではstyles内の *.cssをcss/highlightに置き、*.jsをscripts/highlightに配置した、と思って読んでください。

自身のページに、下記の三行を追加します。

highlight.jsの利用

<link rel="stylesheet" type="text/css" href="/css/highlight/vs.css">

<script type="text/javascript" src="/scripts/highlight/highlight.pack.js"></script>

<script type="text/javascript">hljs.initHighlightingOnLoad();</script>

CSSについては1つのテーマごとに1つのCSSファイルが作られていますから、お好きなテーマというかCSSを選んでください。

もちろんdefalut.cssを使っても、例に挙げたvs.css(VisualStudio風の色遣い)のままでも構わないです。この辺りは好き好きでどうぞ。

使用した感想

嬉しかったことは、特に言語を指定しなくても、それなりに推測して色を付けてくれることです。コードが短いと推測を間違うようですが、例え違う言語のハイライトだったとしても読み見やすさは格段にアップします。こりゃ便利です。

残念だったことは、行数表示がないことです。これは開発のポリシーによるもので、あえて実装していないし、するつもりもない(highlight.jsのドキュメントより)らしいので、そういうものだ、と思って諦めます。

編集者:すずき(2024/01/13 17:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月12日

ARMエミュレータをJavaアプレットで

目次: Linux

自作ARMエミュレータをJavaアプレットにして、ブラウザから実行できるようにしてみました。超暫定につき、とりあえず自宅サーバにのみ置いています。おそらくそのうち消えます。

セキュリティの警告やエラーが出て、アプレットが動かない場合は [コントロールパネル] - [Java] - [セキュリティ] タブ - [高] の設定を [中] にすると動くかもしれません。後で元の設定に戻すことをお忘れなきように…。

速度が遅いとか、GUIがダサいのはさておき、SeaMonkeyで実行すると3回くらいResetボタンを押すとハングします。リロードしても直らないし、どうもメモリリークしているようです。

どうしても動かなくなったら、タスクマネージャからjp2launcher.exeを探してKillした後に、ページをリロードすると再び動きました。

明らかにバグってるので直したいのですが、JDK付属のアプレットビューアだときちんとメモリが解放されるんですよね。差が良くわかりません…。

Javaアプレットとブラウザ

セキュリティの警告が出ないJavaアプレットを作成するには、シマンテックやジオトラストなどの認証機関からRSAセキュリティ証明書を発行してもらい、アプレットに署名しなければならないようです。

この証明書の維持費が異常に高くて、年数万円はザラです。企業が作成するならまだしも、個人で作成するにはJavaアプレットはコストが掛かりすぎます。

やってらんないぜー。

アプリケーションストア

安全のために、つまり悪意を持った第三者にアプリを書き換えられないように、アプリには信頼できる署名を入れましょう。という理屈はごもっともですが、そのコストを開発者側が負担するのは辛いものがあります。

署名が不要になるように、つまり悪意を持った第三者に書き換えられても安全を保てるように、アプリで使える機能を限定しましょう。とすると、今度は機能が全然足りなくてろくなアプリが作れず、やはり開発者には辛いものがあります。

コストの高い自由な環境orコストの低い不自由な環境、さあ、どっち?という究極の二択です。ま、どっちもイヤですよね。

30年くらい前だと思いますがNeXTの頭が切れる人達は、アプリケーションストアという仕組みを作りました。アプリ審査で悪意のあるアプリを弾き、プラットフォーム側がストレージと秘匿通信を提供することで、今まで開発者側が負担していた安全確保、流通のコストをプラットフォーム側で肩代わりしました。

アプリケーションストアの登場により、開発者は「コストの低い自由」を手にすることができたのです。素敵ですね〜。

アプリケーションストアは、今やスマートフォンにはなくてはならない存在となっています。プラットフォームを作るってのはこういうことなんでしょうね。

編集者:すずき(2024/03/05 02:28)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月13日

PukiWikiの代わり - MediaWikiを試す

目次: 自宅サーバー

Wikipediaでお馴染みのMediaWikiを使ってみました。インストールは非常に親切で、わかりやすいです。これは良いです。

データベースのセットアップが面倒くさかったので、データベースドライバにはSQLiteを選択してセットアップしました。

tar xzvf mediawiki-1.23.3.tar.gz
tarballを展開します。
ブラウザでindex.phpにアクセス
セットアップが終わっていないとヒマワリ?の画とともにLocalSettings.php not found. と言われますので、その下にあるcomplete the installationリンクをクリックします。
ブラウザでmw-config/index.phpにアクセス(リンク先がここ)
勝手にチェックしてくれます。問題があると「警告」という句が出ます。私の環境では、下記の3つの警告(データベース、キャッシュ機構、Unicode正規化ライブラリ)が出ました。
  • 適切なデータベース ドライバーが見つかりませんでした!
  • 警告: APC、XCache、WinCacheのいずれも見つかりませんでした。
  • 警告: Unicode正規化の処理にintl PECL拡張機能を利用できないため、処理が遅いピュアPHPの実装を代わりに使用しています。
SQLiteとPECL intlとAlternative PHP Cacheのインストール
Debianならapt-get install php5-sqlite php-apc php5-intlとして、インストールします。
もう一度mw-config/index.php
怒られなくなっていればOKです。次へ。
SQLiteのデータベース用ディレクトリ
私の場合はpublic_htmlと横並びにsqlite_databaseディレクトリという適当なディレクトリを作って置きました。
何故そうするのかは、ヘルプが丁寧なのでわかると思います…。
その後
基本的には、はいはい言っておけば、悪いようにはされませんが、「利用者権限のプロファイル:」の誰が編集できるか?と、「著作権とライセンス:」のWikiに載せた文書のライセンスをどうするか?だけはちゃんと設定した方が良いと思います。

簡単ですね。強いて言えばPukiWikiを既に動かしていた環境なので、PHPを動かすまでのハードルが無かった、というのは大きいと思いますが、それを差し引いて考えてもMoinMoinに比べて格段に親切です。

使ってみた感想

さすがWikipediaの根幹を成すシステムです。ショボい自宅サーバ(Atom D2700)にも関わらず、表示も編集も速いです。

機能面に不満はないですが、個人のメモ帳として使うには、やや大げさすぎる感はあります。トークや議論のような機能はWikipediaのように、大人数で編集しあうサイト向けで、個人利用だと全く使いません。

あ、それとね…見た目のカスタマイズは必須だと思います。デフォルトだとWikipediaそっくりの見た目になっちゃうので、ぱっと見で混乱しそうです。

編集者:すずき(2024/01/13 17:12)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2014年9月5日 >>> 2014年9月14日
link もっと後

管理用メニュー

link 記事を新規作成

<2014>
<<<09>>>
-123456
78910111213
14151617181920
21222324252627
282930----

最近のコメント5件

  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」

最近の記事3件

  • link 24年10月28日
    すずき (10/30 23:49)
    「[Linuxからリモートデスクトップ] 目次: Linux開発用のLinuxマシンの画面を見るにはいろいろな手段がありますが、...」
  • link 23年4月10日
    すずき (10/30 23:46)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年10月24日
    すずき (10/25 02:35)
    「[ONKYOからM-AUDIOのUSB DACへ] 目次: PCかれこれ10年以上(2013年3月16日の日記参照)活躍してく...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 10/30 23:49