Munin服务器与Apache - 您没有权限访问此服务器上的/munin。

23
在安装了Apache和Munin服务器之后,当我访问domain.com/munin时,出现了以下错误。
Forbidden

You don't have permission to access /munin on this server.

对于这些目录,我执行了 chown -R munin:munin 命令。

dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin

我该如何处理apache?我使用/etc/init.d/apache restart重启了apache,但仍然出现禁止访问的错误。我没有对新安装的apache进行任何配置文件更改。

请列出您的www根目录上的文件权限,特别是在您的www根目录中的munin目录。 - fyr
那应该是答案,user959129。 - Nick Bolton
1
@user959129 您提供的网址已经失效。最好在stackoverflow上发布答案,而不是粘贴网址。特别是私人博客往往不稳定。 - Pylinux
这个问题的Ubuntu Apache 2.2 / 2.4配置文件版本已经有一个错误报告。 https://bugs.launchpad.net/ubuntu/+source/munin/+bug/1258026?comments=all - Nelson
12个回答

45

Apache < 2.4

打开Munin Apache配置文件:

vim /etc/munin/apache.conf

请修改以下这几行代码:

Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
Options None

就像这样:

Order allow,deny
Allow from all
Options FollowSymLinks SymLinksIfOwnerMatch

重启Apache,一切就OK了。

Apache > 2.4

打开Munin Apache配置文件:

vim /etc/munin/apache24.conf

修改以下这几行:

Require local   
Options None   

就像这样:

Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch

重启Apache,然后你就万事大吉了。

sudo service apache2 restart

1
如果使用Apache 2.4+(例如Ubuntu 13.10),则请参阅@hamish下面的答案,了解更改配置“Require all granted”的信息。 - Stéphane

17

对于搭载Ubuntu 13.10的Apache 2.4而言,/etc/munin/apache.conf配置文件的语法已经发生变化:

Order allow, deny
Allow from all

需要更改为

Require all granted

有关从Apache 2.2升级到Apache 2.4的详细信息,请参阅Apache升级说明


7
我遇到了同样的问题,但是所有的建议都没有帮助。 所以我在目录树中浏览了一下,并找到了apache24.conf文件。因此,我按照j7nn7k的描述,在/etc/munin/apache24.conf文件中添加了以下内容:
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch

当然,我删除了旧的值。 现在它能够正常工作!


这对我来说是工作! - Kasyful Anwar

4

我不知道是否是同样的问题,但我找到了一个解决方案,它为我修复了它。

我按照这里的教程(来自意大利Ubuntu Wiki)操作,并将字符串更改为:

htmldir /var/cache/munin/www

致:

htmldir /var/www/munin

接着我编辑了文件:

vim /etc/munin/apache.conf

像Johe Green一样,允许从所有地方进行访问。但是请仔细查看目录路径,因为它必须根据munin conf中的htmldir路径进行修改。

Alias /munin /var/www/munin

<Directory /var/www/munin>
    Order allow, deny
    Allow from all

    [...]

1
谢谢。这对我也有帮助,尽管我不需要编辑 /etc/munin/munin.conf,因为它已经正确(可能是因为它来自旧版本的Debian)。 - naught101

3

我也遇到了同样的问题,在Ubuntu 12.04LTS上干净安装了apache2,munin和munin-node。尝试了所有上面建议的选项都没有效果。最终发现我必须

chmod 755 /var/www/munin
chown -R munin:munin /var/www/munin

对我来说,这解决了问题。

cd /pub

更多啤酒


1
我正在使用Apache 2.4.10和Munin 2.0.25-1在Ubuntu 15.04上。为了解决问题,我按照Lars的建议进行了更改,即使用“Require all granted”,但是将更改应用于文件/etc/munin/apache24.conf。对/etc/munin/apache.conf的更改对我没有影响。我尝试过使用grep命令搜索确定选择了哪个Apache配置文件,但没有成功。但至少我解决了问题。

