发布于 2015-05-01 08:57:33 | 315 次阅读 | 评论: 0 | 来源: 网友投递
Puppet 集中配置管理系统
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
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
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管理仓库。
#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 ##同步仓库
#yum install gitweb lighttpd
#cat /etc/gitweb.conf
$projectroot = "/etc/puppet"
#cd /etc/puppet
#git instaweb
这会在1234端口开启一个HTTPD 服务,随之在浏览器中显示该页,十分简单。关闭服务时,只需在原来的命令后面加上--stop 选项就可以了
通过http://ip:1234即可访问
参考官方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;
}
}
}