Apache2.4でZabbixを動かすと403エラーになった

事象

Apache2.4系でZabbix2.2を動かそうとすると、
/var/log/httpd/error_log

[authz_core:error] [pid 2140] [client 10.0.0.1:57188] AH01630: client denied by ser

こんなエラーログが出ていました。


ブラウザからアクセスしても
f:id:tsunokawa:20140530142709p:plain
こんな感じで403が表示されます。

原因

これはApache2.4でアクセス制御の書き方が変わっている為でした。


対応

以下のように変更してやると良さそうです。

変更その1
Order allow,deny
Allow from all

Require all granted 


変更その2
Order deny,allow
Deny from all

Require all denied



/etc/httpd/conf.d/zabbix.conf
この設定ファイルを以下のように変更することでアクセス出来るようになりました。

#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Require all granted

    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    # php_value date.timezone Europe/Riga
</Directory>

<Directory "/usr/share/zabbix/conf">
    Require all denied
    <files *.php>
        Require all denied
    </files>
</Directory>

<Directory "/usr/share/zabbix/api">
    Require all denied
    <files *.php>
        Require all denied
    </files>
</Directory>

<Directory "/usr/share/zabbix/include">
    Require all denied
    <files *.php>
        Require all denied
    </files>
</Directory>

<Directory "/usr/share/zabbix/include/classes">
    Require all denied
    <files *.php>
        Require all denied
    </files>
</Directory>




ちゃんと表示されました。
f:id:tsunokawa:20140530144045p:plain