Debian ウェブサイトのミラー


ウェブミラーのリスト

以下の国に Debian WWW ページのミラーがあります:

このリストにあなたの国がなく、ミラーを提供したい場合は知らせてください。 あなたの国がリストにあれば、恐らく新しいミラーは必要ありません。 基本的に新しい Debian ウェブサイトのミラーは勧めていません

どうしてウェブミラーがこれ以上要らないのか

ウェブミラーは管理が必要で (Apache の設定ファイルをたまに変更する必要があったりして、FTP サイトのミラーより手間がかかります)、提供者のリソースに負担がかかります。 ただ、頻繁にダウンロードする必要もなく非常に小さいので 2kbps や 30kbps 増えても大して気にも留めることもないというウェブページの特徴から、 多くのウェブサイトミラーがあることが果たして有益なのかという疑問が出てきました。

世界のインターネット回線が速くなかった頃、例えば他の大陸から www.debian.org を取得するのは苦痛で、標準的なモデムよりはるかに遅い状態でした。 そこでミラーを組織し、ウェブサイトミラーをいくつか作りました。 そのうちの 10 (トルコを入れるなら 11) はヨーロッパにあります。

しかし、現在は特にヨーロッパで高速なネットワークリンクを得て、 それほど多くのミラーはほとんど必要なくなりました。事実、 ヨーロッパ-アメリカ間のネットワークリンクの高速化により、ヨーロッパから www.debian.org にアクセスしても遅くなくなりました。

これが基本的にウェブサイトミラーをこれ以上必要としない理由です。 特に、既にミラーがある大陸においては。私たちの意思を尊重してください。 ご協力に感謝します。

何か疑問があれば、mirrors@debian.org にメールを送ってください。


既存のミラーのための参考

ここから後の情報は、 既存のミラーの管理者に対する参考のためだけにあります。

ミラー作業

推奨するミラー方法は rsync です。ウェブサイトのファイルに対する匿名アクセスはありません。 ミラー元サイトの管理者に相談して、認証付きでアクセスさせることができます。mirrors@debian.orgにメールを送ってください。

ミラー作業は取得 (pull)、つまりクライアント側が都合に合わせてサーバ側に要求します。 この構築には、websync スクリプト及びその設定ファイルを使用して、crontab から実行させることができ、また、すべて自動的に行います。 スクリプト内の指示に従って、正常に動作するようにしてください。

push ミラーからのミラー作業

push ミラーによるミラー作業は私たちが開発した、rsync を使ってアーカイブへの変更がミラーに行き渡るまでの時間を最小にとどめる方法です。 ミラーのサーバが ssh を使ってミラーのクライアントに更新を開始させます。

この方法では、ssh はただ一つのコマンドだけを実行するように設定するのでまったく安全です。 さらに、ミラー作業はあくまで取得 (pull)するもので、偽の push ミラーがアーカイブの内容を汚染することができるというものではありません。 この方法のミラー作業によって侵入されるかもしれないと心配して消極的になるミラー管理者もいますが、 これは単なる勘違いです。

この仕組みについて、さらに突っ込んだ説明や、どうして安全なのか、 push ミラーの構築方法については、完全な説明を参照してください。

ミラーする時間

メインのサイトは大体 4 時間ごとに更新されます。

注: あなたのサイトが push 機構を採用する場合にはこの項目はまったく気にする必要がありません。 そうでない場合は、ウェブサイトミラーの /mirror/timestamps/ ディレクトリにあるタイムスタンプファイルの日付を見てミラー作業の時間を確認してください。 これにいくらか、例えば 30 分加えた時間からミラーしてください。

毎日のミラー作業を自動化するのに最も簡単なのは cron です。 詳細は man crontab してください。

ミラー提供者の広告

望むなら、あなたの会社または組織の (控え目な) ロゴで sponsor_img.jpg の画像を置き換えて、sponsor.html をあなたのホームページにリダイレクトするようにできます。 デフォルトでは、これらの両方のファイルはミラーされません。デフォルトファイルは sponsor.deb.html および sponsor.deb.jpg という名前です。 これらのデフォルトファイルを使うこともできますが、あなた自身の画像を用意することをお勧めします。 ロゴの最大サイズは 120x60 ピクセルにしておくことを推奨します。

ウェブページの適切な言語を選択するのに content negotiation (内容交渉) を使用しているので、異なる言語の sponsor.html を置くこともできます。これは単純に置きたい <言語> それぞれの sponsor.<言語>.html を置くだけです。

上書きさせたくないファイルはミラー処理の除外リストに追加してください。

ウェブサーバの設定

ウェブサーバへの変更

もしあなたのミラーが Debian で運用される場合、Debian の方針を曲げて /doc をウェブページに使用することになります。その場合はつまり、 /etc/apache/srm.conf ファイルの Alias /doc/ /usr/share/doc/ という行をコメントアウトすべきだということになります。

