$OpenBSD: README-server,v 1.4 2011/06/02 13:41:40 ajacoutot Exp $ +----------------------------------------------------------------------- | Running ${FULLPKGNAME} on OpenBSD +----------------------------------------------------------------------- The original documentation is available as a PDF file at ${HOMEPAGE} A manual is available at: http://www.zabbix.com/documentation/${MAJV}/complete On OpenBSD, Zabbix is packaged in three parts: - the agent (in the zabbix-agent package) for installing onto a monitored machine. To simplify installation from ports on client machines, only this part is built by default. - the server and proxy (in the database-dependent zabbix-server package); this has heavier dependencies and is built by selecting the FLAVOR for the database you use (currently mysql, pgsql or sqlite3). - the web interface to run with the server (in the zabbix-web package). Before doing anything, you have to adapt the configuration files under ${SYSCONFDIR}/zabbix/ (make sure your webserver can resolve hostnames; otherwise use IP addresses in the configuration files). On OpenBSD, the default shared memory value is too low for the Zabbix Server and Proxy to work properly. You should set kern.shminfo.shmall according to your needs ("32768" is a good value for starter) -- see sysctl(8) and sysctl.conf(5). On a busy server, it may be advisable to put the zabbix processes into their own login(1) class with tuned resources, such as more open file descriptors etc. e.g. add the following lines to login.conf(5): zabbix_server:\ :openfiles-cur=1024:\ :openfiles-max=2048:\ :tc=daemon Next you must create the database following the relevant set of instructions below. When this is done you can proceed to configure through the web interface at http:///zabbix/setup.php. (default user is 'Admin' with password 'zabbix') MySQL (InnoDB) ============== MySQL users running with chroot'ed httpd might like to take the following steps to place the mysql socket inside the chroot: Create a directory for the mysql socket. mkdir -p /var/www/var/run/mysql Adjust ${SYSCONFDIR}/my.cnf to put the mysql socket into the chroot, [client] socket = /var/www/var/run/mysql/mysql.sock [mysqld] socket = /var/www/var/run/mysql/mysql.sock and set DBSocket in the Zabbix configuration appropriately. Connect to MySQL, and create a user and database for Zabbix; $ mysql -u root -p mysql> create user zabbix@localhost identified by 'password'; mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit Then initialize the database from the files installed in ${TRUEPREFIX}/share/examples/zabbix: $ cd ${TRUEPREFIX}/share/zabbix/schema $ mysql -uzabbix -p[password] zabbix < mysql.sql The following steps are not required for setting up a Zabbix Proxy. $ cd ../data $ mysql -uzabbix -p[password] zabbix < data.sql $ mysql -uzabbix -p[password] zabbix < images_mysql.sql PostgreSQL ========== Assuming you have an administrative account named `postgres', you can create the 'zabbix' user and database like this: createuser -U postgres --pwprompt --no-superuser \ --createdb --no-createrole zabbix createdb -U zabbix zabbix And initialize the database: $ cd ${TRUEPREFIX}/share/zabbix/schema $ cat postgresql.sql | psql -U zabbix zabbix The following steps are not required for setting up a Zabbix Proxy. $ cd ../data $ cat data.sql | psql -U zabbix zabbix $ cat images_pgsql.sql | psql -U zabbix zabbix SQLite3 ======= The following steps are optional on a Zabbix Proxy, the database will be automatically created and initialized if it does not exist. Note that for obvious performance reasons, it is NOT encouraged to use the SQLite backend for a server. $ cd ${TRUEPREFIX}/share/zabbix/schema $ cat sqlite.sql | sudo -u _zabbix sqlite3 /var/db/zabbix/zabbix.db The following steps are not required for setting up a Zabbix Proxy. $ cd ../data $ cat data.sql | sudo -u _zabbix sqlite3 /var/db/zabbix/zabbix.db $ cat images_sqlite3.sql | sudo -u _zabbix sqlite3 /var/db/zabbix/zabbix.db