目录

    安装包

作用:系统自动化安装,支持linux,也支持win

核心组件(组件必须):
distros(发行版)    cobbler依靠此组件去读取外部的kernel和initrd,即系统版本
profiles and sub-profiles    cobbler依靠此组件将kickstart文件和distros文件关联起来,构建自动化的整体配置信息,提供系统的初始化安装信息(sub-profiles提供额外信息)
systems    cobbler借助此组件来配置网络接口
repos(profiles的补充组件)    cobbler借助此组件完成软件安装,一个yum源
images(systems的补充组件)    cobbler借助此组件完成特定功能
组件的继承关系:distros>>profiles>>systems,即配置后一个,均需要指定前一个组件名
还有一些软件分发组件,不过这个不好用,因此可以用puppet替代
相关信息>>[*]非必须 {*}必须
列出当前已经配置好的组件信息:cobbler [组件] list    --不加组件,则显示所有组件
删除组件信息:cobbler {组件} remove --name=对应组件的配置名
修改组件信息:cobbler {组件} edit --name=对应组件的配置名 继承关系的关联配置名 [--distros=] [--kickstart=]
            |__ cobbler profiles edit --name=centos-6.4-x86_64-develop --distros=centos-6.4-x86_64 --kickstart=centos-6.4-x86_64.cfg

import    可以将一个完整的系统光盘的kernel和initrd导出到cobbler中
sync
reposync    repo同步
build iso
command line search
replication 复制
validate kickstart


1.安装包(属于epel源,请先配置好epel,这里就不说怎么搞了,然后直接yum以下安装包)
如果安装过程提醒gpgcheck的话
则加入--nogpgcheck
cobbler    httpd    cobbler-web(提供网络接口)    debmirror    pykickstart

/etc/cobbler/settings    --定义主配置信息
/etc/cobbler/modules.conf    --定义cobbler可以管理的服务模块
/etc/cobbler/users.digest    --定义账号密码,关联web访问
路径里面存放了多个服务样板,均以template后缀显示

3-1.启动httpd服务.(进行cobbler check命令检查前,必须先启动httpd服务),并且关闭selinux
#service cobblerd start
3-2.cobbler check    --检查cobbler环境错误,依据错误提示进行更正
常见的所需更正的错误如下:
>>#vim /etc/cobbler/settings
    next_server: tftp_ip
    server: tftp_ip
#一般来说,tftp就是cobbler自身,故而此处ip均填写自身ip,不要使用127.0.0.1
>>#关闭selinux
>>#cobbler get-loaders    --下载bootloader所需文件
    pxelinux.0    menu.c32    --与pc server有关的文件,这里是linux所需的
>>#清空iptables规则,并关闭iptables,如果是内网的话,或者,开启69,80/443,25151端口
>>#vim /etc/xinetd.d/rsync
    |__    disable = no
#chkconfig rsync on
>>#vim /etc/debmirror.conf,注释以下两项
    #@dists="sid"
    #@arches="i386"
>>#openssl passwd -1 -salt `openssl rand -hex 4`    --生成8位随机数,并加上输入的密码,组成一个新的加密密码
    修改/etc/cobbler/settings
    default_password_crypted:"加入生成的加密密码"
>>#yum install fence-agents

