apache 2.4 不会从 /tmp 提供服务

eri*_*icP 2 apache ubuntu

在 Apache 2.2 下,我通常从 /tmp/checkouts 开发 Web 应用程序。安装普通 Ubuntu 18.10 给出了me apache 2.4.34-1ubuntu2. 我正在使用 2.4 Require 指令:

    Alias /tmp/checkouts /tmp/checkouts
    <Directory /tmp/checkouts>
        Options Indexes FollowSymLinks MultiViews
        DirectoryIndex Overview index
        AllowOverride All
        Require all granted
    </Directory>
Run Code Online (Sandbox Code Playgroud)

但总是得到“请求的 URL /tmp/checkouts/ 在此服务器上找不到。”。相同的指令在 /home/eric/checkouts 中工作。我能够从 /home/checkouts、/checkouts 和 /t2/checkouts 进行 mv checkouts 和服务,其中 /t2 具有与 /tmp 相同的权限。

我目前从 /t2 提供服务,并将 /tmp/checkouts 符号链接到 /t2/checkouts (因此我不必重新编程我的手指)。我尝试交换,以便 /t2/checkouts 符号链接到 /tmp/checkouts,<Directory>为两者添加块,其中 /t2/checkouts 块包括Options FollowSymLinks,但在我的 error.log (with LogLevel debug): 中得到了这个Symbolic link not allowed or link target not accessible: /t2/checkouts

apache2.4(Ubuntu 版本)是否明确禁止从 /tmp 提供服务?/etc/apache2除了我的sites-enabledconf(及其sites-available符号链接)之外,我在任何文件中都没有看到“tmp” 。我还确保任何conf目录中都没有emacs粪便(~文件)。

And*_*org 6

systemd 单元/lib/systemd/system/apache2.service配置了PrivateTmp=true,这是一项安全功能,告诉您在进程及其子进程的文件系统命名空间中systemd安装一个独立的目录,例如/tmp/systemd-private-59bcc3ad6775562f845953cf01624225-apache2.service-3Rtcsk/tmpover 。/tmpapache2

\n\n

sudo ls /proc/$(cat /run/apache2/apache2.pid)/root/tmp与之比较sudo ls /tmp

\n\n

我\xe2\x80\x99d 建议选择一个不同的位置。某处/srv是典型的。

\n