aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/setting_up_an_update_server/index.html
blob: f9cc361743334b52bd6f19aad6c8eb2570eaad1c (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
title: 更新サーバの設定
slug: Mozilla/Setting_up_an_update_server
tags:
  - enterprise
translation_of: Mozilla/Setting_up_an_update_server
---
<p>このドキュメントの目標は、企業内で独自の更新サーバを構築するための基本的な手順を説明することです。本文では Firefox について説明していますが、Thunderbird にも同様の仕組みが備わっています。</p>
<h2 id="はじめに">はじめに</h2>
<p>Firefox は RESTful な Web サービスを利用して更新サービスを提供しています。Firefox は、XML 形式の更新情報ファイルが置かれている URL を定期的に参照し、そのファイルに記載されている情報に従って更新を行います。</p>
<p>まず、URL の形式について説明しましょう。この URL は、<code>app.update.url</code> という設定項目で以下のように指定されています。</p>
<pre>https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
</pre>
<p>ユーザの環境によって変数に値が代入され、実際に参照する URL が決まります。以下は、Firefox 9 から Firefox 9.0.1 へ更新する際に利用される URL です。</p>
<dl>
  <dt>
    Windows Vista / 日本語版</dt>
  <dd>
    <code><a class="link-https" href="https://aus3.mozilla.org/update/3/Firefox/9.0/20111216140209/WINNT_x86-msvc/ja/release/Windows_NT%206.0/default/default/update.xml" rel="freelink">https://aus3.mozilla.org/update/3/Fi...ult/update.xml</a></code></dd>
  <dt>
    Mac OS X / 日本語版</dt>
  <dd>
    <code><a class="link-https" href="https://aus2.mozilla.org/update/3/Firefox/9.0/20111216140209/Darwin_Universal-gcc3/ja/release/Darwin%208.11.1/default/default/update.xml" rel="freelink">https://aus2.mozilla.org/update/3/Fi...ult/update.xml</a></code></dd>
</dl>
<p>このドキュメントでは、Firefox 9 の Windows 向け日本語版を例に取って説明します。</p>
<h2 id="クライアントサイドの設定">クライアントサイドの設定</h2>
<p><code>app.update.url</code> の値を自社の URL に変更します。これを変更するには、Firefox 設定エディタ (Firefox のロケーションバーで <code>about:config</code> と入力) を開き、<code>app.update.url.override</code> という名前で新しい文字列形式の設定を作成し、新たな値を指定する必要があります。既定の更新 URL は、上記のように様々な変数が含まれていますが、通常は、製品、バージョン、ロケール、プラットフォームを判別するだけでも十分でしょう。以下、<code>myserver</code> はあなたのサーバに読み替えてください。</p>
<pre>http://myserver/update/%PRODUCT%/%VERSION%/%LOCALE%/%BUILD_TARGET%/update.xml
</pre>
<p><a href="/ja/MCD/Getting_Started" title="ja/MCD/Getting_Started">集中管理機能 (MCD)</a> を使って設定する場合は、サーバサイドの設定ファイル (<code>autoconfig.jsc</code>) に以下の行を追加します。</p>
<pre>lockPref("app.update.url.override", "http://myserver/update/%PRODUCT%/%VERSION%/%LOCALE%/%BUILD_TARGET%/update.xml");
</pre>
<h2 id="サーバサイドの設定">サーバサイドの設定</h2>
<p>まず、aus2.mozilla.org から、オリジナルの更新情報ファイル (<code>update.xml</code>) を取得してきます。取得元は上記の通りですが、変数のうちバージョンごとに変わるビルド ID は、<a href="/ja/Using_the_Web_Console" title="ja/Using_the_Web_Console">Web コンソール</a> を開いて <code>navigator.buildID</code> と入力することで確認できます。不明な場合は、初期設定の Firefox で <a href="/ja/HTTP_Logging" title="ja/HTTP_Logging">HTTP ログ</a> を有効にし、更新チェックを行って (更新はキャンセルして構いません) Firefox を終了させ、ログから URL を特定します。</p>
<p>取得した <code>update.xml</code> ファイルを、<code>app.update.url.override</code> の設定に合わせてサーバ上に置き、実際の URL にアクセスして XML が表示されることを確認します。また、Firefox 9 の [ヘルプ] メニューから [ソフトウェアの更新を確認] を選択し、更新が見つかることを確認します。</p>
<pre>http://myserver/update/Firefox/9.0/ja/WINNT_x86-msvc/update.xml
</pre>
<pre>&lt;?xml version="1.0"?&gt;
&lt;updates&gt;
    &lt;update type="minor" displayVersion="9.0.1" appVersion="9.0.1" platformVersion="9.0.1" buildID="20111220165912" detailsURL="https://www.mozilla.com/ja/firefox/9.0.1/releasenotes/"&gt;
        &lt;patch type="complete" URL="http://download.mozilla.org/?product=firefox-9.0.1-complete&amp;os=win&amp;lang=ja" hashFunction="SHA512" hashValue="82fb329eb72e417e2d924842998f7afc1b4a8831a5a9ca56b761f7f1c997aa4c04f86b53df08f9228548d4562d303b61410d4f2e9fa62ce1f0cc675331adaa91" size="19644083"/&gt;
        &lt;patch type="partial" URL="http://download.mozilla.org/?product=firefox-9.0.1-partial-9.0&amp;os=win&amp;lang=ja" hashFunction="SHA512" hashValue="0478ec3a615f918142f83e8fbc30e6885c281c5c57479b9673f292d22fbbd1b11a04e50fb949937de7d5c41e13ab8d382d6c4e015ff9f737afac06a866cdcb50" size="2005104"/&gt;
    &lt;/update&gt;
&lt;/updates&gt;
</pre>
<h2 id="ダウンロードサーバの変更">ダウンロードサーバの変更</h2>
<p>更新バイナリ (パッチ) を download.mozilla.org ではなくあなたのサーバからダウンロードさせたい場合は、<code>update.xml</code> に書かれている URL からバイナリを取得し、あなたのサーバへコピーしてから、<code>update.xml</code> ファイル内の URL をあなたのサーバに変更します。更新バイナリには、通常の更新に使用される差分版 (partial) と、差分更新が失敗した場合にダウンロードされる完全版 (complete) の 2 種類があることに留意してください。</p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;updates&gt;
    &lt;update type="minor" displayVersion="9.0.1" appVersion="9.0.1" platformVersion="9.0.1" buildID="20111220165912" detailsURL="https://www.mozilla.com/ja/firefox/9.0.1/releasenotes/"&gt;
        &lt;patch type="complete" URL="http://myserver/update/Firefox/9.0.1/ja/WINNT_x86-msvc/complete.mar" hashFunction="SHA512" hashValue="82fb329eb72e417e2d924842998f7afc1b4a8831a5a9ca56b761f7f1c997aa4c04f86b53df08f9228548d4562d303b61410d4f2e9fa62ce1f0cc675331adaa91" size="19644083"/&gt;
        &lt;patch type="partial" URL="http://myserver/update/Firefox/9.0.1/ja/WINNT_x86-msvc/partial.mar" hashFunction="SHA512" hashValue="0478ec3a615f918142f83e8fbc30e6885c281c5c57479b9673f292d22fbbd1b11a04e50fb949937de7d5c41e13ab8d382d6c4e015ff9f737afac06a866cdcb50" size="2005104"/&gt;
    &lt;/update&gt;
&lt;/updates&gt;
</pre>
<p>例えば IT 部門で検証が終わるまで更新を提供しないときは、以下のように XML ファイルの内容を空にしておきます。</p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;updates&gt;&lt;/updates&gt;
</pre>
<h2 id="Security_Considerations" name="Security_Considerations">セキュリティに関する配慮</h2>
<p>Firefox の既定の更新 URL は HTTPS で、SSL を通じて提供されていることに気付いたかもしれません。SSL はサーバに若干の読み込み負荷を与えるので、通常の HTTP を使用したい気にさせられるでしょう。しかしそれはいけません。</p>
<p>すべてのユーザは、更新の有無にかかわらず、更新サーバに定期的に問い合わせを行います (初期設定では 1 日 1 回となっています)。保護されているネットワークの外部、特に公共の無線 LAN スポットから接続しているユーザにとっては、接続をハイジャックされて悪質な更新バイナリをダウンロードさせられる潜在的な可能性があります。SSL はこの手の攻撃から守ってくれます。<code>update.xml</code> ファイルは小さなものなので、SSL の経費をケチったりしないでください。</p>
<p>大きな更新バイナリそのものは、安全でないサーバから安全にダウンロードすることができます。これは、更新情報ファイル (<code>update.xml</code>) にクライアント検証用のハッシュ値が含まれているためです。このハッシュ値は <code>update.xml</code> が安全に提供されている場合のみ信頼されます。</p>
<h2 id="See_Also" name="See_Also">関連記事</h2>
<ul>
  <li><a href="/ja/XULRunner/Application_Update" title="ja/XULRunner/Application_Update">XULRunner:Application Update</a></li>
</ul>