Community
Zenoss Newsletter

Monitored by Zenoss
SourceForge.net Logo

Install from Source

===============================================================
1. Installing Zenoss 
===============================================================

This readme describes the installation process for Zenoss from 
source.  More information can be found in the ZenossAdminGuide 
under the docs directory. 

For the really impatient, run install.sh in this directory.  If
you experience problems continue reading.

There are some platform specific install directions in the docs 
directory.

---------------------------------------------------------------
1.1. Major Dependencies
---------------------------------------------------------------

- MySQL 5.0.x

   Where x >= 22.
    
    * Make sure you assign a password to root
    * Make sure mysql_config is in the path

- Python 2.3.5 or 2.4 
    * note the development environment is required (i.e. 
      python-dev)!

- GNU build environment (GNU Make)

- SWIG >= 1.3

- Autoconf >= 2.53

---------------------------------------------------------------
1.2 System Setup
---------------------------------------------------------------

- Create the user zenoss under which most of the Zenoss daemons 
  will run:

    bash$ useradd zenoss

- Set ZENHOME and PYTHONPATH enironment variables in the zenoss user 
  environment; add the following to the appropriate rc or profile
  for your shell (e.g., .bashrc, .profile, etc.):

    export ZENHOME=/usr/local/zenoss
    export PYTHONPATH=$ZENHOME/lib/python
    export PATH=$ZENHOME/bin:$PATH

  ZENHOME is the path to your zenoss install. PYTHONPATH lets python
  find the libraries we use. 

  We recommend installing in a directory *other than* the Zenoss'
  user home directory (e.g., don't use /home/zenoss). The reason
  for this recommendation is that once you learn more about Zenoss
  (or if you encounter problems during installtion), you may need
  to reinstall at some point, and this will be much easier if you
  have a dedicated directory for the installtion.

- When you run the install script below, you will need to login as
  the zenoss user first.

- Create the Zenoss install directory and set the ownership:

    bash$ mkdir /usr/local/zenoss
    bash$ chown zenoss /usr/local/zenoss

- Start MySQL (if it's not already started...)

---------------------------------------------------------------
1.3  Build and Install Zenoss
---------------------------------------------------------------

- Login in to the "zenoss" user account that you created above.

- If you are using the tar ball install skip to the next step. 
  You can also use the svn trunk, but this is only for people who want
  to live on the bleeding edge!

    bash$ svn co http://dev.zenoss.org/svn/trunk/inst zenossinst

    notes:
        - this will put the installer files in the directory zenossinst
        - the following commands are run from this directory


- Run the Zenoss installation script 

    bash$ ./install.sh 
    
    notes:
        - to clean a failed install, execute the following command:
          bash$ make clean

        - all files needed for execution will be built and installed under
          $ZENHOME, including Zenoss and other components such as Zope, RDD,
          PySNMP, Twisted, etc. 

        - This script will create several tables as well as a trigger
          to move events from status -> history on deletion.  This
          trigger requires "SUPER" permission which is granted to root
          by default (but can be granted to other users manually).
    
        - There seems to be a problem with clustering and the "in
          memory" table zenoss uses for active events.  For now,
          please use a single mysql instance.

        - By default, the zenoss web server will listen on port 8080.
          This can changed by modifying $ZENHOME/zope.conf and other
          references to the port number in deamon configs.

- zensocket needs to be setuid in order to open raw sockets. As root, run:

    chown root:zenoss /usr/local/zenoss/bin/zensocket
    chmod 04750 /usr/local/zenoss/bin/zensocket

- Access the Zenoss portal

    Web Browser:
        - go to url http://hostname:8080/zport/dmd
        - username is "admin"
        - password is the one entered for Zenoss "admin" user

===============================================================
2. Start Daemons
===============================================================

The daemons perform data collection tasks. 

- The entire system can be stopped and started using the "zenoss" script. Start
  it up:

    bash$ $ZENHOME/bin/zenoss start

- Now all daemons should be running.  Check by running:
    
    bash$ $ZENHOME/bin/zenoss status

  expected output:

    Daemon: zeoctl program running; pid=4295
    Daemon: zopectl program running; pid=4299
    Daemon: zenhub program running; pid=1093
    Daemon: zenping program running; pid=8721
    Daemon: zensyslog program running; pid=8726
    Daemon: zenstatus program running; pid=8731
    Daemon: zenactions program running; pid=8736
    Daemon: zentrap program running; pid=8742
    Daemon: zenmodeler program running; pid=8751
    Daemon: zenperfsnmp program running; pid=8757
    Daemon: zencommand program running; pid=8765
    Daemon: zenprocess program running; pid=8770


===============================================================
3. Platform Specific Notes
===============================================================

---------------------------------------------------------------
3.1 Fedora Core 5
---------------------------------------------------------------

If you are doing a clean install of Fedora Core 5, during the
installation, you must configure your software installations.  
Under servers, make sure to select MySQL.  Under MySQL Optional
Packages, check the box for MySQL-devel (developers MySQL).  Go
back to the main software selection screen and select 
Development.  Select Development Libraries and Development
Tools.  Once all of these are selected you are good to install
by following the install directions.


---------------------------------------------------------------
3.2  Mac OSX
---------------------------------------------------------------

- To create the zenoss user use System Preferences -> Accounts
    instead of useradd.

- To get the python bindings on Macos X with framework python:

    cd zenossinst
    mkdir build
    cd build
    tar zxf ../externallibs/rrdtool-1.2.11.tar.gz
    cd rrdtool-1.2.11/bindings/python
    vi Makefile.in
    
    change the line: 
    rrdtoolmodule_so_LDFLAGS = -module -shared
    
    to read:
    rrdtoolmodule_so_LDFLAGS = -Wl,-framework -Wl,Python -module -dynamiclib
    
    If the installer cannot find mysql:
    
    modify the line in .bashrc:
    export PATH=$ZENHOME/bin:$PATH
    
    to read:
    export PATH=$ZENHOME/bin:$PATH:/usr/local/mysql/bin
    
    Then cd back up to the install directory and procede with the
    installation process.

---------------------------------------------------------------
3.3 Setting Socket buffers on Unix platforms
---------------------------------------------------------------

- You may want to increase the size of the systems net buffers.

    on linux in the file /etc/sysctl.conf, add:
        net.core.rmem_default=1048576
        net.core.rmem_max=1048576
        net.core.wmem_default=1048576
        net.core.wmem_max=1048576

    to configure without a reboot:
        sysctl -w net.core.rmem_default=1048576
        sysctl -w net.core.rmem_max=1048576
        sysctl -w net.core.wmem_default=1048576
        sysctl -w net.core.wmem_max=1048576

---------------------------------------------------------------
3.4 Setting up Zenoss to run with a remote MySQL Instance
---------------------------------------------------------------

Please see the section "Using Zenoss with a Remote MySQL Instance"
in the Zenoss Admin Guide.

Document Actions