4.4 KiB
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 python-pastedeploy bzr-builddeb
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 python-netifaces
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.