注意: CGI スクリプトはすべて中心の cgi.debian.org で動くのでこの点については気にする必要はありません。

content negotiation (内容交渉)

content negotiation (内容交渉) はサーバが返す文書の種類をブラウザに選択させる方法です。 これの使い方にもいろいろありますが、 最も一般的なのはどの言語の文書を返すべきかを選択させることです。これを使うことで、 Debian は (技術的に) 非常に的確な方法で複数の言語のページを返すことができます。

Apache を使っている場合は概ね簡単な変更で済みます。 単純にこのオプション:

Options +Multiviews

/etc/apache/access.conf ファイルの Debian ウェブページの <Directory> セクションに追加してサーバを再起動するだけです。

さらに、ウェブサイト上にある言語をすべて適切に処理できるようにする必要があります。 これには AddLanguage タグを使ってください。 既に使用されている言語のリストを以下に挙げます - さらに増やせることを期待しつつ:

  AddLanguage en .en
  AddLanguage ar .ar
  AddLanguage bg .bg
  AddLanguage ca .ca
  AddLanguage cs .cs
  AddLanguage da .da
  AddLanguage de .de
  AddLanguage el .el
  AddLanguage eo .eo
  AddLanguage es .es
  AddLanguage fa .fa
  AddLanguage fi .fi
  AddLanguage fr .fr
  AddLanguage he .he
  AddLanguage hr .hr
  AddLanguage hu .hu
  AddLanguage hy .hy
  AddLanguage id .id
  AddLanguage it .it
  AddLanguage ja .ja
  AddLanguage ko .ko
  AddLanguage lt .lt
  AddLanguage ml .ml
  AddLanguage nb .nb
  AddLanguage nl .nl
  AddLanguage pl .pl
  AddLanguage pt .pt
  AddLanguage ro .ro
  AddLanguage ru .ru
  AddLanguage sk .sk
  AddLanguage sl .sl
  AddLanguage sv .sv
  AddLanguage ta .ta
  AddLanguage tr .tr
  AddLanguage uk .uk
  AddLanguage vi .vi
  AddLanguage pt-br .pt
  AddLanguage nb .nb
  AddLanguage zh-CN .zh-cn
  AddLanguage zh-HK .zh-hk
  AddLanguage zh-TW .zh-tw

ある状況下で誤った言語を返してしまうという Apache のバグがあるので、以下のように返される言語をすべて LanguagePriority オプションに追加するのは良い案です:

LanguagePriority en fr es ar bg ca cs da de el eo fa fi he hr hu hy id it ja ko lt ml nb nl pl pt ro ru sk sl sv ta tr uk vi pt-br nb zh-CN zh-HK zh-TW

content negotiation (内容交渉) されたファイルが誤った文字セットで返されないようにするため、 AddDefaultCharSet の設定がコメントアウトされているかOff になっていることを確認してください。

Apache 1 では、ディレクトリのインデクスを正しく返すため、 /etc/apache/srm.confDirectoryIndex エントリを恐らく変更する必要があります。これは Apache 2 では動作しませんが。 Apache 1 では以下でいいでしょう:

DirectoryIndex index index.html

favicon.ico の正しい Content-Type ヘッダを返すため、Apache が image/x-icon を使用するようにしてください:

AddType image/x-icon .ico

RSS フィードの正しい Context-Type ヘッダを返すため、Apache が application/rss+xml を使用するようにしてください:

AddType application/rss+xml .rdf

スペイン語翻訳版の HTML, PDF, 及びプレーンテキストファイルの正しい Context-Type ヘッダを返すため、Apache に正しい種類を次のように指示してください:

<Files *.html.es>
  ForceType text/html
</Files>

<Files *.pdf.es>
  ForceType application/pdf
</Files>

<Files *.txt.es>
  ForceType text/plain
</Files>

/events 以下での content negotiation (内容交渉) の問題回避のため、カレンダーファイルには text/html の内容よりも低い優先度を割り当てる必要があります:

AddType text/calendar;qs=0.9 .ics

リダイレクト

ほとんどのサイトでミラーするには巨大になりすぎている部分があるので、 ウェブサイトの一部をメインのサイトから分離させました。 ほとんどのリンクは新しい場所を指すように変換すべきですが、 他サイトへのリダイレクトを追加してリンク切れを防ぐことを歓迎します。 これには、/etc/apache/srm.conf を編集してください。例:

Redirect /Lists-Archives http://lists.debian.org/
Redirect /search http://search.debian.org
Redirect /Packages http://packages.debian.org
Redirect /lintian http://lintian.debian.org

バーチャルホスト

www.debian.org 及び管理下のいくつかの名前でアクセスされる Debian ウェブサイトでは、 負荷分散とユーザから近いミラーの選択のために GeoDNS を使っています。

結論から言うと、Apache はいくつかのバーチャルホストを通して Debian ウェブサイトを使えるようにすべきです。 こんな感じになります:

ServerAlias www.debian.org www.debian.com debian.org www.*.debian.org