Added howto doc about Debian packaging
This commit is contained in:
parent
cac53bc84a
commit
5b43ffed3d
143
doc/source/debian_package_guide.rst
Normal file
143
doc/source/debian_package_guide.rst
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
=======================================================
|
||||||
|
Building and Deploying Custom Debian packages for Swift
|
||||||
|
=======================================================
|
||||||
|
|
||||||
|
This documents setting up the prerequisites, downloading the code and building
|
||||||
|
Debian packages necessary to deploy the various components of the swift
|
||||||
|
project code. These steps were done on a server running
|
||||||
|
*Ubuntu 10.04 LTS (Lucid Lynx)*, but should give a good idea what to do on
|
||||||
|
other distros.
|
||||||
|
|
||||||
|
------------------------------------------
|
||||||
|
Instructions for Deploying Swift-Core PPAs
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
These packages are built from the current development branch "trunk"
|
||||||
|
|
||||||
|
* Add swift-core/ppa repository. As root:::
|
||||||
|
|
||||||
|
apt-get install python-software-properties
|
||||||
|
add-apt-repository ppa:swift-core/trunk
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
* Install the swift base packages::
|
||||||
|
|
||||||
|
apt-get install python-swift
|
||||||
|
apt-get install swift
|
||||||
|
|
||||||
|
* Install the swift packages depending on your implementations::
|
||||||
|
|
||||||
|
apt-get install swift-auth
|
||||||
|
apt-get install swift-proxy
|
||||||
|
apt-get install swift-account
|
||||||
|
apt-get install swift-container
|
||||||
|
apt-get install swift-object
|
||||||
|
|
||||||
|
* Copy sample configuration files to `/etc/swift` directory
|
||||||
|
and rename them to `*.conf files`::
|
||||||
|
|
||||||
|
cp -a /usr/share/doc/swift/*.conf-sample /etc/swift/
|
||||||
|
cd /etc/swift ; rename 's/\-sample$//' *.conf-sample
|
||||||
|
|
||||||
|
* For servers running the swift-account, swift-container or
|
||||||
|
swift-object the rsync.conf file should be moved to
|
||||||
|
the `/etc` directory::
|
||||||
|
|
||||||
|
cd /etc/swift
|
||||||
|
mv rsyncd.conf /etc
|
||||||
|
|
||||||
|
* Modify configuration files to meet your implementation requirements
|
||||||
|
the defaults have been not been geared to a multi-server implementation.
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
Instructions for Building Debian Packages for Swift
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
* Add swift-core/ppa repository and install prerequisites. As root::
|
||||||
|
|
||||||
|
apt-get install python-software-properties
|
||||||
|
add-apt-repository ppa:swift-core/ppa
|
||||||
|
apt-get update
|
||||||
|
apt-get install curl gcc bzr python-configobj python-coverage python-dev
|
||||||
|
python-nose python-setuptools python-simplejson python-xattr
|
||||||
|
python-webob python-eventlet python-greenlet debhelper python-sphinx
|
||||||
|
python-all python-openssl
|
||||||
|
|
||||||
|
* As you
|
||||||
|
|
||||||
|
#. Tell bzr who you are::
|
||||||
|
|
||||||
|
bzr whoami '<Your Name> <youremail@.example.com>'
|
||||||
|
bzr lp-login <your launchpad id>
|
||||||
|
|
||||||
|
#. Create a local bazaar repository for dev/testing::
|
||||||
|
|
||||||
|
bzr init-repo swift
|
||||||
|
|
||||||
|
#. Pull down the swift/debian files::
|
||||||
|
|
||||||
|
cd swift
|
||||||
|
bzr branch lp:~swift-core/swift/debian
|
||||||
|
|
||||||
|
#. If you want to merge in a branch::
|
||||||
|
|
||||||
|
cd debian
|
||||||
|
bzr merge lp:<path-to-branch>
|
||||||
|
|
||||||
|
#. Create the debian packages::
|
||||||
|
|
||||||
|
cd debian
|
||||||
|
bzr bd --builder='debuild -uc -us'
|
||||||
|
|
||||||
|
#. Upload packages to your target servers::
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
scp *.deb root@<swift-target-server>:~/.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------
|
||||||
|
Instructions for Deploying Debian Packages for Swift
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
* On a Target Server, As root:
|
||||||
|
|
||||||
|
#. Setup the swift ppa::
|
||||||
|
|
||||||
|
add-apt-repository ppa:swift-core/ppa
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
#. Install dependencies::
|
||||||
|
|
||||||
|
apt-get install rsync python-openssl python-setuptools python-webob
|
||||||
|
python-simplejson python-xattr python-greenlet python-eventlet
|
||||||
|
|
||||||
|
#. Install base packages::
|
||||||
|
|
||||||
|
dpkg -i python-swift_<version>_all.deb
|
||||||
|
dpkg -i swift_<version>_all.deb
|
||||||
|
|
||||||
|
#. Install packages depending on your implementation::
|
||||||
|
|
||||||
|
dpkg -i swift-auth_<version>_all.deb
|
||||||
|
dpkg -i swift-proxy_<version>_all.deb
|
||||||
|
dpkg -i swift-account_<version>_all.deb
|
||||||
|
dpkg -i swift-container_<version>_all.deb
|
||||||
|
dpkg -i swift-object_<version>_all.deb
|
||||||
|
dpkg -i swift-doc_<version>_all.deb
|
||||||
|
|
||||||
|
#. Copy sample configuration files to `/etc/swift` directory
|
||||||
|
and rename them to `*.conf files`::
|
||||||
|
|
||||||
|
cp -a /usr/share/doc/swift/*.conf-sample /etc/swift/
|
||||||
|
cd /etc/swift
|
||||||
|
rename 's/\-sample$//' *.conf-sample
|
||||||
|
|
||||||
|
#. For servers running the swift-account, swift-container or
|
||||||
|
swift-object the rsync.conf file should be moved to
|
||||||
|
the `/etc` directory::
|
||||||
|
|
||||||
|
cd /etc/swift/
|
||||||
|
mv rsyncd.conf /etc
|
||||||
|
|
||||||
|
#. Modify configuration files to meet your implementation requirements
|
||||||
|
the defaults have been not been geared to a multi-server implementation.
|
@ -40,6 +40,7 @@ Deployment:
|
|||||||
|
|
||||||
deployment_guide
|
deployment_guide
|
||||||
admin_guide
|
admin_guide
|
||||||
|
debian_package_guide
|
||||||
|
|
||||||
End User Guides:
|
End User Guides:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user