本文适用于使用 Apache 网站服务器的系统环境。
方法一:
要检查一台服务器上托管了哪些网站,我们可以执行下面的命令:
# apachectl -t -D DUMP_VHOSTS
接下来,我们可以检查选项 namevhost 对应的域名和相应配置文件。例如
# apachectl -t -D DUMP_VHOSTS
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
port 80 namevhost 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
port 80 namevhost www.example.net (/etc/httpd/conf.d/hooks.conf:1)
alias example.net
alias www.example.net
如果想知道网站 example.net 根目录所在的位置:
# grep DocumentRoot /etc/httpd/conf.d/hooks.conf
DocumentRoot /vhosts/www.example.net/
# cd /vhosts/www.example.net/
# ls -la
total 4484
drwxr-xr-x 6 apache apache 4096 Feb 10 11:59 .
drwxr-xr-x 14 root root 4096 Feb 23 08:54 ..
-rw-r--r-- 1 root root 1078 Dec 19 09:31 favicon.ico
-rw-r--r-- 1 apache apache 195 Dec 25 14:51 .htaccess
-rw-r--r-- 1 apache apache 98 Dec 7 10:52 index.html
还应该注意一下网站的别名指令,如下所示:
<VirtualHost *:80>
ServerName example.net
ServerAlias www.example.net
...
DocumentRoot /vhosts/default/public_html/
Alias /api/ /vhosts/default/public_api/
...
</VirtualHost>
方法二:
尝试使用如下的命令:
find / -type f \( -iname "*index.html*" -o -iname "*index.php*" \) 2> /dev/null
如果是从 Ubuntu 存储库安装的 Apache,可以查看如下目录:/etc/apache2/sites-available
:
grep -niR "example.com" /etc/apache2/sites-available
如果定义了 apache 的 VHOST 虚拟主机,则可能会找到配置文件,然后查看该文件中的"documentroot"
,然后就能知道网站根目录的位置了。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/find-all-the-web-site-directory-in-linux/