diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2010-12-08 21:38:29 -0600 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2010-12-08 21:38:29 -0600 |
commit | dfcabfcbfc6970c526c80e6f688744966e532c66 (patch) | |
tree | 7994cc2d40fcb4bbc4e3c3a508d8f4c26a13ce30 /doc/installation | |
parent | 19dd6674fe58f3f83a5fa85d2f8ebacf2bfd5e13 (diff) | |
parent | d08c7ba3ca269639edd8e7696558c74bc06fb487 (diff) | |
download | bcfg2-dfcabfcbfc6970c526c80e6f688744966e532c66.tar.gz bcfg2-dfcabfcbfc6970c526c80e6f688744966e532c66.tar.bz2 bcfg2-dfcabfcbfc6970c526c80e6f688744966e532c66.zip |
Merge branch 'master' of git.mcs.anl.gov:bcfg2
Diffstat (limited to 'doc/installation')
-rw-r--r-- | doc/installation/distributions.txt | 136 | ||||
-rw-r--r-- | doc/installation/index.txt | 23 | ||||
-rw-r--r-- | doc/installation/packages.txt | 81 | ||||
-rw-r--r-- | doc/installation/prerequisites.txt | 58 | ||||
-rw-r--r-- | doc/installation/source.txt | 46 |
5 files changed, 344 insertions, 0 deletions
diff --git a/doc/installation/distributions.txt b/doc/installation/distributions.txt new file mode 100644 index 000000000..38b34f14d --- /dev/null +++ b/doc/installation/distributions.txt @@ -0,0 +1,136 @@ +.. -*- mode: rst -*- + +.. _distributions: + +=========================== +Distribution-specific notes +=========================== + +The installation of Bcfg2 on a specific distribution depends on the +package management tool and the availability of the package in the +distribution's repository. + +ArchLinux +========= + +Packages for `Arch Linux`_ are available in the Arch User Repository (AUR_). +Just use `pacman` to perform the installation :: + + pacman -S bcfg2 bcfg2-server + +.. _Arch Linux: http://www.archlinux.org/ +.. _AUR: http://aur.archlinux.org/packages.php?ID=20979 + +Debian +====== + +Packages of Bcfg2 are available for Debian Lenny, Debian Squeeze, and +Debian Sid. The fastest way to get Bcfg2 onto your Debian system +is to use ``apt-get`` or ``aptitude``. :: + + sudo aptitude install bcfg2 bcfg2-server + +If you want to use unofficial packages from Bcfg2 see the instructions +at `CustomDebianRepository`_. + +.. _CustomDebianRepository: http://trac.mcs.anl.gov/projects/bcfg2/wiki/PrecompiledPackages#UnofficialDebianRepository + +Fedora +====== + +The fastest way to get Bcfg2 Packages_ onto your Fedora_ system is to +use `yum` or PackageKit. Yum will pull in all dependencies of Bcfg2 +automatically. :: + + su -c 'yum install bcfg2-server bcfg2' + +Be aware that the latest release of Bcfg2 may only be available for the +Development release of Fedora (Rawhide). With the activation of the +Rawhide repository of Fedora you will be able to install it. :: + + su -c 'yum install --enablerepo=rawhide bcfg2-server bcfg2' + +This way is not recommended on production systems. Only for testing. + +Gentoo +====== + +Early in July 2008, Bcfg2 was added to the Gentoo portage tree. So far +it's still keyworded for all architectures, but we are actively working +to get it marked as stable. + +If you don't use portage to install Bcfg2, you'll want to make sure you +have all the prerequisites installed first. For a server, you'll need: + +* ``app-admin/gamin`` or ``app-admin/fam`` +* ``dev-python/lxml`` + +Clients will need at least: + +* ``app-portage/gentoolkit`` + +OS X +==== + +Bcfg2 can be installed either via MacPorts or by creating a native OS X +package. + +MacPorts +-------- + +Once macports is installed:: + + port install bcfg2 + +Using native OS X python +------------------------ + +First, make sure you have Xcode installed as you need ``packagemaker`` which +comes bundled in the Developer tools. + +Clone the git source:: + + git clone git://git.mcs.anl.gov/bcfg2.git + +Change to the osx directory and type make. Your new package should be +located at bcfg2-$VERSION.pkg (where $VERSION is that which is specified +in setup.py). + +RHEL / Centos / Scientific Linux +================================ + +While you can go about building all these things from source, this +section will try and meet the dependencies using packages from EPEL_ +[#f1]_. The *el5* and the soon available *el6* package should be compatible +with `CentOS`_ 5.x/6.x and `Scientific Linux`_. + +EPEL_:: + + [root@centos ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm + +Install the bcfg2-server and bcfg2 RPMs:: + + [root@centos ~]# yum install bcfg2-server bcfg2 + +.. note:: + + The latest package for *el5* is only available in the testing repository. + +.. [#f1] For more details check the EPEL_ `instructions <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_ + +.. _CentOS: http://www.centos.org/ +.. _Scientific Linux: http://www.scientificlinux.org/ +.. _EPEL: http://fedoraproject.org/wiki/EPEL +.. _RPMForge: https://rpmrepo.org/RPMforge + +Ubuntu +====== + +We highly recommend following the instructions at `ubuntu-installation`_ +in order to install a recent version of Bcfg2 on your system. However, +if you would like to install the older package, you can use the following +command:: + + sudo aptitude install bcfg2 bcfg2-server + +.. _ubuntu-installation: http://trac.mcs.anl.gov/projects/bcfg2/wiki/PrecompiledPackages#UbuntuLaunchpadBcfg2PPA diff --git a/doc/installation/index.txt b/doc/installation/index.txt new file mode 100644 index 000000000..9f04d4b52 --- /dev/null +++ b/doc/installation/index.txt @@ -0,0 +1,23 @@ +.. -*- mode: rst -*- + +.. _installation-index: + +============ +Installation +============ + +Before installing, you will need to choose a machine to be the Bcfg2 +server. We recommend a Linux-based machine for this purpose, but the +server will work on any supported operating system. Note that you may +eventually want to run a web server on this machine for reporting and +serving up package repositories. The server package only needs to be +installed on your designated Bcfg2 server machine. The clients package +needs to be installed on any machine you plan to manage by Bcfg2. + +.. toctree:: + :maxdepth: 2 + + prerequisites + source + packages + distributions diff --git a/doc/installation/packages.txt b/doc/installation/packages.txt new file mode 100644 index 000000000..b175d2625 --- /dev/null +++ b/doc/installation/packages.txt @@ -0,0 +1,81 @@ +.. -*- mode: rst -*- + +.. _packages: + +.. _CentOS: http://www.centos.org/ +.. _Red Hat/RHEL: http://www.redhat.com/rhel/ +.. _Scientific Linux: http://www.scientificlinux.org/ +.. _EPEL: http://fedoraproject.org/wiki/EPEL +.. _RPMForge: https://rpmrepo.org/RPMforge + + +Building RPM packages from source +================================= + +The Bcfg2 distribution contains two different spec files. + +Building from Tarball +--------------------- + +* Copy the tarball to ``/usr/src/packages/SOURCES/`` +* Extract another copy of it somewhere else (eg: ``/tmp``) and retrieve + the ``misc/bcfg2.spec`` file +* Run :: + + rpmbuild -ba bcfg2.spec + +* The resulting RPMs will be in ``/usr/src/packages/RPMS/`` and SRPMs + in ``/usr/src/packages/SRPMS`` + +Building from an GIT Checkout +----------------------------- + +* Change to the ``redhat/`` directory in the working copy +* Run :: + + make + +* The resulting RPMs will be in ``/usr/src/redhat/RPMS/`` and SRPMs + in ``/usr/src/redhat/SRPMS`` and will have the SVN revision appended + +Building RPM packages with ``rpmbuild`` +--------------------------------------- + +While you can go about building all these things from source, this +how to will try and meet the dependencies using packages from EPEL_. +The *el5* package should be compatible with CentOS 5.x. + +* Installation of the EPEL_ repository package :: + + [root@centos ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm + +* Now you can install the rest of the prerequisites :: + + [root@centos ~]# yum install python-genshi python-cheetah python-lxml + +* After installing git, check out the master branch :: + + [root@centos redhat]# git clone git://git.mcs.anl.gov/bcfg2.git + +* Install the ``fedora-packager`` package :: + + [root@centos ~]# yum install fedora-packager + +* A directory structure for the RPM build process has to be established. :: + + [you@centos ~]$ rpmdev-setuptree + +* Change to the *redhat* directory of the checked out Bcfg2 source:: + + [you@centos ~]$ cd bcfg2/redhat/ + +* In the particular directory is a ``Makefile`` which will do the job of + building the RPM packages. You can do this as root, but it's not + recommanded :: + + [you@centos redhat]$ make + +* Now the new RPM package can be installed. Please adjust the path to + your RPM package :: + + [root@centos ~]# rpm -ihv /home/YOU/rpmbuild/RPMS/noarch/bcfg2-server-1.0.0-0.2r5835.noarch.rpm diff --git a/doc/installation/prerequisites.txt b/doc/installation/prerequisites.txt new file mode 100644 index 000000000..758ee4a21 --- /dev/null +++ b/doc/installation/prerequisites.txt @@ -0,0 +1,58 @@ +.. -*- mode: rst -*- + +.. _prerequisites: + +Prerequisites +============= + +Bcfg2 has several server side prerequisites and a minimal set of +client side requirements. This page describes the prerequisite +software situation on all supported platforms. The table describes +what software is needed on the client and server side. + + +Bcfg2 Client +------------ + ++----------------------------+---------------+--------------------------------+ +| Software | Version | Requires | ++============================+===============+================================+ +| libxml2 (if lxml is used) | Any | | ++----------------------------+---------------+--------------------------------+ +| libxslt (if lxml is used) | Any | libxml2 | ++----------------------------+---------------+--------------------------------+ +| python | >= 2.3 [#f1]_ | | ++----------------------------+---------------+--------------------------------+ +| lxml or elementtree [#f2]_ | Any | lxml: libxml2, libxslt, python | ++----------------------------+---------------+--------------------------------+ +| python-apt [#f3]_ | Any | python | ++----------------------------+---------------+--------------------------------+ +| debsums (if APT tool | Any | | +| driver is used) | | | ++----------------------------+---------------+--------------------------------+ + + +.. [#f1] python 2.5 works with elementtree. +.. [#f2] elementtree is included in python 2.5 and later. +.. [#f3] python-apt is only required on platforms that use apt, such as Debian and Ubuntu. + +Bcfg2 Server +------------ + ++----------------------------+----------+--------------------------------+ +| Software | Version | Requires | ++============================+==========+================================+ +| libxml2 | 2.6.24+ | | ++----------------------------+----------+--------------------------------+ +| libxslt | Any | libxml2 | ++----------------------------+----------+--------------------------------+ +| python | 2.2-2.5 | | ++----------------------------+----------+--------------------------------+ +| lxml | 0.9+ | lxml: libxml2, libxslt, python | ++----------------------------+----------+--------------------------------+ +| gamin or fam | Any | | ++----------------------------+----------+--------------------------------+ +| python-gamin or python-fam | Any | gamin or fam, python | ++----------------------------+----------+--------------------------------+ +| M2crypto | Any | python, openssl | ++----------------------------+----------+--------------------------------+ diff --git a/doc/installation/source.txt b/doc/installation/source.txt new file mode 100644 index 000000000..3ea0404ad --- /dev/null +++ b/doc/installation/source.txt @@ -0,0 +1,46 @@ +.. -*- mode: rst -*- + +.. _GPG1: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x75BF2C177F7D197E +.. _GPG2: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x80B8492FA88FFF4B + +.. _source: + +Installation from source +======================== + +Download +-------- + +Tarball +^^^^^^^ + +The Bcfg2 source tarball can be grabbed from the Download_ page. + +All tarballs are signed with GPG keys `7F7D197E <GPG1>`_ or `A88FFF4B +<GPG2>`_. You can verify your download by importing the keys and running :: + + gpg --recv-keys 0x75bf2c177f7d197e 0x80B8492FA88FFF4B + gpg --verify bcfg2-<version>.tar.gz.gpg bcfg2-<version>.tar.gz + +Git checkout +^^^^^^^^^^^^ + +You can also get the latest (possibly broken) code via git :: + + git clone git://git.mcs.anl.gov/bcfg2.git + +Install +------- + +If you are working with the release tarball of Bcfg2 you need to +untar it before you can go on with the installation :: + + tar -xzf bcfg2-<version>.tar.gz + +Now you can build Bcfg2 with. If you are working from a git clone no +<version> need to be specified. :: + + cd bcfg2-<version> + python setup.py install --prefix=/install/prefix + +This will install both the client and server on that machine. |