我的 Linux 世界之旅仍在继续。我已经在真机上成功安装并配置了CentOS、LAMP和Zabbix。现在我的问题是,要访问zabbix,我应该输入例如192.168.1.1/zabbix,以加载服务器的Web界面;但是,我只想输入 192.168.1.1。这意味着 zabbix 的 Web 界面默认可以通过端口:80 访问。
我发现应该在 Apache 的 httpd.conf 的 Aliases 下进行更改。我使用 zabbix 的完整路径在该配置文件中添加了一个未注释的字符串,zabbix.conf.php/maintenance.inc.php
)。
Alias /var/www/html/ /etc/zabbix/web/
但没有效果。
我想这行不通,所以我请求帮助:该怎么办?要搜索什么?
谢谢
答案1
划分域的网络空间有两种基本方法。您可以通过“VirtualHost”指令将其划分为子域,也可以将分层位置放置在网络空间的根目录中。
或者两者的某种组合。
Alias 指令分配一个分层位置。因此,在您的示例中,将 Web 空间根目录分配给文件系统目录的正确方法是:
别名“/”“/etc/zabbix/web/”
进一步阅读:Apache mod_alias
确保您的 Web 服务器的用户对您指定别名的目录具有读取权限。请记住,目录是“执行的”,这意味着网络空间内的所有目录都需要为网络服务器的用户设置执行位。
答案2
您不需要重定向任何内容。
按照设计,当 Apache 收到一个请求时不是包含服务器名称,默认为第一个虚拟主机条目加载到其配置中。
这一页提供有关如何修改 CentOS 中的各个虚拟主机的说明;我无法判断这对你的情况有多有效,因为我自己不使用 CentOS,但你基本上想要的是确保第一个(或唯一)虚拟主机加载的节是有它的文档根目录设置为/etc/zabbix/web
——我可以再一次吗强烈地建议您将 zabbix 的 Web 文件移动到某个正常的地方/var/www/zabbix/
并从那里开始工作?
大致看起来应该像这样:
<VirtualHost *:80>
ServerName my.zabbix.site
DocumentRoot /etc/zabbix/web/
TransferLog /var/log/apache2/zabbix-access.log
ErrorLog /var/log/apache2/zabbix-error.log
</VirtualHost>
尽管我再次强调将可通过网络访问的目录放在/etc/
.如果您没有必要并且不确切知道自己在做什么,请不要这样做。
答案3
添加别名“/”“/usr/share/zabbix”
我想,这似乎是一个解决方案,但不确定,因为我迷失在 httpd.conf 中有关别名字符串和 DocumentRoot 的所有更改中。
现在我的服务器可以通过 ip 192.168.1.1 (示例)在浏览器中使用,后面没有 /zabbix/ 。