summaryrefslogtreecommitdiffstats
path: root/doc/installation
diff options
context:
space:
mode:
Diffstat (limited to 'doc/installation')
-rw-r--r--doc/installation/distributions.txt136
-rw-r--r--doc/installation/index.txt23
-rw-r--r--doc/installation/packages.txt81
-rw-r--r--doc/installation/prerequisites.txt58
-rw-r--r--doc/installation/source.txt46
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.