apache 2.4无法从/ tmp提供

时间:2019-01-01 05:42:18

标签: 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>

,但始终得到“在此服务器上找不到请求的URL / tmp / checkouts /”。相同的指令在/ home / eric / checkouts中起作用。我能够进行视频结帐,并可以从/ home / checkouts,/ checkouts和/ t2 / checkouts提供服务,其中/ t2与/ tmp具有相同的权限。

我目前正在从/ t2服务,并且将/ tmp / checkouts符号链接到/ t2 / checkouts(因此不必重新编程手指)。我尝试进行交换,以使/ t2 / checkouts与/ tmp / checkouts符号链接,为两者都添加<Directory>块,而/ t2 / checkouts块包括Options FollowSymLinks,但在我的error.log中(使用LogLevel调试):Symbolic link not allowed or link target not accessible: /t2/checkouts

是否特别禁止从/ tmp提供apache2.4(的Ubuntu版本)?除了我的/etc/apache2 conf(以及与此文件的sites-enabled符号链接)之外,sites-available下的任何文件中都没有看到“ tmp”。我还确保在任何conf目录中都没有emacs丢包(~文件)。

1 个答案:

答案 0 :(得分:1)

系统单元/lib/systemd/system/apache2.service配置有PrivateTmp=truesecurity feature告诉systemd/tmp/systemd-private-59bcc3ad6775562f845953cf01624225-apache2.service-3Rtcsk/tmp上安装隔离的目录,例如/tmp apache2进程及其子级的文件系统名称空间中。

sudo ls /proc/$(cat /run/apache2/apache2.pid)/root/tmpsudo ls /tmp进行比较。

我建议您选择其他位置。 /srv中的某个地方很典型。