トップ(最新)

nDiki : SSI

SSI - Server Side Includes

HTML ページ中に含まれている SSI ディレクティブを処理して動的にコンテンツを生成する Web サーバの機能。

関連情報

スポンサード リンク

Related term

1999年1月31日 (日)

本日誌ページ用 m4 マクロを作成 このエントリーを含むはてなブックマーク

本日誌を始めて、13日目。やっと本日誌ページ用 m4 マクロを作成した。

私の Web ページ (http://www.j.dendai.ac.jp/~naney/以下) はm4 を利用して作成している。 m4 はマクロプロセッサである。 主に何に利用しているかというと、ヘッダやフッタなどの定型的な部分の生成などである。 ヘッダやフッタなどをマクロ化し、各ページでパラメータを指定して展開させることで、それぞれにあったものを生成する。 利点としては、例えばヘッダの形式を変えたい場合にマクロを書き換えることで、全ページを変更することができることなどがある。 SSI による include では各ページ固有の情報などのパラメータ部分がうまく扱えない。 ちなみに m4 ページの処理は、AutoconfAutomake を利用して、./configure; make; make install; で一発で済むようにしている。

前置きがながくなった。もちろんこのページのヘッダやフッタなどもマクロ展開で行っていたのだが、ナビゲーションの [Prev Day]、 [Next Day] などは毎日手でリンクを張っていた(実際には前日のものをコピーして書き換え)。 これは面倒だし、間違えもおきやすいので、この部分を処理するマクロを本日作成した。 まだあまりチェックしていないので、もしかしたらうまくリンクがつながらないかもしれない。

次はキーワードインデックス部分と、記事別ナビゲーション(似ている内容の記事ごとの、Prev、Next のリンク) の生成を自動化したいが、これは m4 だけではかなり辛いか(できるとは思うが)。

スポンサード リンク


[ 1月31日全て ]

2000年11月5日 (日)

本サイトの Referer 統計復活 このエントリーを含むはてなブックマーク

以前のサーバでは Apache で combined 形式のアクセスログをとっていて、Referer (リンク元)の統計をとっていたんだけれども、今のサーバでは Referer log が提供されていない (common 形式の提供)。

なもんで、しばらく Referer のない淋しい統計生活だったのであった。 で、今日 SSI でめでたく復活。 とりあえずちょちょっと作って実験中。 ログの出力を Apache の combined 形式と同じ形式にしたので、analog がそのまま使える(統計スクリプトの手間も省けるというもんだ)。 もっとも、combined に必要なフィールドの全ての情報が SSI では取得できない(ような)のでそこら辺は適当(適切)に埋めておいてある。

ついでに cookie による統計も実験してみようかなと思ったがサーバでは mod_usertrack が disable だった。 自前で cookie を焼くとなると、全ページを隠れCGI処理しなきゃならないので面倒だ(昔別のサーバ上でやってたけど)。 IMG でお茶を濁す方法もあるけど、なんなので cookie は見送り。


[ 11月5日全て ]

2001年9月19日 (水)

[ www.naney.org ] 12:30 98019KB このエントリーを含むはてなブックマーク

気がついたら、ずいぶん埋まってた。 容量 100MBだから、整理しなくては。

@ SSI によるアクセスログ

26MBも食ってた。 きちんと rotate するようにしなければ、あかんな。


[ 9月19日全て ]

2001年12月5日 (水)

[ Java ] 22:30 Cocoon2 はどうかな? このエントリーを含むはてなブックマーク

最近、本サイトの生成フレームワークを一新すべく模索中(現在は XML + 自作 Perl スクリプト)。 今の最有力候補は XML + Ant + Xalan。 他にいろいろ見ていたら、Cocoon 2 はどうかなと。 XML から XSLT 他を用いて HTML とか WML とかを生成する server application なんだけど、ローカルで立ちあげて Wget とかでローカルに静的なファイルとして落とせば、それをサーバに置けるんじゃないかなぁ。 すぐ思いつく問題は、

  • 「make 的(必要なファイルのみの)更新」(毎回すべて更新されるとサーバへのアップロードで困る)、
  • SSI がちょい面倒?」(Coccoon 2 では処理しないでそのまま出力させる)、

「コンテントネゴシエーションまわり」(en, と ja を別々のファイル名できちんととりだせるか)

等々。ドキュメントだけ静的にアーカイブしたものとかあるから、静的なファイルに落とせるんだろうなとは思いつつ。 とりあえず、インストール。 まず先に Tomcat

 cd /usr/local
 tar zxvf jakarta-tomcat-4.0.1.tar.gz

次 Cocoon 2

 cd /usr/local
 tar zxvf cocoon-2.0-bin.tar.gz
 cp /usr/local/cocoon-2.0/cocoon.war /usr/local/jakarta-tomcat-4.0.1/webapps/

Tomcat がデフォルトで 8080 ポートをつかうのだが WWWOFFLE が既に使っている。 Tomcat の方をずらすより、WWWOFFLE の変更の方が勝手がわかるのでそちらをずらす。 で

 /usr/local/jakarta-tomcat-4.0.1/bin/startup.sh

で起動。http://localhost:8080/cocoon/ に Galeon でアクセス。 一発目は非常に遅い。他のページも一度目は閲覧は遅いがキャッシュが効くので次からはそれほどでもない。

とりあえず、ドキュメントを読んでいろいろ調査。


[ 12月5日全て ]

2003年10月24日 (金)

大学院時代の友人から TEL このエントリーを含むはてなブックマーク

久しぶりに、TSUCHIYA君からTEL。 PHP + SSI について。PHP最後に使ったのってもう数年前だな。残念ながらお役に立てず。

メーリングリストで立ち消えになったOFF会のことが話題になった。 やっぱり、年内に1回ぐらいやっておきたいところ。


[ 10月24日全て ]

2003年11月27日 (木)

SpeedyCGI環境変数 このエントリーを含むはてなブックマーク

アクセスログSSI が使用しているモジュールで REQUEST_URIHTTP_REFERER、 HTTP_USER_AGENT 環境変数がうまく取れていなない事があるのを発見。

ログをみると取れている時と、取れていない時がある。 何だろう。 でよくよく調べてみたら、SSI では問題なくて同じモジュールを Wiki で使っている時に失敗している模様。

よくわからないが、SpeedyCGI 関連の問題かもと思い main スクリプト上での呼び出し位置を修正したら直った。 呼び出し順に依存するのかなぁ。

あっ、そういえばモジュールのバグ混入(同環境変数を取得後のエスケープ処理で誤って空にしてしまうバグ)とその修正を今し方したのだが、SpeedyCGI がそのバグのある時点のモジュールをロードして動き続けていただけかも。 で、main スクリプトを修正したら SpeedyCGI がそれを検知して Wiki を re-execute したため今度は修正後のモジュールがロードされたため正しい挙動になったと(main スクリプトの修正内容は関係なく、touch された事自体が問題を解決した)。

多分。


[ 11月27日全て ]

2004年5月21日 (金)

AWStats 6.0 このエントリーを含むはてなブックマーク

www.naney.orgアクセスログをローカルにもってきて統計解析をするのに、今回は analog ではなく AWStats を使うことに。

以前 www.naney.org に入れてみた時より、随分使いやすくなった感じ。

@ セットアップ

Debian パッケージを入れた後、awstats.naney.org というバーチャルドメインをローカルのApacheに用意(/var/www/awstats.naney.org)。

 Alias /icon/ "/usr/share/awstats/icon/"

も設定に追加しておく。

ファイルレイアウト:

 /var/www/awstats.naney.org/
  |
  +-- .htaccess
  |
  +-- awstats.conf  <-- 作成
  |
  +-- awstats.pl    <-- コピーしてきて一部修正
  |
  +-- cache         <-- DNSキャッシュ用 (まだ未使用)
  |
  +-- data          <-- データを保存
  |
  +-- plugins       <-- プラグイン
       |
       +-- wikicker.pm <-- /wiki/(.*).html を $1 で表示するプラグイン(自作)

awstats.pl はパッケージのものをコピー。DecodeEncodedString の中で Jcode.pm を使って文字列を UTF-8 に変換するように修正。

ローカル用なのであまり気にせず DocumentRoot の下にもりっとファイルを置いておく。

awstats.conf はこんな感じ。

 LogFile="/path/to/downloaded-log/access.log"
 LogType=W
 LogFormat=1
 LogSeparator=" "
 DNSLookup=2
 DirData="./data"
 SiteDomain="www.naney.org"
 HostAliases="localhost"
 DNSStaticCacheFile="cache/dnscache.txt"
 DNSLastUpdateCacheFile="cache/dnscachelastupdate.txt"
 URLWithQuery=1
 URLReferrerWithQuery=1
 LevelForWormsDetection=2
 ShowWormsStats=1
 LoadPlugin="wikicker"
 ValidHTTPCodes="200 304 -"

ValidHTTPCodes の '-' というのは、本来不要。自前のSSIで似非 Combined Log を生成する際に '-' を出力する事があるので追加。

日本語もきちんと出るしいい感じ。 指定した月ではなく、指定した日のログを見れるといいのだが設定すればできるようにならないかな。

analog と違ってプラグインが使えるのが良い。 Perlスクリプトだから、その気になれば簡単に awstats.pl 自体を変更する事もできるし。

今回は ShowInfoURL 用プラグインを書いて、/wiki 以下のURLの際は unescape して PageName を表示するようにしてみた。

その他いろいろ遊べそう。


[ 5月21日全て ]

2004年11月10日 (水)

Perl 5.005_03 + Template Toolkit 2.14 このエントリーを含むはてなブックマーク

www.naney.org の静的(+SSI)ページを、Template Toolkit で動的処理するように改良しようかなと思い立つ。 Apache だと、

 Action tt2 /cgi-bin/t2h
 AddHandler tt2 .html

で .html へのリクエストを全てCGI プログラムに渡す(でそのスクリプトがテンプレート処理をして返す)ようにできる(はず)。

で久しぶりに Template Toolkit をサーバにインストール。 … Makefile.PL が通らない。ちょっと修正して通るようにしても今度は make test が通らない。最新の Template Toolkit だと 5.005_03 じゃ駄目か。ドキュメントには 5.005 で OK と書いてあるんだけどな。 前のバージョンは動いたのに。

ということでいきなり頓挫。 あきらめ。


[ 11月10日全て ]

Related web page

404 Blog Not Found:perl - no encoding; # whenever possible
うーん、これ、かなり5.8 portersの想定の範囲外の使われ方だったのですね。 Time to ditch encoding.pm: blog.bulknews.netPerl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、
http://blog.livedoor.jp/dankogai/archives/50857509.html
Passion For The Future: 仕事中でも隠れてネットサーフィンできるWebブラウザー Ghostzilla
・Ghostzilla - the invisible browser http://www.ghostzilla.com/ メールソフトの一部がWebブラウザーに変身している図。クリックすると拡大。 ボスが近くに来てもMixiや2ちゃんねるを読んでいるとはバれないようにするための擬態ブラウザー。あらゆるアプリの画面の一部を、モノクロの地味なWebブラウザーにしてしまう。エディタや表計算ソフトや業務アプリを擬態させていれば、なにかちゃ
http://www.ringolab.com/note/daiya/archives/004827.html
Passion For The Future: 同一または類似の画像を見つけるSimiPix
http://www.ringolab.com/note/daiya/archives/004821.html
Passion For The Future: 圧縮ファイルのパスワードを解読するPikazip
・Pika Zip http://www.vector.co.jp/soft/win95/util/se078535.html パスワード付の圧縮ファイルは、メール添付でファイルをやりとりする際に、よく使われていると思う。こうしたファイルをメールと別に管理して年月が経過してしまうと、パスワードがわからないものがでてくる。 このPikazipはZip,Rarアーカイブの忘れてしまったパスワードを検索するフリーソフト。文字列の組み合わせを総当た
http://www.ringolab.com/note/daiya/archives/004822.html
Passion For The Future: スピリチュアルにハマる人、ハマらない人
・スピリチュアルにハマる人、ハマらない人 精神科医の香山リカが書いたスピリチュアルブーム論。特に人気のスピリチュアルカウンセラー江原啓之の人気の分析が詳しい。江原啓之の著作は書店で平積みだしテレビでも顔をよく見る。立ち読みしてもよくわからず、何者だろうと気になっていた。 ・江原啓之 この人だ。 スピリチュアルのリーダーは胡散臭さ、怪しさをどう払
http://www.ringolab.com/note/daiya/archives/004815.html
PCRE - Perl Compatible Regular Expressions
The PCRE library is a set of functions that implement regular expre<strong>ssi</strong>on pattern matching using the same syntax and semantics as Perl&nbsp;5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expre<strong>ssi</strong>on API. The PCRE library is free, even for building commercial software.
http://www.pcre.org/
Passion For The Future: パーソナルナレッジベース、新しいデスクトップ操作方法、紙2001
パーソナルナレッジベース
http://www.ringolab.com/note/daiya/archives/000310.html
Passion For The Future: ロゴ・イラスト系ビットマップ画像の拡大処理ツール MugenViewer
MugenViewerはグラデーションを含むロゴ、イラスト等のビットマップ画像を、独自のアルゴリズムで、無限に滑らかに拡大表示できるツールである。ビットマップ画像は拡大するとぼやけてしまう。そもそもオリジナル画像に情報がないからだ。MugenViewerはその細部を自動的に、適当に補完する。あたかもベクター画像であるかのように、文字やイラストの輪郭をなめらかに表示する
http://www.ringolab.com/note/daiya/archives/004725.html
Open Tech Press | GNU GPLv3 Discussion Draft 1 日本語訳
Copyright (C) 2006 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. (訳: 本契約書の内容を、逐語的に複写し頒布することは許可する。しかし変更は認めない。) This is an unofficial translation of the GNU General Public License into Japanese. It was not published by the Free Software Foundation, and does not legally
http://opentechpress.jp/article.pl?sid=06/09/05/195246&from=rss
Passion For The Future: 知的複眼思考法―誰でも持っている創造力のスイッチ
「 1 複眼思考とは、ありきたりの常識や紋切り型の考え方にとらわれずに、ものごとを考えていく方法のこと。 2 常識にとらわれないためには、何よりも、ステレオタイプから抜け出して、それを相対化する視点を持つことが重要。 3 知識も大切だが、「正解」がどこかにあるという発想からは複眼思考は生まれない。」 全国3万人の大学生が選んだ「ベストティーチャー」が
http://www.ringolab.com/note/daiya/archives/004717.html

■よく検索されるキーワード

torrent(142) expressions(72) 書き方(46) 竹内まりや(46) perl(42) 提案書(38) linux(38) windows(36) アジェンダ(34) x31(32) cvs(28) wiki(27) usb(26) ドラマ(22) 使い方(20) svn(20) アジェンダとは(20) centos(20) ganttproject(20) 設定(19) java(19) インストール(18) 秋葉原(18) debian(18) thinkpad(18) サンプル(18) 動画(17) ノート(15) 手帳(13) a6(13) truecrypt(13) tc-1(13) tortoisesvn(13) 無印(12) ssh(12) rcs(12) subversion(12) 冷蔵庫(12) nikon(12) allinanchor:*.torrent(12) firefox(11) ガントチャート(11) 画像(11) 日本語(11) 生年月日(11) apache(11) メール(11) ダイソー(10) 無料(10) 壁紙(10) リフィル(10) ubuntu(10) 作り方(10) dropbox(10) c#(9) xp(9) oracle(9) xampp(9) terastation(8) 方眼(8) マイク(8) ヨドバシカメラ(8) テンプレート(8) ほぼ日(8) cwrsync(8) google(8) ming(8) 評判(8) 影舞(8) madwifi(8) アカウント(8) window(8) usbメモリ(8) gantt(8) project(7) 三条まゆみ(7) hdd(7) 変換(7) カバー(7) 交換(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.503785s / load averages: 1.56, 1.19, 0.86
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)