<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>スマートサーバーを稼働させる — Bazaar 2.7.0 ドキュメント</title> <link rel="stylesheet" href="../_static/classic.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/language_data.js"></script> <script type="text/javascript" src="../_static/translations.js"></script> <link rel="shortcut icon" href="../_static/bzr.ico"/> <link rel="search" title="検索" href="../search.html" /> <link rel="next" title="フックを利用する" href="hooks.html" /> <link rel="prev" title="スタックブランチを利用する" href="stacked.html" /> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="hooks.html" title="フックを利用する" accesskey="N">次へ</a></li> <li class="right" > <a href="stacked.html" title="スタックブランチを利用する" accesskey="P">前へ</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">目次 (2.7.0)</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Bazaarユーザーガイド</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="id1"> <h1>スマートサーバーを稼働させる<a class="headerlink" href="#id1" title="このヘッドラインへのパーマリンク">¶</a></h1> <p>BazaarはHTTP、FTPもしくはSFTPを通して動作するので特化したサーバーは必須ではありません。 SSH、inetd、もしくは専用モードで起動できるスマートサーバー(smart server)の選択肢があります。</p> <div class="section" id="id2"> <h2>ダムサーバー<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>HTTP、FTP、SFTPとHTTP-WebDAVを"ダム(dumb)"サーバーとして記述します。 これらはBazaarに支援を提供しないからです。 これらのプロトコルのどれかを通してBazaarリポジトリを利用できるようにする場合、 Bazaarはリモートからの読み込みを許可します。 実行しているBazaarコマンドの中でブランチへのURLを入力するだけです。:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">log</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">bazaar</span><span class="o">.</span><span class="n">launchpad</span><span class="o">.</span><span class="n">net</span><span class="o">/~</span><span class="n">bzr</span><span class="o">-</span><span class="n">pqm</span><span class="o">/</span><span class="n">bzr</span><span class="o">/</span><span class="n">bzr</span><span class="o">.</span><span class="n">dev</span> </pre></div> </div> <p>BazaarはFTP、SFTPと(プラグインを通した)HTTP-WebDAVを通した書き込みをサポートします。</p> </div> <div class="section" id="id3"> <h2>ハイパフォーマンスなスマートサーバー<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>ハイパフォーマンスなスマートサーバー(hpss - high-performance smart server)はいくつかのオペレーションをダムサーバーよりも遙かに高速に実行します。 開発者がパフォーマンスのチューニングを継続するので、将来のリリースではスマートサーバーを利用することで改善されるオペレーションの範囲は増えます。</p> <p>高度なセキュリティの維持を可能にするために、 デフォルトでは現在のスマートサーバーはリードオンリーになります。 読み込みと書き込み権限を有効にするには、 <code class="docutils literal notranslate"><span class="pre">--allow-writes</span></code> で動かします。 SSHアクセスメソッドを利用するとき、bzrは <code class="docutils literal notranslate"><span class="pre">--allow-writes</span></code> オプションで自動的に実行します。</p> <p>次はスマートサーバーの代替の設定方法を説明します。</p> <div class="section" id="ssh"> <h3>SSH<a class="headerlink" href="#ssh" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>SSHを通してBazaarを利用する際にサーバー上の特別な設定は必要ありません。 サーバーに Bazaar がインストールされていれば、 <code class="docutils literal notranslate"><span class="pre">bzr+ssh</span></code> の URL を 利用することができます。 例:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">log</span> <span class="n">bzr</span><span class="o">+</span><span class="n">ssh</span><span class="p">:</span><span class="o">//</span><span class="n">host</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">branch</span> </pre></div> </div> <p><cite>bzr</cite> がサーバーのシステムワイドな場所にインストールされていない場合、 リモートの <cite>bzr</cite> がどこにあるかをローカルの <cite>bzr</cite> に教える必要があるかも しれません。</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">BZR_REMOTE_PATH</span><span class="o">=~/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bzr</span> <span class="n">bzr</span> <span class="n">log</span> <span class="n">bzr</span><span class="o">+</span><span class="n">ssh</span><span class="p">:</span><span class="o">//</span><span class="n">host</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">branch</span> </pre></div> </div> <p><code class="docutils literal notranslate"><span class="pre">BZR_REMOTE_PATH</span></code> 環境変数はリモートシステムで <cite>bzr</cite> が起動する方法を調整します。 デフォルトでは単に <cite>bzr</cite> として起動するので、 <cite>bzr</cite> 実行ファイルはデフォルトの検索パス上にあることが要求されます。 この設定を場所ごとの設定ファイルである <code class="docutils literal notranslate"><span class="pre">locations.conf</span></code> に書いて 永続化することもできます。</p> <p>SFTP と同じく、 <code class="docutils literal notranslate"><span class="pre">~</span></code> で始まるパスはホームディレクトリからの相対パスになります。 例えば <code class="docutils literal notranslate"><span class="pre">bzr+ssh://example.com/~code/proj</span></code> のようになります。 加えて、 <code class="docutils literal notranslate"><span class="pre">~user</span></code> は user のホームディレクトリからの相対パスになります。</p> </div> <div class="section" id="inetd"> <h3>inetd<a class="headerlink" href="#inetd" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>この例では <code class="docutils literal notranslate"><span class="pre">/srv/bzr/repo/branchname</span></code> にブランチがある <code class="docutils literal notranslate"><span class="pre">/srv/bzr/repo</span></code> 内の 共用リポジトリ用に専用ユーザーの <cite>bzruser</cite> で <cite>bzr</cite> を実行する方法を示しています。</p> <p>inetdからBazaarサーバーを動かすにはinetd.confエントリが必要です:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">4155</span> <span class="n">stream</span> <span class="n">TCP</span> <span class="n">nowait</span> <span class="n">bzruser</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bzr</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bzr</span> <span class="n">serve</span> <span class="o">--</span><span class="n">inet</span> <span class="o">--</span><span class="n">directory</span><span class="o">=/</span><span class="n">srv</span><span class="o">/</span><span class="n">bzr</span><span class="o">/</span><span class="n">repo</span> </pre></div> </div> <p>クライアントコマンドを実行するとき、提供するURLは inetd.confに渡される <code class="docutils literal notranslate"><span class="pre">--directory</span></code> オプションに相対的な <cite>bzr://</cite> です:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">log</span> <span class="n">bzr</span><span class="p">:</span><span class="o">//</span><span class="n">host</span><span class="o">/</span><span class="n">branchname</span> </pre></div> </div> <p>可能であれば、 <code class="docutils literal notranslate"><span class="pre">~</span></code> や <code class="docutils literal notranslate"><span class="pre">~user</span></code> で始まるパスは <code class="docutils literal notranslate"><span class="pre">bzr+ssh</span></code> と同じように展開されますが、 <code class="docutils literal notranslate"><span class="pre">bzr</span> <span class="pre">serve</span></code> に指定された <code class="docutils literal notranslate"><span class="pre">--directory</span></code> オプションの外にあるホームディレクトリには アクセスできません。</p> </div> <div class="section" id="id4"> <h3>専用サーバー<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>このモードはinetdモードと同じパスとURLのふるまいを持ちます。 特定のユーザーとして実行するには、 <code class="docutils literal notranslate"><span class="pre">su</span></code> を使うもしくはそのユーザーとしてログインします。</p> <p>この例では公式のポート番号の <cite>4155</cite> 上でbzrを稼働しすべてのインターフェイス上でリスンします。 これによってポート <cite>4155</cite> 上のマシンに到達できる世界のどこからでも接続できます。</p> <p>サーバー:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">serve</span> <span class="o">--</span><span class="n">directory</span><span class="o">=/</span><span class="n">srv</span><span class="o">/</span><span class="n">bzr</span><span class="o">/</span><span class="n">repo</span> </pre></div> </div> <p>クライアント:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">log</span> <span class="n">bzr</span><span class="p">:</span><span class="o">//</span><span class="n">host</span><span class="o">/</span><span class="n">branchname</span> </pre></div> </div> <p>この例では <cite>localhost</cite> のポート <cite>1234</cite> で <code class="docutils literal notranslate"><span class="pre">bzr</span> <span class="pre">serve</span></code> が実行されます。</p> <p>サーバー:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">serve</span> <span class="o">--</span><span class="n">listen</span><span class="o">=</span><span class="n">localhost</span> <span class="o">--</span><span class="n">port</span><span class="o">=</span><span class="mi">1234</span> <span class="o">--</span><span class="n">directory</span><span class="o">=/</span><span class="n">srv</span><span class="o">/</span><span class="n">bzr</span><span class="o">/</span><span class="n">repo</span> </pre></div> </div> <p>クライアント:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">log</span> <span class="n">bzr</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span><span class="mi">1234</span><span class="o">/</span><span class="n">branchname</span> </pre></div> </div> </div> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h3><a href="../index.html">Table of Contents</a></h3> <ul> <li><a class="reference internal" href="#">スマートサーバーを稼働させる</a><ul> <li><a class="reference internal" href="#id2">ダムサーバー</a></li> <li><a class="reference internal" href="#id3">ハイパフォーマンスなスマートサーバー</a><ul> <li><a class="reference internal" href="#ssh">SSH</a></li> <li><a class="reference internal" href="#inetd">inetd</a></li> <li><a class="reference internal" href="#id4">専用サーバー</a></li> </ul> </li> </ul> </li> </ul> <h4>前のトピックへ</h4> <p class="topless"><a href="stacked.html" title="前の章へ">スタックブランチを利用する</a></p> <h4>次のトピックへ</h4> <p class="topless"><a href="hooks.html" title="次の章へ">フックを利用する</a></p> <div role="note" aria-label="source link"> <h3>このページ</h3> <ul class="this-page-menu"> <li><a href="../_sources/user-guide/server.txt" rel="nofollow">ソースコードを表示</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3>クイック検索</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="検索" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="hooks.html" title="フックを利用する" >次へ</a></li> <li class="right" > <a href="stacked.html" title="スタックブランチを利用する" >前へ</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">目次 (2.7.0)</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" >Bazaarユーザーガイド</a> »</li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2009-2011 Canonical Ltd. このドキュメントは <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4 で生成しました。 </div> </body> </html>