3-3.再次重启服务,并检查
3-4.同步cobbler
>>#cobbler sync
同步后,会在tftp下生成多个文件/var/lib/tftpboot/*

4-1.修改/etc/cobbler/settings
查看manage_*开头的标签,dhcp默认参数是0,tftp默认参数是1
0表示不使用/etc/cobbler/modules.conf中的托管服务功能,1表示使用;若不使用托管,则需要自己手动配置各种服务.
4-2.这里我们就使用默认配置,即手动配置dhcp服务,tftp托管
>>#yum install dhcp tftp-server
>>#dhcp和tftp服务具体配置信息可以参照PXE简要配置过程
4-3.命令行模式配置cobbler
定义一个cobbler系统自动化配置
>>挂载系统光盘
    #mount /dev/cdrom /media
>>定义distro,提供内核文件(使用import方式,即将内核和init文件放置于自身,而不是外部).
    #cobbler import --name="rhel6-6.4-x86_64" --path=/media/
    文件默认导入到/var/www/cobbler,--path定义光盘挂载位置
    #cobbler distro list
    rhel-6.4-x86_64
    如果同一个内核,而所需软件不同,则多次执行以下三步即可
>>提供kickstart文件,提供安装模板,便于profile中调用.
    #yum install -y system-config-kickstart
    利用system-config-kickstart,并将生成的文件改名为rhel-6.4-x86_64.cfg,名字什么的其实无所谓.具体文件参考:cobbler之ks文件示例
>>定义profile,profile的名字将会在启动菜单中显示.(profile是从distro继承过来的,故而需要指定distro)
    #cobbler profile add --name=rhel-6.4-x86_64-basic --distro=rhel-6.4-x86_64 --kickstart=/root/rhel-6-x86_64.cfg
    #cobbler profile list
    rhel-6.4-x86_64-basic
>>同步cobbler
    #cobbler sync
    依据同步信息,可以看出vmlinuz和initrd.img被连接到/var/lib/tftpboot/images/,即从网站目录连接到了ftp服务器上.
    trying hardlink /var/www/cobbler/ks_mirror/centos-6.5-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/rhel-6.4-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos-6.5-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/rhel-6.4-x86_64/initrd.img
>>查看菜单文件,即引导文件pxelinux.cfg,这里定义了cobbler的所有发行版的内核路径和initrd路径以及ks模板路径
    查看/var/lib/tftpboot/pxelinux.cfg/default,ks的路径可能有点问题
    直接选择默认安装方式,设置非手动
>>至此cobbler已经可以正常工作.

5-1.cobbler_web的bug修复
当前epel源中提供的cobbler_web(程序包为cobbler-2.2.3-2.el6.noarch)存在bug,其/usr/share/cobbler/web/settings.py文件的内容需要修改为如下内容。
 
# Django settings for cobbler-web project.
import django
 
DEBUG = True
TEMPLATE_DEBUG = DEBUG
 
ADMINS = (
    # ('Your Name', 'your_email@domain.com'),
)
 
MANAGERS = ADMINS
 
DATABASE_ENGINE = ''     # cobbler-web does not use a database
DATABASE_NAME = ''      
DATABASE_USER = ''      
DATABASE_PASSWORD = ''  
DATABASE_HOST = ''      
DATABASE_PORT = ''      
 
# Force Django to use the systems timezone
TIME_ZONE = None
 
# Language section
# TBD.
LANGUAGE_CODE = 'en-us'
USE_I18N = False
 
SITE_ID = 1
 
# not used
MEDIA_ROOT = ''
MEDIA_URL = ''
ADMIN_MEDIA_PREFIX = '/media/'
 
SECRET_KEY = ''
 
# code config
 
if django.VERSION[0] == 1 and django.VERSION[1] < 4:
    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.load_template_source',
        'django.template.loaders.app_directories.load_template_source',
    )
else:
    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
    )
 
if django.VERSION[0] == 1 and django.VERSION[1] < 2:
    # Legacy django had a different CSRF method, which also had
    # different middleware. We check the vesion here so we bring in
    # the correct one.
    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.contrib.csrf.middleware.CsrfMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
    )
else:
    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
    )
 
ROOT_URLCONF = 'urls'
 
TEMPLATE_DIRS = (
    '/usr/share/cobbler/web/templates',
)
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'cobbler_web',
)
 
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
 
TEMPLATE_CONTEXT_PROCESSORS += (
     'django.core.context_processors.request',
)
 
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
SESSION_FILE_PATH = '/var/lib/cobbler/webui_sessions'
 

5-2 配置cobbler_web的认证功能
 
cobbler_web支持多种认证方式,如authn_configfile、authn_ldap或authn_pam等,默认为authn_denyall,即拒绝所有用户登录。下面说明两种能认证用户登录cobbler_web的方式。
 
>>使用authn_pam模块认证cobbler_web用户 
首先修改modules.conf中[authentication]段的module参数的值为authn_pam。
接着添加系统用户,用户名和密码按需设定即可,例如下面的命令所示。
# useradd cblradmin
# echo 'cblrpass' | passwd --stdin cblradmin

 
而后将cblradmin用户添加至cobbler_web的admin组中。修改/etc/cobbler/users.conf文件,将cblradmin用户名添加为admin参数的值即可,如下所示。
[admins]
admin = "cblradmin"
 
最后重启cobblerd服务,通过http://YOUR_COBBLERD_IP/cobbler_web访问即可。
 
>>使用authn_configfile模块认证cobbler_web用户
 
首先修改modules.conf中[authentication]段的module参数的值为authn_configfile。
 
接着创建其认证文件/etc/cobbler/users.digest,并添加所需的用户即可。需要注意的是,添加第一个用户时,需要为htdigest命令使用“-c”选项,后续添加其他用户时不能再使用;另外,cobbler_web的realm只能为Cobbler。如下所示:
 
# htdigest -c /etc/cobbler/users.digest Cobbler cblradmin 
 
最后重启cobblerd服务,通过http://YOUR_COBBLERD_IP/cobbler_web访问即可。  

cobbler之详细配置的更多相关文章

  1. Centos7 下cobbler安装及配置

    1.背景介绍 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装,就显 ...

  2. Cobbler安装和配置

    1.yum国内源的安装与更新 1.1 备份原repo文件 cd /etc/yum.repo.d/ mkdir repo_bak mv *.repo repo_bak 1.2 在centos中配置网易和 ...

  3. Centos7.4 下cobbler安装及配置

    1.背景介绍 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装,就显 ...

  4. linux 做gw(nat)详细配置

                          linux 做企业网关gw(nat)详细配置   最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨, ...

  5. (转)springMVC+mybatis+ehcache详细配置

    一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方 ...

  6. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  7. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  8. HighCharts学习笔记(二)HighCharts结构及详细配置

    HighCharts结构及详细配置: 一.HighCharts整体结构: 通过查看API文档我们知道HighCharts结构如下:(API文档在文章后面提供下载) var chart = new Hi ...

  9. vsftp详细配置(转)

    详细配置转载来自以下链接: http://yuanbin.blog.51cto.com/363003/108262 vsftp源码下载(vsftpd-3.0.2.tar.gz): http://dow ...

随机推荐

  1. Tornado web 框架

    Tornado web 框架 其实很简单.深度应用 一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像we ...

  2. 安装 adobe flash player

    安装方法:     1. 下载Adobe Flash Player:        http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2. ...

  3. 那两年炼就的Android内功修养

    http://blog.csdn.net/luoshengyang/article/details/8923485 http://iconsparadise.com/ http://blog.csdn ...

  4. 在win7与XP系统下 C#缺省路径不同

    当我们加载文件时,若只输入文件名,在WIN7下默认是主程序所在文件夹路径 在XP下是上次本程序游览的有效路径 所以以后程序中尽量避免只传文件名

  5. mysqli connect database and print

    <?php $connect = mysqli_connect('localhost','root','','intertrading') or die('Unale to connect'); ...

  6. bzoj1620 [Usaco2008 Nov]Time Management 时间管理

    Description Ever the maturing businessman, Farmer John realizes that he must manage his time effecti ...

  7. Source insight添加工具自动排版

    当在网上找了一些别人的程序拿来学习,用Source insight来看时,会不会因为代码太乱看了义愤填膺呢? 有很多集成的开发环境可以自动排版,但source insight却不行!不过,有工具和配置 ...

  8. NLog 2.0.0.2000 使用实例

    原文地址:http://www.cnblogs.com/sorex/archive/2013/01/31/2887174.html ---------------------------------- ...

  9. poj 1017 Packets 贪心

    题意:所有货物的高度一样,且其底面积只有六种,分别为1*1 2*2 3*3 4*4 5*5 6*6的,货物的个数依次为p1,p2,p3,p4,p5,p6, 包裹的高度与货物一样,且底面积就为6*6,然 ...

  10. 【多线程】--生产者消费者模式--Lock版本

    在JDK1.5发布后,提供了Synchronized的更优解决方案:Lock 和 Condition 我们使用这些新知识,来改进例子:[多线程]--生产者消费者模式--Synchronized版本 改 ...