发布于 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

一、建立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;

        }

}

}


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务