0
我在使用Ubuntu 14.04和apt-get提供的默认版本时遇到了与OP相同的问题。我尝试了官方Ubuntu文档DigitalOcean指南,但无法显示图表(403错误)。我卸载(清除)/重新安装munin,因为它被认为是一个随机错误。最终,在遵循这个howtoforge writeup的过程中,我终于有了好运。它不旨在将munin数据从/var/cache/munin/www移动。相反,它确保:
  1. 安装额外的插件:apt-get install munin munin-node munin-plugins-extra
  2. 启用Apache fcgid:a2enmod fcgid
  3. 使用稀疏的/etc/munin/apache.conf文件(见下文)

将整个/etc/munin/apache.conf文件的内容替换为:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 <IfModule mod_fcgid.c>
 SetHandler fcgid-script
 </IfModule>
 <IfModule !mod_fcgid.c>
 SetHandler cgi-script
 </IfModule>
</Location>

0

这是我在Linux Mint 17.3(内核3.19)上安装Munin的完整安装过程,并且应该也适用于最近的Ubuntu。

与Monit不同,Munin没有自己的Web服务器,因此安装起来会更加复杂一些。

#!/bin/bash
# Install script for Apache 2 with MySQL, PHP 5, etc.
# Update the Package Lists
apt-get update
# Install the MySQL Server and Client before installing Apache
apt-get install mysql-server mysql-client
# Install Apache
apt-get install apache2
# Install PHP5
apt-get install php5 libapache2-mod-php5
# Restart Apache
/etc/init.d/apache2 restart
# Install some extras
apt-get install snmp php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
# Once again, restart
/etc/init.d/apache2 restart
# Install the Munin Server and the Client
apt-get install munin munin-node
# Restart the machine
shutdown -r now

忽略卸载部分,按照hamx0r在此帖子中的建议(请投票支持他的帖子),替换您的整个/etc/munin/apache.conf文件内容:

https://dev59.com/uWox5IYBdhLWcg3wkk-E#35656044

"

允许所有人

对我来说是有意义的,但它已经不起作用了。

也许是因为我在安装Apache2之前安装了Munin,缺少了以下符号链接:

/etc/apache2/conf-available/munin.conf -> ../../munin/apache.conf

/etc/apache2/conf-enabled/munin.conf -> ../conf-available/munin.conf

"
cd /etc/apache2/conf-available && ll

如果您没有看到这个链接,请创建它:
ln -s ../../munin/apache.conf munin.conf && ll

如果第一个文件丢失,那么这个文件可能也会丢失。
cd /etc/apache2/conf-enabled/ && ll

创建链接:
ln -s ../conf-available/munin.conf munin.conf && ll    

重新启动Apache2,等待5分钟,希望它能正常工作。

如果你想监控一个不是运行Munin的机器,你只需要安装munin-node,并在/etc/munin/munin-node.conf中添加一行

找到这一行

allow ^127.0.0.1$

添加另一行类似的内容,其中包括munin服务器的地址:

allow ^192.168.1.100$

这对于运行munin-node的Windows客户端来说并非必需。

不要忘记将要监控的机器添加到Munin服务器上

/etc/munin/munin.conf

# MyMachine
[MyMachineName.mydomain]
address 127.0.0.1
use_node_name yes

现在有一个问题是专家们需要回答的。为什么有些机器不报告硬盘温度?我知道这是一个模糊的问题,可能需要更多的细节。

0

当我在根目录下创建名为“share”的软链接,并将其指向包(如 /Users/me/desktop/share)时,我遇到了同样的问题。

首先我执行了 chmod 655 /Users/me/desktop/share 命令,但是它不能工作;然后我执行了 chmod 655 /Users/me/desktop 命令。

这次可以工作了,我可以看到“share”在根目录路径下被列出。

我使用的是 Mac Yosemite 10.10.3 和其中内置的 Apache 2.4,希望对你有帮助。


0

我遇到了同样的问题,将 /etc/munin/apache.conf 行更改为 Allow from all,但仍然出现相同的 403 Forbidden 错误,我还必须更改 munin-node.conf 在munin-node.conf文件中添加了注释块,并进行了更改

#允许连接的地址列表。这必须是一个     正则表达式,因为Net :: Server不理解CIDR-style     网络表示法,除非安装了perl模块Net :: CIDR。你     您可以重复允许行多次

在此处以类似格式添加了我的munin IP,它可以工作 allow ^127.0.0.1$

附言:当我测试时,我在同一台计算机上运行munin主服务器和节点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接