README.Slackware
================

This file contains some specific instructions to complete the
installation of zabbix_proxy on Slackware.

You will need to have a working installation of MySQL (*) for zabbix_proxy 
to run. MySQL server does not have to be on the same box as your
zabbix_proxy, but they need to be able to communicate and you will need at 
least the MySQL client on the box that will run zabbix_proxy.

(*) zabbix can work with MySQL, Oracle, PostgreSQL and SQLite databases,
    but these instructions are for MySQL, as it is included with Slackware.

0) Before running the SlackBuild script
---------------------------------------

0.1) zabbix group & user

Before running the zabbix_proxy.SlackBuild script, you will need to create
the 'zabbix' user and group. The script won't run if these do not exist.

The suggested UID and GID is 228, but you can change this as needed:

  # groupadd -g 228 zabbix
  # useradd -u 228 -g zabbix -d /dev/null -s /bin/false zabbix

1) Configuring zabbix_proxy
---------------------------

For those in a hurry, here are some basic steps to get zabbix proxy up &
running:

1.1) Create initial database

On your MySQL server, connect with full privileges:

  # mysql -u <your_user> -p<your_password>

Create the zabbix database & user:

  mysql> create database zabbix character set utf8;
  mysql> use mysql;
  mysql> grant all on zabbix.* to zabbix@<your_zabbix_proxy> identified by '<your_password>';
  mysql> flush privileges;
  mysql> quit

(note: if your MySQL server and zabbix server are the same, use "localhost"
 for <your_zabbix_proxy>)

On your zabbix server, connect to the new database:

  # cd /usr/share/zabbix_proxy/create
  # mysql -h <your_mysql_server> -u zabbix -p<your_password> zabbix

In MySQL, create the schema & add initial data:

  mysql> source schema/mysql.sql;
  mysql> quit

1.2) zabbix_proxy configuration file

A standard configuration file is installed as /etc/zabbix/zabbix_proxy.conf

You will need to change at least the following lines:

  Server=<ip_of_your_zabbix_proxy>
  Hostname=<hostname_of_your_zabbix_proxy>

  DBHost=<your_mysql_server>		(Change if MySQL is not on localhost)
  DBUser=zabbix				("root" doesn't sound like a good idea)
  DBPassword=<your_password>		(Change as defined above)

2) Start & Stop scripts for zabbix server
-----------------------------------------

2.1) Automatic startup and shutdown

If you want to start zabbix_proxy on system bootup, include these lines in
your /etc/rc.d/rc.local:

  # Start zabbix_proxy
  if [ -x /etc/rc.d/rc.zabbix_proxy ]; then
    echo "Starting zabbix proxy..."
    /etc/rc.d/rc.zabbix_proxy start
  fi

To guarantee a clean shutdown of zabbix_proxy, include this in 
/etc/rc.d/rc.local_shutdown:

  # Stop zabbix_proxy
  if [ -x /etc/rc.d/rc.zabbix_proxy ]; then
    echo "Stopping zabbix proxy..."
    /etc/rc.d/rc.zabbix_proxy stop
  fi

2.2) Make /etc/rc.d/rc.zabbix_proxy executable

Additionally, you'll have to set the rc script to be executable just like 
any other Slackware rc script:

  # chmod +x /etc/rc.d/rc.zabbix_proxy

3) Starting zabbix proxy daemon
-------------------------------

Now you are ready to start zabbix_proxy by calling the startup script:

  # /etc/rc.d/rc.zabbix_proxy start

You can check the log file (/var/log/zabbix/zabbig_proxy.log) in case of
problems.

Zabbix uses ports 10050 & 10051 to communicate, so make sure these aren't
blocked on your network.
