apache + mercurial + LDAP环境搭建

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 <Directory /home/hg/>

        3 order deny,allow

        4 allow from all

        5 </Directory>   

        # 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的仓库页面。


 

 

 

 

 

 

       

 

 

 

你可能感兴趣的:(apache,脚本,ssl,Collections,mercurial,include)