From 391406c85d86dc931f3fdb2483a14d0f1e7e6355 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 9 Nov 2010 00:15:43 +0100 Subject: doc: Massive update --- doc/installation/distributions.txt | 17 ++++++++ doc/installation/distro/archlinux.txt | 17 ++++++++ doc/installation/distro/debian.txt | 24 +++++++++++ doc/installation/distro/fedora.txt | 23 ++++++++++ doc/installation/distro/gentoo.txt | 27 ++++++++++++ doc/installation/distro/osx.txt | 29 +++++++++++++ doc/installation/distro/rhel.txt | 31 ++++++++++++++ doc/installation/distro/ubuntu.txt | 36 ++++++++++++++++ doc/installation/index.txt | 23 ++++++++++ doc/installation/packages.txt | 81 +++++++++++++++++++++++++++++++++++ doc/installation/prerequisites.txt | 47 ++++++++++++++++++++ doc/installation/source.txt | 64 +++++++++++++++++++++++++++ 12 files changed, 419 insertions(+) create mode 100644 doc/installation/distributions.txt create mode 100644 doc/installation/distro/archlinux.txt create mode 100644 doc/installation/distro/debian.txt create mode 100644 doc/installation/distro/fedora.txt create mode 100644 doc/installation/distro/gentoo.txt create mode 100644 doc/installation/distro/osx.txt create mode 100644 doc/installation/distro/rhel.txt create mode 100644 doc/installation/distro/ubuntu.txt create mode 100644 doc/installation/index.txt create mode 100644 doc/installation/packages.txt create mode 100644 doc/installation/prerequisites.txt create mode 100644 doc/installation/source.txt (limited to 'doc/installation') diff --git a/doc/installation/distributions.txt b/doc/installation/distributions.txt new file mode 100644 index 000000000..5a86e81d5 --- /dev/null +++ b/doc/installation/distributions.txt @@ -0,0 +1,17 @@ +.. -*- mode: rst -*- + +.. _distributions: + +=========================== +Distribution-specific notes +=========================== + +The installation of Bcfg2 on a specific distribution depends on +the used package management tool and the disposability in the +distribution's package :term:`repository` +. + +.. toctree:: + :glob: + + distro/* diff --git a/doc/installation/distro/archlinux.txt b/doc/installation/distro/archlinux.txt new file mode 100644 index 000000000..75ff59c49 --- /dev/null +++ b/doc/installation/distro/archlinux.txt @@ -0,0 +1,17 @@ +.. -*- mode: rst -*- + +.. _installation-archlinux: + +.. _Arch Linux: http://www.archlinux.org/ +.. _AUR: http://aur.archlinux.org/packages.php?ID=20979 + + +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 + + diff --git a/doc/installation/distro/debian.txt b/doc/installation/distro/debian.txt new file mode 100644 index 000000000..67a4f1d9d --- /dev/null +++ b/doc/installation/distro/debian.txt @@ -0,0 +1,24 @@ +.. -*- mode: rst -*- + +.. _debian: + +.. _Wiki: http://trac.mcs.anl.gov/projects/bcfg2/wiki/PrecompiledPackages#UnofficialDebianRepository + +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. Add the following line +to your `/etc/apt/sources.list` file :: + + deb ftp://ftp.mcs.anl.gov/pub/bcfg/debian sarge/ + +Now just run `aptitute` in the way it is mentioned above. + +For more details about running prerelease version of Bcfg2 on Debian +systems, please refer to the Wiki_. diff --git a/doc/installation/distro/fedora.txt b/doc/installation/distro/fedora.txt new file mode 100644 index 000000000..92771b974 --- /dev/null +++ b/doc/installation/distro/fedora.txt @@ -0,0 +1,23 @@ +.. -*- mode: rst -*- + +.. _Packages: https://admin.fedoraproject.org/pkgdb/acls/name/bcfg2 +.. _Fedora: https://www.fedoraproject.org + +.. _fedora-installation: + +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 recommanded on productive systems. Only for testing. diff --git a/doc/installation/distro/gentoo.txt b/doc/installation/distro/gentoo.txt new file mode 100644 index 000000000..5497a01b2 --- /dev/null +++ b/doc/installation/distro/gentoo.txt @@ -0,0 +1,27 @@ +.. -*- mode: rst -*- + +.. _gentoo-installation: + +.. _Freenode: http://chat.freenode.net +.. _#bcfg2: irc://chat.freenode.net/bcfg2 + + +Gentoo +====== + +Early in July 2008, Bcfg2 was added to the Gentoo portage tree. So far +it's only keyworded for ~x86, but we hope to see it soon in the amd64 and +x64-solaris ports. If you're using Gentoo on some other architecture, it +should still work provided that you have a reasonably up to date Python; +try adding `app-admin/bcfg2 ~*` to your `/etc/portage/package.keywords` +file. + +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`` diff --git a/doc/installation/distro/osx.txt b/doc/installation/distro/osx.txt new file mode 100644 index 000000000..8b7a5a95d --- /dev/null +++ b/doc/installation/distro/osx.txt @@ -0,0 +1,29 @@ +.. -*- mode: rst -*- + +.. _osx-installation: + +.. _Freenode: http://chat.freenode.net +.. _#bcfg2: irc://chat.freenode.net/bcfg2 + + +OS X +==== + +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). + diff --git a/doc/installation/distro/rhel.txt b/doc/installation/distro/rhel.txt new file mode 100644 index 000000000..49e43179f --- /dev/null +++ b/doc/installation/distro/rhel.txt @@ -0,0 +1,31 @@ +.. -*- mode: rst -*- + +.. _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 + +.. _rhel-installation: + +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 `_ diff --git a/doc/installation/distro/ubuntu.txt b/doc/installation/distro/ubuntu.txt new file mode 100644 index 000000000..694cce865 --- /dev/null +++ b/doc/installation/distro/ubuntu.txt @@ -0,0 +1,36 @@ +.. -*- mode: rst -*- + +.. _ubuntu-installation: + +.. _Ubuntu: http://www.ubuntu.com +.. _Wiki: http://trac.mcs.anl.gov/projects/bcfg2/wiki/PrecompiledPackages#UbuntuLaunchpadBcfg2PPA + +Ubuntu +====== + +The steps to bring Bcfg2 onto your Ubuntu_ system depends on your +release. + +* Dapper + Add the following lines to `/etc/apt/sources.list` :: + + deb ftp://ftp.mcs.anl.gov/pub/bcfg/ubuntu dapper/ + deb http://archive.ubuntu.com/ubuntu dapper universe + deb-src http://archive.ubuntu.com/ubuntu dapper universe + +* Edgy + Add the following lines to `/etc/apt/sources.list` :: + + deb ftp://ftp.mcs.anl.gov/pub/bcfg/ubuntu edgy/ + deb http://archive.ubuntu.com/ubuntu edgy universe + deb-src http://archive.ubuntu.com/ubuntu edgy universe + +* Feisty + Those packages are available from the Ubuntu_ repositories. + +To install the packages, just lauch the following command :: + + sudo aptitude install bcfg2 bcfg2-server + +For more details about running prerelease version of Bcfg2 on Ubuntu_ +systems, please refer to the Wiki_. 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..a15e3e98e --- /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 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..e4ea715b0 --- /dev/null +++ b/doc/installation/prerequisites.txt @@ -0,0 +1,47 @@ +.. -*- 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-2.4, 2.5 [#f1]_ +lxml or elementtree [#f2]_ Any lxml: libxml2, libxslt, python +python-apt [#f3]_ Any python +debsums (if APT tool driver is used) Any +===================================== =================== ============================== + + +.. [#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..e21f7150f --- /dev/null +++ b/doc/installation/source.txt @@ -0,0 +1,64 @@ +.. -*- mode: rst -*- + +.. _Download: http://trac.mcs.anl.gov/projects/bcfg2/wiki/Download +.. _GPG: http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x75BF2C177F7D197E +.. _GPGKey: ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-1.1.0.tar.gz.gpg +.. _Tarball: ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-1.1.0.tar.gz + +.. |md5sum| replace:: 13593938daf7e8b9a81cb4b677dc7f99 +.. |version| replace:: 1.1.0 +.. |rel_date| replace:: 9/27/10 + +.. _source: + +Download +======== + +Tarball +------- + +The Bcfg2 source tarball can be grabbed from the Download_ page. + +========= ======== ======= ============== ===================== +Version URL GPG key Release Date md5sum +========= ======== ======= ============== ===================== +|version| Tarball_ GPGKey_ |rel_date| |md5sum| +========= ======== ======= ============== ===================== + +The full command to use with ``wget`` are listed below. Please +replace ```` with |version|. :: + + wget ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-.tar.gz + wget ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-.tar.gz.gpg + +All tarballs are signed with GPG key `7F7D197E `_. You can verify +your download by importing the key and running :: + + $ gpg --recv-keys 0x75bf2c177f7d197e + $ gpg --verify bcfg2-.tar.gz.gpg bcfg2-.tar.gz + +For older or prepreleases please visit the Download_ wiki page. + + +Git checkout +------------ + +You can also get the latest (possibly broken) code via git :: + + git clone git://git.mcs.anl.gov/bcfg2.git + +Installation from source +======================== + +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-.tar.gz + +Now you can build Bcfg2 with. If you are working with a SVN checkout +no need to be specified. :: + + cd bcfg2- + python setup.py install --prefix=/install/prefix + +This will install both the client and server on that machine. -- cgit v1.2.3-1-g7c22