Zenoss Community Alliance Package Documentation¶
Contents:
Latest Current Packages¶
RHEL/Centos/Scientific Linux¶
Version | Arch | EL 5 | EL 6 |
---|---|---|---|
4.1.70-1460 | i386 x86_64 |
||
4.1.70-1459 | i386 x86_64 |
||
4.1.70-1455 | i386 x86_64 |
Ubuntu/Debian¶
Version | Arch | Ubuntu 10x LTS | Ubuntu 11.x |
---|---|---|---|
4.1.70-1460 | i386 x86_64 |
||
4.1.70-1459 | i386 x86_64 |
||
4.1.70-1455 | i386 x86_64 |
Suse Linux¶
Version | Arch | SUSE LES 11x | openSUSE 12x |
---|---|---|---|
4.1.70-1460 | i386 x86_64 |
||
4.1.70-1459 | i386 x86_64 |
||
4.1.70-1455 | i386 x86_64 |
Setup a ZCA Build Server¶
Contents
Intro¶
Lets use Chef to provision build servers. Start by getting the chef client installed onto your new build server machine. Don’t worry about Chef server we will only by using Chef-Solo
Install Chef Client¶
The following command, run as root, should install the Chef Client on most ‘nix systems:
curl -L http://www.opscode.com/chef/install.sh | sudo bash
Configure Chef Solo with a ZCA Flare¶
Run the following commands to get setup to use the ZCA build cookbooks:
cd /tmp
wget --no-check-certificate -N https://github.com/ZCA/Packages/zipball/master -O master.zip
#the output folder name is random, hence the move
unzip master.zip && mv ZCA-Packages* zca_packages
mkdir /etc/chef
cp /tmp/zca_packages/chef-repo/.chef/solo.rb /etc/chef
#Create an alias to save typing, not required
alias chefzca='chef-solo -c /tmp/zca_packages/chef-repo/.chef/solo.rb -j /tmp/zca_packages/chef-repo/nodes/zca_build_server.json'
Chef Will Take It From Here¶
That should pretty much do it, just kick chef-solo into gear using our new alias:
chefzca
I noticed on Centos 5.7, that something in the RabbitMQ recipe croaks on first execution, running chefzca a second time (doing nothing else), results in everything completing without error
Building Ubuntu Packages¶
Setup Build Server¶
Start by setting up a build server using our chef cookbooks Setup a ZCA Build Server
Next Install a Few extra packages. This will get included into the main cookbooks, if this process pans out
sudo apt-get install dpkg-dev debhelper devscripts fakeroot linda dh-make
Get to Work¶
Start by getting logged in as the zenoss user and getting into the source directory:
sudo su - zenoss
cd ~/install-sources
Use dh_make to setup some structure:
dh_make -n -s -p zenoss_4.1.70
Edit debian/control. @Todo: Flush This Out
Edit debian/rules. @Todo: Flush This Out
Kick off a build:
fakeroot debian/rules clean
References¶
The following pages were used as references when deriving this process.
- http://www.debian.org/doc/manuals/maint-guide/maint-guide.en.pdf
- http://www.debian-administration.org/articles/336
- http://www.debian-administration.org/article/337/Rolling_your_own_Debian_packages_part_2
- http://grumbel.blogspot.com/2010/05/how-to-build-ubuntu-package.html
- http://answers.oreilly.com/topic/451-how-to-create-an-ubuntu-package/
Source Installation EL6¶
Contents
64 Bit¶
What Is This¶
Notes from my attempt to install Alpha 4 on Centos 6.2 from Source
*THIS DOES NOT WORK YET*
Manually Prepare The Server¶
This is the process that worked for me, it may not be the most optimal and your mileage may vary. In some cases I’ve split groups of commands onto multiple lines for readability
Start by turning off iptables. Security nuts, feel free to open only the required ports as listed in the official installation guide:
service iptables stop
chkconfig iptables off
Ensure your umaks is set:
umask 022
Install Pre-Req Packages:
yum -y install binutils gcc make swig autoconf wget
Download and Install MySQL Components:
cd /tmp
wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.21-1.linux2.6.x86_64.rpm/from/http://mysql.llarian.net/
wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.21-1.linux2.6.x86_64.rpm/from/http://mysql.llarian.net/
wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-devel-5.5.21-1.linux2.6.x86_64.rpm/from/http://mysql.llarian.net/
rpm -ivh MySQL-client-5.5.21-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-server-5.5.21-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-devel-5.5.21-1.linux2.6.x86_64.rpm
Configure MySQL to start automatically, start it and ensure a blank password:
chkconfig mysql on
service mysql start
mysqladmin -u root password ''
mysqladmin -u root -h localhost password ''
Install Pre-Req Packages:
#Splitting on multiple lines for readability only
yum -y install tk unixODBC memcached perl-DBI net-snmp net-snmp-utils gmp bc
yum -y install libgomp libgcj.x86_64 libxslt liberation-fonts-common unzip
chkconfig memcached on
service memcached start
Install erlang (Needed by RabbitMq). I’m not aware of an available RPM, so from source Additionally, I couldnt get around using epel for this. Someone with some more skillz than me, might be able to get this working without epel:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
yum -y install erlang
#done with epel, remove it
rpm -e epel-release
Install RabbitMQ:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-2.7.1-1.noarch.rpm
rpm -ivh rabbitmq-server-2.7.1-1.noarch.rpm
chkconfig rabbitmq-server on
service rabbitmq-server start
Create a zenoss user for RabbitMQ (Internal to RabbitMQ User):
rabbitmqctl add_user zenoss zenoss
rabbitmqctl add_vhost /zenoss
rabbitmqctl set_permissions -p /zenoss zenoss '.*' '.*' '.*'
Install Java JRE:
wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jre-6u31-linux-x64-rpm.bin
chmod +x jre-6u31-linux-x64-rpm.bin
./jre-6u31-linux-x64-rpm.bin
Install Python27 (This method MIGHT be dangerous for YUM, I don’t know enough yet to be sure) Maybe look at creating an RPM: https://bitbucket.org/st3fan/fxhome/changeset/9386908e927d:
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar -zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure -with-zlib=/usr/include
make
make install
echo /usr/local/lib >> /etc/ld.so.conf
Setup User and Environment:
useradd zenoss
echo export ZENHOME=/opt/zenoss >> /home/zenoss/.bash_profile
echo export PYTHONPATH=$ZENHOME/lib/python:$ZENHOME/ >> /home/zenoss/.bash_profile
echo export PATH=$ZENHOME/bin:$PATH >> /home/zenoss/.bash_profile
echo export INSTANCE_HOME=$ZENHOME >> /home/zenoss/.bash_profile
mkdir /opt/zenoss
chown zenoss /opt/zenoss
Install Subversion Client and Pull The Source:
yum -y install svn gcc-c++ protobuf-c libxml2-devel pango-devel
Install Maven. We need the Java JDK for this:
wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-x64.bin
chmod +x jdk-6u31-linux-x64.bin
./jdk-6u31-linux-x64.bin
#press enter when prompted
mv jdk1.6.0_31 /usr/java
http://linux-files.com//maven/binaries/apache-maven-3.0.4-bin.tar.gz
tar -zxvf apache-maven-3.0.4-bin.tar.gz -C /opt
ln -s /opt/apache-maven-3.0.4/bin/mvn /usr/sbin/mvn
Setup for building:
mkdir /opt/zenoss
chown zenoss:zenoss /opt/zenoss
su - zenoss
PATH=/opt/zenoss/bin/:$PATH:/usr/java/jdk1.6.0_31/bin/
PYTHONPATH=$PYTHONPATH:$ZENHOME/
Prepare the Server using Chef-Solo¶
Start The Build Process¶
Clone the svn repo:
sudo su - zenoss
umask 022
cd /tmp
svn co http://dev.zenoss.org/svn/trunk/inst zenossinst
Kick off the installation script:
cd zenossinst
./install.sh
- Fix some files
Insert the following into line 160 of install-functions.sh. It appears that this file gets created without execute permissions (despite our umask) and needs to be executable:
chmod a+x $ZENHOME/bin/zenglobalconf
Answer as Follows (all Defaults):
Relstorage db type [mysql]:
Relstorage host [localhost]:
Relstorage port [3306]:
Relstorage admin username [root]:
Relstorage admin password []:
Relstorage database name [zodb]:
Relstorage db username [zenoss]:
Relstorage db user password [zenoss]:
ZEP db type [mysql]:
ZEP db host [localhost]:
ZEP db port [3306]:
ZEP db admin username [root]:
ZEP db admin password []:
ZEP db name [zenoss_zep]:
ZEP db username [zenoss]:
ZEP db password [zenoss]:
RabbitMQ hostname [localhost]:
RabbitMQ SSL [y/N]:
RabbitMQ port [5672]:
RabbitMQ virtual host [/zenoss]:
RabbitMQ username [zenoss]:
RabbitMQ password [zenoss]:
Go get a coffee or soda, your going to be waiting for a while