我遵循了https://www.zabbix.com/documentation/doku.php?id=2.0/manual/installation/install 从源代码安装
我已经启动并运行了 Web 部件,并且得到了Zabbix 服务器正在运行:否作为状态消息。我检查了日志文件,每次尝试启动服务器时都会看到以下两行:
zabbix_server [61503]: cannot create Semaphore: [13] Permission denied
zabbix_server [61503]: unable to create mutex for log file
有人熟悉 OSX 上的信号量吗?
答案1
我遇到的问题(产生了相同的错误)是,Web 服务器以用户 _www 的身份运行,而 zabbix 以用户 zabbix 的身份运行。我通过 MacPorts 安装并使用默认的 Apache 服务器。信号量以 660 权限创建,因此其中一个用户无法访问它。
% ipcs -s
IPC status from as of Tue Jul 22 11:08:18 MDT 2014
T ID KEY MODE OWNER GROUP
Semaphores:
...
s 655368 0x7a03e3ce --ra-ra---- _www _www
s 458761 0x7a03e2ed --ra------- _www _www
s 524298 0x7a03e559 --ra-ra---- _www _www
s 65547 0x7a0312c8 --ra------- zabbix zabbix
为了避免弄乱信号量创建或组成员身份,我修补了 zabbix_server.init 文件并以用户 _www 的身份运行 zebbix。
*** /opt/local/share/zabbix/zabbix_server.init 2014-07-21 17:42:14.000000000 -0600
--- /opt/local/share/zabbix/zabbix_server.init.orig 2014-07-22 11:11:49.000000000 -0600
***************
*** 3,10 ****
case "$1" in
start)
echo -n "Starting zabbix_server - 60s start delay for SQL server to load during boot"
! #sleep 60
! sudo -u _www /opt/local/sbin/zabbix/zabbix_server -c /opt/local/etc/zabbix/zabbix_server.conf
;;
stop)
--- 3,10 ----
case "$1" in
start)
echo -n "Starting zabbix_server - 60s start delay for SQL server to load during boot"
! sleep 60
! sudo -u zebbix /opt/local/sbin/zabbix/zabbix_server -c /opt/local/etc/zabbix/zabbix_server.conf
;;
stop)