Настройте apache в OS X для использования как стандартного веб-root, так и пользовательского каталога сайтов - PullRequest
0 голосов
/ 27 апреля 2020

Необходимо настроить apache для использования / Library / Webserver / Documents в качестве веб-сайта root, но также следовать URL-адресам, направленным на личные сайты пользователя, ie. / User / username / Sites

Сервер работает 10.13.4 (High Sierra) и Apache 2.4.29

Пробовал это двумя способами, сначала используя виртуальные хосты.

Я раскомментировал Include /private/etc/apache2/extra/httpd-vhosts.conf и добавил следующее:

<VirtualHost *:80>
     DocumentRoot /Users/<username>/Sites
     <Directory /Users/<username>/Sites>
         Require all granted
     </Directory>
</VirtualHost>

Это не сработало. Я нашел учебник, подробно описывающий, как включить ~ / Sites, поэтому после отмены всего вышеперечисленного попытался просто разрешить прямой доступ к каталогам пользователей.

Сначала я раскомментировал Include /private/etc/apache2/extra/httpd-userdir.conf и LoadModule userdir_module libexec/apache2/mod_userdir.so.

Затем добавил это в httpd.conf:

<DirectoryMatch "/Users/.*/Sites">
  Require all granted
</DirectoryMatch>

И наконец создал users/<username>.conf добавленное:

<Directory "/Users/<username>/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

И я позаботился о том, чтобы ~/<username>/Sites и все его содержимое принадлежали _ www user, и что разрешения были установлены на 755.

Это самое близкое, что я получил к этому за работой; server.com/~ на сервере. Если я пытаюсь получить к нему доступ с другого компьютера, сервер root работает нормально, но все ~ / URL-адреса только 404.

Что я делаю не так?

...