Ubuntu14上建立Mercurial/hg中心服务器 Apache2+hgweb.cgi

为了在Ubuntu14.04上部署Mercurial中心服务器,在网络的查找了一些文章,但是按照相关文章部署,总是出现错误,因此基于总结了各个文章的

部署步骤,自己又重新整理了一下。

以下的安装步骤全部采用root用户,如果系统不能su -到root用户,则在相应的命令前加sudo。

1。首先安装apache2和mercurial

apt-get install apache2

apt-get install mercurial

2。配置hg给apache用的cgi文件

cd /var

mkdir hg

chown -R www-data:www-data hg

cd hg

cp /usr/share/doc/mercurial/examples/hgweb.cgi .

chmod a+x hgweb.cgi

vi hgweb.cgi

config = "/var/hg/hgweb.config"

3。配置hg web

vi hgweb.config

[web]
style=gitweb

[collections]
/var/hg/repos = /var/hg/repos

4。配置apache

cd /etc/apache2/sites-available
vi default

在</VirtualHost>前面加入:

ScriptAlias /hg "/var/hg/hgweb.cgi"

<Location /hg>
                AuthType Basic
                AuthName "Mercurial repositories"
                AuthUserFile /var/hg/hgusers
                Require valid-user
</Location>

5。建立资源库集目录并设置访问权限

cd /var/hg

mkdir repos

chown www-data.www-data repos

htpasswd -mc hgusers admin

这是给这个库集设定访问用户admin,回车后输入密码。除了添加第一个用户时使用-mc参数外,添加后续用户用-m(建htpasswd用法)

6。建立测试库

由于root及www-data都不是登录用户,因此建立仓库时可以使用其他用户或者是使用sudo -u www-data 的方式

cd /var/hg/repos

mkdir test

cd test

hg init

7。允许http push

vi /etc/mercurial/hgrc

[web]
allow_push = *
push_ssl = false

8。重启apache2并测试

http://[your server]/hg/

注意,在这里,往往会直接显示hgweb.cgi的源码,也就是该cgi没有执行。原因是Ubuntu14的apache2在缺省安装时没有启用cgi及cgid模块。

因此需要执行如下命令:

sudo a2enmod cgid 或者是 sudo a2enmod cgi,软化重新启动apache2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值