2007年11月アーカイブ
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 |
VMWare で試験的に構築してきた Etch 環境ですが、ほぼ満足がいくレベルになってきたので、このあたりで切り上げて「本番」である OpenBlockS の更新にかかりたいと思います。
段取りとしては、
(1) OpenBlockS の更新に必要なファイルをダウンロードしておく
(2) OpenBlockS をネットから切り離す
(3) VMWare の環境を IP アドレスを変更して、一時的に代替に供する
(4) OpenBlockS の OS を更新 (再インストール)
(5) 設定作業
(6) VMWare 環境の IP アドレスを変更して、代替を解除
(7) OpenBlockS の IP を変更して、本番復帰
といった順番で行っていく感じです。
代替の VMWare は、ノート PC で動いているので、できれば (2) ~ (7) は 1 日程度で完了させることを目標にします、
作業は、以下のドキュメントを適当にアレンジしながら進めれば問題なさそうです。
ftp://ftp.plathome.co.jp/pub/OpenBlockS266/misc/plathome/etch-powerpc-obs266-YYYYMMDD-SS.txt
このサーバには、身内の連絡用途で IRC サーバを立ち上げてあります。
あまり活用はしていないのですが、せっかくなので、これも Etch に持っていくことにします。
Sarge のときには、IRCNET-JP の IRCサーバソフトウェアから irc2.10.3p7+hemp2+jp6 を入れていたので、そのときのソースをそのまま利用することにします。
同じソースで同じ設定でよいのだから、前回やったことを思い出せれば楽勝・・・と思ったら、甘かったです。(^^;;;;;
まぁ順を追って書くと、
ソースを展開して、configure。ここまでは問題なし。次に、config.h を編集する訳ですが、前回は変更点をメモしていなかったので、前回のビルドしたときのディレクトリと新規に展開したディレクトリの diff を取って確認します。
変更点はこんな感じ。
#undef OPER_SET #undef SPLIT_HANDLE #define SPLIT_SERV 1 #define SPLIT_USERS 1 #undef DELAY_ACCEPT
終わったら、make all でコンパイルします・・・
う。なんかエラーが出ます。Sarge では問題なかったので Etch で gcc 4.1.2 に変わった関係でしょうか。このまま諦めるのも癪なので修正をかけてなんとかしてみます・・・
結構大変ですが、なんとかコンパイルは通り・・・あれ?リンクでもエラーが出ます。(;_;)
メッセージを見ると、数学関係の関数でエラーになっているようなので、Makefile を編集して libm を追加してみます。
LIBS = -lnsl -lcrypt -lm
再コンパイル・・・正常終了しました。OK。
make install して、ircd.conf を、旧サーバからコピー、起動します。
PC から CHOCOA を起動して繋いでみます。まぁ基本的なところでは問題ないようです。
同じことを本番でもう一回する必要があるので、今回の変更点を patch にしておきます。
diff -crN ../tmp/irc2.10.3p7+hemp2+jp6/ircd ircd > ../ircd.patch
# 適当なものでも、パッチが欲しいひとは こちら
スタイルのカスタマイズができたので、続いてテンプレート本体にかかりたいと思います。
旧バージョンからは構成もガラっと変わっているようなので、まずは標準構成の解析と把握を行う必要がありますが、いちいちブラウザの編集画面を開いていては効率が悪いので、ファイルとのリンクを設定して、コマンドラインから直接参照できるようにしておきます。
終わったらテンプレートを確認していきます・・・
「メインページ」これがトップのようです。で、「アーカイブインデックス」と、アーカイブテンプレートの方にある「ウェブページ」と「ブログ記事」あたりを弄ればいいようです。
が、構成部品がモジュールに分離されたせいで、ぱっと見は非常にシンプルになっています。実体は、モジュールの方を読まないと把握できないので、ちょっと面倒ですが、複数のテンプレートで共通するような箇所を部品化できるのなら歓迎するべきでしょう。
まず、ヘッダーとフッターというモジュールを見てみます・・・
この2つは、なんか単純に各ページのメイン部分より前と後を、それぞれブツ切にしたもののようです。個人的にはファイル内でタグの対応が完結しないような切り方は感心しないのですが、まぁ単純な include しかないのならとりあえず仕方がないのでしょう。
将来的には Mayaa みたいに レイアウト部分を共通化する方向に進んで欲しいものです。
では、手始めにサイドバーから編集してみることにします。「サイドバー (2カラム)」を編集すればいいようです。このレベルになれば、旧版と (やってることは) そんなに変わらないので、旧版のときと同じ要領で編集します。最終的にはサイドバーは分離して SSI で読み込むようにしたいのですが、とりあえず後回しにします。
実はサイドバーの内容は、画面からも「ウィジェット」として編集できるようですが、始めたときは気づかなかったので、直接手で編集してしまいました。(^^;;;;;;;;;;;;;;
次は、アーカイブインデックス。旧版ではかなりシンプルな内容だったのでカスタマイズし甲斐があったのですが、今回はデフォルトでも結構良い感じです。 MT4 では、カテゴリ一覧がこっちに追加されているようなので、旧版でトップに追加していたカテゴリ情報をこっちに持ってきます。
次は、月別アーカイブとカテゴリアーカイブなのですが、これはデフォルトのテンプレートでは、「ブログ記事リスト」でアーカイブマッピングを2つ作成することで月別とカテゴリの両方を生成しているようです。このやり方は踏襲するとして、さらに旧版でのカスタマイズのように、記事先頭の一部を切り出して並べた概要の一覧も、このテンプレートを元に作成して追加することにします。カスタマイズとしては、パンくずリストや、カテゴリの説明、カレンダーなどを追加することにします。
続いて個別の記事ページですが、アーカイブテンプレート一覧を見るとそれっぽいテンプレートとして「ウェブページ」と「ブログ記事」の2つのテンプレートがあります。たぶん「ブログ記事」の方をカスタムすればいいと思うのですが、では「ウェブページ」は何に使うのでしょう・・・
ちょっと調べてみます・・・ウェブサイトを管理する『ブログ』と『ウェブページ』の使い分け・・・
ふむ。どうやらブログと共通したデザインで静的ページを置くための仕組みのようです。まぁ、ブログとしてしか使わなければ関係なしということでしょうか。
カスタマイズ自体は小幅で、ナビゲーションをいくつか追加するだけです。
最後に、メニューと個別ページのカテゴリ新着を SSI で読み込ませるようにします。
SSI で読み込む部分は、MT 的には普通のページと同じなので、メニューは「メインページ」を、カテゴリ新着は「ブログ記事リスト」をベースに作ることにします。
で、メニュー本体はモジュールに分けられているのですが、SSI ではもう少し根元から切り出すことにします。
フッターの <MTIf name="page_layout・・・の部分を切り出して、メインページ冒頭にある MTSetVar を適当に調整します。
・・・ん? page_layout 変数が、設定されないようです。メインページ決めうちで限定なのでしょうか・・・
まぁ2カラムから変更する気はないので、MTSetVar を追加してごまかします。(^^;;;;




最近のコメント
森小路による
このブログのアクセス状況は...へのコメント
RxOrcaによる
このブログのアクセス状況は...へのコメント
森小路による
XUL Window初表示へのコメント
最近のコメントを表示...