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

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

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

(*) 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_server.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_server
----------------------------

Very complete documentation in available online at:
  http://www.zabbix.com/documentation/

For those in a hurry, here are some basic steps to get zabbix 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_server> 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_server>)

On your zabbix server, connect to the new database:

  # cd /usr/share/zabbix_server/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> source data/data.sql;
  mysql> source data/images_mysql.sql;
  mysql> quit

1.2) Configure PHP

zabbix requires some parameters in /etc/httpd/php.ini to be altered:

  - post_max_size = 16M		Default = 8M
  - max_execution_time = 300	Default = 30
  - max_input_time = 300	Default = 60
  - date.timezone		Needs to be set (default = blank)

After changing the php.ini file, you'll need to restart httpd for the
changes to have effect:

  # /etc/rc.d/rc.httpd restart

1.3) zabbix_server configuration file

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

You will need to change at least the following lines:

  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_server on system bootup, include these lines in
your /etc/rc.d/rc.local:

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

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

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

2.2) Make /etc/rc.d/rc.zabbix_server 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_server

3) Starting zabbix server
-------------------------

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

  # /etc/rc.d/rc.zabbix_server start

Once zabbix_server has started and configured correctly, you should be able
to access it by pointing your browser at:

  http://(ip-of-your-zabbix-server)/zabbix/

From here on, you can follow the manual to start the initial configuration 
and set up all the items to monitor.
