|
About this page
カテゴリー Site Managementに属する記事の一覧ページです。
現在このカテゴリーには40本の記事があります。 カテゴリー Site Managementの説明: サイト運営について、やったことやヒント。インストール猫とか、プログラミング犬とか。 Latest 5 Entries
サーバの移行 -- G3からMacMiniへ日付の上ではGWが終わってしまいましたが、この休みを利用して何とか新サーバに移行することができました。この記事を書いている現在はもう新サーバ上でこのサイトは稼働しています。まだまだ試験運用中ですので、不具合等があったらご指摘いただけると助かります。 詳細な(かつ、ほとんどの方には必要でない)技術情報については、また個別の記事にしようと思いますが、ここまでの作業工程を箇条書きにしておこうと思います。
全て終わった現在から見ると、たいした作業量でないように見えますが、色々と躓きつつ進んでいるので時間はかなりかかりました。そしてまた一段とMacOSXという一般的ではないものについて詳しくなりました(笑) apache2 + mod_perl2 + mod_ruby + mod_ssl + mod_dav最近もっぱらサーバの移行作業を行っています。というのも、今年で6年目になる現役サーバ(PowerMac G3 350MHz + MacOSX 10.2.8)のHDDがいつお亡くなりになるかわからず、はらはらドキドキの毎日が続いているからです。バックアップはこまめに取っているのでデータ消失の心配はひとまずないのですが、サーバが一時的にでも落ちるとこのサイトの休止をはじめとして、複数の拠点のデータ共有ができなかったり、と大損失になります。ということで最近は時間を見繕って、新サーバ用に購入したMac Mini(MacOSX 10.5.2 + Intel Core2 Duo 1.83GHz)への移行作業をできるかぎり早く進めています。 新サーバとなるMac Miniでは、メモリの増強(1G -> 2G)とHDDの換装(24時間稼働を想定したサーバ用HDDへ変更)を、過去記事で紹介した分解ヘラを利用して完了してあります。またソフトについても これまで旧サーバではapache1.3+mod_perl+mod_ruby+mod_ssl+mod_dav(dav以外の拡張モジュールはビルトイン、davはDSO)という構成をとっていましたが、新サーバでもできるだけ同じ構成でいこうと思います。パッケージを導入すれば簡単だと思いますが、ここでは向学のために野良ビルドをしました。以下、ひたすらコマンドが並びます。 続きをどうぞ。 そろそろ50万ヒット + 記念品このサイトをはじめてから早5年が経過しましたが、お蔭様で右上のカウンタが50万を超えそうです。今まで読んでくださった方、どうもありがとうございました。実はある程度の数を回った時点でこのサイトを閉鎖しようかと思っています。そろそろいい区切りではないかと。 続きを読む "そろそろ50万ヒット + 記念品"MacOSX(10.5) launchdMac miniでサーバをしようと内部を分解したりしていましたが、最近は様々なサーバ系ソフトのインストールに追われています。世の中便利なパッケージがあるようですが、やはりトラブルの際には色々とわかっていたほうがよいと思うので、『漢は黙ってソースからインストール』(笑)を選択しています。現在のところ、プロキシ(squid-cache)とデータベース(PostgreSQL)のインストールが完了しました。その過程で、MacOSXの起動時の挙動がかなり変更されていてサービスを自動起動するのに戸惑ったので、そのことを記事にしたいと思います。 長くなりそうなので、メインページから来られた方は続きをどうぞ。 はてなスターのカスタマイズ設置はてなスターというWeb拍手(気に入ったらボタンぽちっとな)のような機能が面白そうなので、このサイトでも設置してみました。今回はその設置に関する技術的なお話です。 このはてなスターですが、JavaScriptをテンプレートに貼り付けることによって実現されています。設置はMovableTypeなどの普通のブログなら解説サイトにあるように <script type="text/javascript" src="http://s.hatena.com/js/HatenaStar.js"></script>
とすればよいようですが、デフォルトではhtmlのh3タグ内に記事のタイトル、ならびにその中のaタグに記事への固定リンク(permalink)があることが前提となっているようです。HTMLで書くと、 <h3><a href="(固定リンク)">(記事のタイトル)</a>
のようになっていることが想定されています。少しタグの構造が異なる人でも、『観測気球』での解説にあるように、ちょっとしたスクリプトを加えることで対応可能です。例えばこのような構造がtitleというclass属性がついたh2タグで実現されている場合は <script type="text/javascript">
Hatena.Star.EntryLoader.headerTagAndClassName = ['h2','title']; </script> というような具合で対応できるようです。 しかしながら、このサイトは原型をとどめないほどテンプレートが改造されてしまっているので、上記のような簡単なカスタマイズだけでは対応できませんでした。特にタイトルにaタグでリンクをつけるのは個人的には好きでないので、例によって元のスクリプトを解析してみました。その結果、現在は以下のようなスクリプトではてなスターに対応しています。 <script type="text/javascript">
Hatena.Star.EntryLoader.loadEntries = function () { var entries = new Array; var headers = Ten.DOM.getElementsByTagAndClassName('h2','title',document); var permalinks = Ten.DOM.getElementsByTagAndClassName('div','posted',document); for (var i = 0; i < headers.length; i++) { var sc = Hatena.Star.EntryLoader.createStarContainer(); var cc = Hatena.Star.EntryLoader.createCommentContainer(); headers[i].appendChild(sc); headers[i].appendChild(cc); entries.push({ uri: permalinks[i].getElementsByTagName('a')[0].href, title: Ten.DOM.scrapeText(headers[i]), star_container: sc, comment_container: cc }); } return entries; }; </script> このサイトではタイトルはh2タグの中に納まっています。また記事への固定リンク(permalink)は別のところでpostedというclass属性がついたdivタグの中に収納されています。そこで上記のようなスクリプトで、はてなスター側に記事とURLの一覧を教えてあげることで、うまく動作することができました。 ※はてスタT欲しい 第2弾に応募してみます。 Old Entries @ Site Management
| |