99 lines
2.8 KiB
Text
99 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"
|
||
|
}
|