Необходимо настроить 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.
Что я делаю не так?