chenkehao 发表于 2015-9-16 11:44:54

通过gitweb管理Puppet配置(nginx版本+lighttpd版)

  Puppet路径为:/etc/puppet
  软件版本:gitweb-1.7.1-3.el6_4.1.noarch
     git-1.7.1-3.el6_4.1.x86_64
     fcgi-2.4.0-12.el6.x86_64
     spawn-fcgi-1.6.3-1.el6.x86_64
     nginx version: nginx/1.6.2
     lighttpd/1.4.35 (ssl) - a light and fast webserver
  一、建立puppet git仓库
  1.进入puppet 的目录
  #cd /etc/puppet
  2.初始化并添加文件到版本库
  #git init
  #git add *
  3. 提交到版本库
  #git commit -m "init puppet commit"
  4.克隆出一个bare git仓库, 添加bare仓库,相当于/etc/puppet添加了一个分支。
  #mkdir -p /data/git
  #git clone --bare /etc/puppet /data/git/puppet.git
  5.关联远程库
  # git remote add -t master origin /data/git/puppet.git
  6.克隆分支,在个人家目录下名为puppet-king
  # cd ~
  # git clone /data/git/puppet.git puppet-king
  
  二、使用git 管理仓库
  接着上面的介绍,简单介绍然后使用git管理仓库。
  #cd puppet-king
  #vim manifests/nodes.pp##创建节点文件
  #git add manifests/nodes.pp ##添回nodes.pp到仓库
  #git commit -m "adding nodes.pp by king" ##提交nodes.pp
  # git push ##提交分支
  #cd /etc/puppet ##进入/etc/puppet/目录
  # git pull ##同步仓库
  
  三、Gitweb 管理puppet代码
  Lighttpd版本
  #yum install gitweb lighttpd
  
  #cat /etc/gitweb.conf
  $projectroot = "/etc/puppet"
  
  #cd /etc/puppet
  #git instaweb
  这会在1234端口开启一个HTTPD 服务,随之在浏览器中显示该页,十分简单。关闭服务时,只需在原来的命令后面加上--stop 选项就可以了
  通过http://ip:1234即可访问
  
  Nginx版本
  参考官方https://wiki.archlinux.org/index.php/gitweb#Nginx
  安装fcgiwrap
  #git clone https://github.com/gnosek/fcgiwrap.git
  cd fcgiwrap
  #autoreconf -i
  #./configure
  make
  #make install
  #yum install –y nginx spwan-fcgi gitweb
  因为是需要将/etc/puppet放到gitweb里面去,所以,需要将gitweb目录放到/etc/puppet目录下
  # tree /etc/puppet/gitweb/
  /etc/puppet/gitweb/
  ├── error.log
  ├── gitweb.cgi
  ├── gitweb.css
  ├── gitweb.js
  ├── httpd.conf
  └── tmp
  修改gitweb配置文件
  # cat /etc/gitweb.conf
  $projectroot = "/etc/puppet"
  修改spwan-fcgi配置
  # cat /etc/sysconfig/spawn-fcgi
  
  # You must set some working options before the "spawn-fcgi" service will work.
  # If SOCKET points to a file, then this file is cleaned up by the init script.
  #
  # See spawn-fcgi(1) for all possible options.
  #
  # Example :
  #SOCKET=/var/run/php-fcgi.sock
  #OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"
  FCGI_SOCKET=/var/run/fcgiwrap.socket
  FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
  FCGI_USER=nginx
  FCGI_GROUP=nginx
  FCGI_EXTRA_OPTIONS="-M 0700"
  OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"
  
  # cat /usr/local/nginx/conf/vhosts/git.conf
  server {
  
  listen 8150;
  
  error_log /data/logs/nginx/git.error.log;
  access_log /data/logs/nginx/git.access.log;
  root /etc/puppet;
  location /gitweb/ {
  index gitweb.cgi;
  include fastcgi_params;
  gzip off;
  fastcgi_param   GITWEB_CONFIG/etc/gitweb.conf;
  if ($uri ~ "/gitweb/gitweb.cgi") {
  fastcgi_pass    unix:/var/run/fcgiwrap.socket;
  }
  }
  }
  窗体底端
  

qq1318659588 发表于 2016-7-20 10:05:40

果然吊{:6_394:}
页: [1]
查看完整版本: 通过gitweb管理Puppet配置(nginx版本+lighttpd版)