差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
programming:python:mercurial:web:start [2012/02/04 19:20] yuki |
— (現在) | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== Web経由のアクセス設定 ====== | ||
- | |||
- | <note> | ||
- | * 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 | ||
- | </note> | ||
- | |||
- | - 必要モジュールの入手 | ||
- | * <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はauth_digestが有効になっていないかもしれないので、必要なら有効にする。 | ||
- | * <code>a2enmod auth_digest 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 | ||
- | echo "/var/hg/project-a = project-a" >> hgweb.config | ||
- | echo "/var/hg/project-a = project-b" >> hgweb.config | ||
- | chown -R www-data.www-data /var/hg</code> | ||
- | * 1.6以降では、[collecttions]は[paths]と書く必要があると思う。 | ||
- | - おしまい。 | ||
- | * 例えばこんな。 | ||
- | * <code>hg clone http://www.example.com/hg/project-a</code> | ||
- | |||
- | * おまけ | ||
- | * こういうのを書いて、引数に付けた名前のプロジェクトをクイックスタート!ってな感じで。 | ||
- | * <code>#!/bin/sh | ||
- | mkdir /var/www/hg/$1 | ||
- | cd /var/www/hg/$1 | ||
- | hg init | ||
- | cd .hg | ||
- | |||
- | echo "[web]" >> hgrc | ||
- | echo "push_ssl = false" >> hgrc | ||
- | echo "allow_push = yuki" >> hgrc | ||
- | echo "contact = ruy.suzu7@gmail.com" >> hgrc | ||
- | echo "name = $1" >> hgrc | ||
- | echo "description = " >> 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> | ||
- | |||