1 软件安装
(1)mercurial安装
# sudo apt-get install mercurial meld
(2)apache安装
# sudo apt-get install apache2 libapache2-mod-wsgi
(3)openldap安装
# sudo apt-get install slapd ldap-utils
2 软件配置
(1)假设软件仓库目录是/home/hg/repos(即所有的项目仓库都位于目录/home/hg/repos下)
# sudo mkdir -p /home/hg/repos
# sudo chown -R www-data:www-data /home/hg
(2)仓库配置文件
sudo cp /usr/share/doc/mercurial/examples/hgweb.wsgi /home/hg
# sudo vi /home/hg/hgweb.wsgi
修改为:config = "/var/hg/hgweb.config"
# sudo chmod u+x /var/hg/hgweb.wsgi
新建hgweb.config,内容如下:
1 [collections]
2 /home/hg/repos = /home/hg/repos
3 [web]
4 allow_push=*
5 push_ssl=false
# sudo -u www-data cp hgweb.config /home/hg
(3)配置apache
# sudo mkdir /etc/apache2/hg
# sudo vi /etc/apache2/hg/hg.conf
hg.conf的内容如下:
1 WSGIScriptAliasMatch /hg /home/hg/hgweb.wsgi
2
3 order deny,allow
4 allow from all
5
# sudo vi /etc/apache2/sites-available/default
在default文件按最后加入下面一行:
Include /etc/apache2/hg/hg.conf
# sudo /etc/init.d/apache2 restart
(4)# sudo vi /etc/apache2/sites-available/default
default文件见附件。
(5)配置openldap,增加两个用户:admin和dylan
具体配置文件参见脚本:ldap.sh和user.ldif
执行脚本文件: sudo ./ldap.sh
执行下面命令增加用户Dylan Doe
sudo ldapadd -x -D cn=admin,dc=host,dc=com -w edit -f user.ldif
(6)# sudo a2enmod ldap
# sudo a2enmod authnz_ldap
# sudo /etc/init.d/apache2 restart
(7)http://yourip/hg
输入用户名和密码,将会进入mercurial的仓库页面。