Apache 2.4 не будет работать с / tmp - PullRequest
0 голосов
/ 01 января 2019

В Apache 2.2 я обычно разрабатывал веб-приложения из / tmp / checkouts.Установка ванильного 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.Мне удалось просмотреть mv checkouts и обслуживать из / home / checkouts, / checkouts и / t2 / checkouts, где / t2 имеет те же разрешения, что и /tmp.

В настоящее время я работаю с / t2 и по символической ссылке/ tmp / checkouts to / 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.

Является ли (выпуск Ubuntu) apache2.4 специально запрещенным для обслуживания из / tmp?Я не вижу "tmp" ни в одном файле под /etc/apache2, кроме моего sites-enabled conf (и sites-available символическая ссылка на него).Я также позаботился о том, чтобы в любом каталоге conf не было сбрасываний emacs (~ файлов).

1 Ответ

0 голосов
/ 01 января 2019

Системный модуль /lib/systemd/system/apache2.service настроен на PrivateTmp=true, функцию безопасности , которая указывает systemd монтировать изолированный каталог, например /tmp/systemd-private-59bcc3ad6775562f845953cf01624225-apache2.service-3Rtcsk/tmp поверх /tmp, в пространстве имен файловой системы для apache2 процесс и его дочерние элементы.

Сравните sudo ls /proc/$(cat /run/apache2/apache2.pid)/root/tmp с sudo ls /tmp.

Я бы рекомендовал просто выбрать другое место.Где-то в /srv было бы типично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...