#独家
奇葩的故障,debian12+apache2-2.4.57.2 无法修改apache2的根目录?

2023-06-24 0 3,305

我们都知道,apache服务器的默认目录是 /var/www/html,但是你可以任意修改这个目录。
debian11+apache2-2.4.56版本下的情况:
系统信息

cat /proc/version
Linux version 5.10.0-18-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.140-1 (2022-09-02)

sudo dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version          Architecture Description
+++-==============-================-============-==============================>
ii  apache2        2.4.56-1~deb11u2 amd64        Apache HTTP Server
lines 1-6/6 (END)

我写一个/var/www/html/index.html.

vim /var/www/html/index.html
<p>welcome</p>

浏览器中输入 127.0.0.1/index.html ,显示 welcome.

现在,我更换根目录了

    vim  /etc/apache2/sites-enabled/000-default.conf
    <VirtualHost *:80>
     ServerName localhost
     DocumentRoot /home/debian/mydoc/mydoc/build/html
     <Directory /home/debian/mydoc/mydoc/build/html>
         Options Indexes FollowSymLinks
         AllowOverride None
         Require all granted
     </Directory>
    </VirtualHost>

重新启动

sudo systemctl restart apache2

写一个index.html

vim  /home/debian/mydoc/mydoc/build/html/index.html
<p>
welcome in  /home/debian/mydoc/mydoc/build/html
</p>

浏览器验证

127.0.0.1/index.html
welcome in  /home/debian/mydoc/mydoc/build/html

都看见了哈,没有问题,可以任意修改根目录位置。
我现在装了一个新系统,请看:

cat /proc/version
Linux version 6.1.0-9-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08)

sudo dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  apache2        2.4.57-2     amd64        Apache HTTP Server

debian12 + apache2-2.4.57-2.
我修改根目录的位置

    cat  /etc/apache2/sites-enabled/000-default.conf
    <VirtualHost *:80>
     ServerName localhost
     DocumentRoot /home/debian/mydoc/mydoc/build/html
     <Directory /home/debian/mydoc/mydoc/build/html>
         Options Indexes FollowSymLinks
         AllowOverride None
         Require all granted
     </Directory>
    </VirtualHost>

重启服务器

sudo systemctl restart apache2

写一个测试文件

vim  /home/debian/mydoc/mydoc/build/html/index.html
<p>
welcome in  /home/debian/mydoc/mydoc/build/html in new version
</p>

浏览器中测试

Forbidden
You don't have permission to access this resource.

Apache/2.4.57 (Debian) Server at 127.0.0.1 Port 80

设置一下文件权限与拥有者

sudo chmod -R 755 /home/debian/mydoc/mydoc/build/html/*
sudo chown -R www-data:www-data /home/debian/mydoc/mydoc/build/html

浏览器中测试,还是不行 (sudo chmod -R 644 /home/debian/mydoc/mydoc/build/html/* 也不行)。
新版本的apache2有bug吧!?

应该不是bug,根据现象,我猜这个问题应该是apparmor策略导致的,apparmor策略限制了apache2能访问的目录。

你可以看看apparmor中apache2的策略是什么,是不是启用状态的。syslog中应该也有相关的日志记录。

这个apparmor就相当于是redhat系上的selinux,不过感觉相比selinux要更容易点。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 奇葩的故障,debian12+apache2-2.4.57.2 无法修改apache2的根目录? https://www.jkxiazai.com/1851.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务