Web経由のアクセス設定

  • Ubuntu Server 10.04
  • apt-getした場合のmercurialは1.4.3
  • apache2は導入済みと仮定
  • Mercurial Webサイトのディレクトリ : /var/hg/
  • プロジェクトAのリポジトリ : /var/hg/project-a
  • プロジェクトBのリポジトリ : /var/hg/project-b
  • 必要モジュールの入手
    • <code>apt-get install mercurial libapache2-mod-wsgi</code>
  • cgiの設置
    • <code>mkdir /var/hg cd /var/hg cp /usr/share/doc/mercurial/examples/hgwebdir.cgi . chmod 700 hgwebdir.cgi</code>
  • apacheの設定
    • <code>vi /etc/apache2/sites-available/default

      ScriptAlias /hg /var/hg/hgwebdir.cgi <Directory /var/hg> AuthType Basic AuthName “Mercurial repositories” AuthUserFile /etc/apache2/hgusers Require valid-user </Directory></code>

    • Digest認証の場合は、AuthTypeをDigestに。
  • apacheの認証設定
    • <code>htpasswd -mc /etc/apache2/hgusers admin htpasswd -m /etc/apache2/hgusers onechan htpasswd -m /etc/apache2/hgusers imoto</code>
    • Diegst認証の場合は、こんな感じか。
      • <code>htdigest -m /etc/apache2/hgusers 'Mercurial repositories' admin</code>
    • Ubuntuのapache2はauthdigestが有効になっていないかもしれないので、必要なら有効にする。 * <code>a2enmod authdigest enable</code>
  • apacheの再起動
    • <code>service apache2 restart</code>
  • リポジトリの作成
    • <code>mkdir /var/hg/project-a cd /var/hg/project-a hg init mkdir /var/hg/project-b cd /var/hg/project-b hg init</code>
  • リポジトリの登録設定
    • <code>cd /var/hg echo “[collections]”

      >> hgweb.config

      e

      cho “/var/hg/project-a = project-a”

      >> hgweb.config

e

cho “/var/hg/project-a = project-b”

>> hgweb.config

c

hown -R www-data.www-data /var/hg</code>

  • 1.6以降では、[collecttions]は[paths]と書く必要があると思う。
  • おしまい。
  • おまけ
  • echo “[web]”

    >> hgrc

    e

    cho “pushssl = false” » hgrc echo “allowpush = root”

    >> hgrc

    e

    cho “contact = root@example.com”

    >> hgrc

    e

    cho “name = $1”

    >> hgrc

    e

    cho “description = None”

    >> hgrc

    echo “/var/www/hg/$1 = $1”

    >> /var/www/hg/hgweb.config

    chown -R www-data.www-data /var/www/hg/$1

    ls -l /var/www/hg | grep $1</code>

    ソースの表示以前のリビジョン
    メディアマネージャー文書の先頭へ
    CC Attribution-Noncommercial-Share Alike 4.0 International
    Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0