ports/net/zabbix/pkg/README-web

98 lines
2.8 KiB
Text

+-----------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-----------------------------------------------------------------------
The Zabbix web frontend has been installed into
${PREFIX-web}/zabbix
Zabbix Web can work with a PostgreSQL, MySQL or SQLite3 database.
Support for SQLite3 is included with the main php package; to use
another database, the corresponding package needs to be installed:
php-pgsql or php-mysqli
Zabbix requires a timezone to be configured in PHP; zabbix.ini
sets this to UTC, you may like to adjust this. After making these
changes, stop and start your webserver.
Finally, edit ${ZABBIX_WEB}/conf/zabbix.conf.php according to your needs.
Below are instructions for setting up Zabbix Web with Apache or NGINX.
Apache
======
You should point this to the DocumentRoot of your web-server:
# ln -s ../zabbix /var/www/htdocs/zabbix
(make sure you use a relative symlink since Apache is chrooted)
The web frontend works reasonably well with OpenBSD's chroot'ed
httpd (the "Status of Zabbix" page uses /bin/ps and /dev/kmem to
check the process, so it erroneously reports it as not running).
Some changes from the default configuration are required -
you can do this by creating symbolic links as follows:
# ln -s ${PREFIX-web}/conf/modules.sample/zabbix.conf \
${PREFIX-web}/conf/modules
# ln -fs ${SYSCONFDIR}/php-${MODPHP_VERSION}.sample/zabbix.ini \
${SYSCONFDIR}/php-${MODPHP_VERSION}/zabbix.ini
NGINX
=====
First install and enable php-fpm and enable the required modules:
# cd ${SYSCONFDIR}/php-${MODPHP_VERSION}.sample
# for i in *; do ln -fs ../php-${MODPHP_VERSION}.sample/$i \
../php-${MODPHP_VERSION}/; done
Next configure a nginx such as:
server {
listen 80;
server_name zabbix.example.com;
root ${ZABBIX_WEB};
index index.php;
error_page 403 404 502 503 504 /zabbix/index.php;
location ~ \.php {
fastcgi_pass unix:run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
location ~ \.(jpg|jpeg|gif|png|ico)$ {
access_log off;
expires 33d;
}
location ~ ^\.ht {
deny all;
}
}
httpd.conf(5)
=============
server "zabbix.example.com" {
listen on * port 80
listen on * tls port 443
directory { index "index.php" }
tls {
certificate "/etc/ssl/acme/zabbix.example.com_fullchain.pem"
key "/etc/ssl/acme/private/zabbix.example.com_private.pem"
}
# Increase connection limits to extend the lifetime
connection { max requests 500, timeout 3600 }
connection { max request body 8388608 }
location "/conf/*" {
block return 401
}
location "*.php" {
fastcgi socket "/run/php-fpm.sock"
}
root "/zabbix"
}