Я устанавливаю весь стек LAMP через Homebrew (Apache, PHP, MySQL, Dnsmasq).

Вот краткое резюме конфигурации:

ServerName localhost

Listen 80

DocumentRoot "/Users/your_user/Sites"
<Directory "/Users/your_user/Sites">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Только с этим все работает нормально.

В следующей части, когда я пытаюсь добавить виртуальный хост, используя конфигурацию, которая, как я знаю, работала в прошлом, я сталкиваюсь с ошибками.

LoadModule vhost_alias_module libexec/mod_vhost_alias.so

<VirtualHost *:80>
    DocumentRoot /Users/elzi/Sites
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
  ServerName dev
  ServerAlias *.dev
  VirtualDocumentRoot /Users/elzi/Sites/%-2+
</VirtualHost>

На данный момент я даже не беспокоюсь о PHP/MySQL/DNSMASQ. Мне просто нужен один из моих конфигов virtualhost, чтобы работать в первую очередь Используя нижнее правило, я смогу получить доступ к любому сайту в моей папке ~/Sites , при условии, что я сделаю запись для них в моем файле hosts.

Я могу получить доступ к сайту по адресу http://localhost и увидеть индекс того, кем я установил корневой каталог DocumentRoot (или VirtualDocument), но не могу получить доступ к подстановочному ServerAlias . Например,

http://test.dev не разрешается в Apache, несмотря на:

  • Он существует в моем файле хоста.
  • Будучи в состоянии пинговать это.

Я начинаю думать, что проблема не связана с Apache? Может быть, проблемы с DNS/IPv6?

Вот дамп netstat -amp tcp | grep 80

tcp4       0      0  192.168.0.108.49632    151.101.193.69.80      ESTABLISHED
tcp4       0      0  192.168.0.108.49608    151.101.193.69.80      ESTABLISHED
tcp6       0      0  ::1.49567              ::1.80                 CLOSE_WAIT 
tcp4       0      0  192.168.0.108.49566    192.168.0.101.8060     CLOSE_WAIT
tcp46      0      0  *.80                   *.*                    LISTEN
tcp4       0      0  127.0.0.1.18800        *.*                    LISTEN

Вывод sudoapachectl -v

Server version: Apache/2.4.23 (Unix)
Server built:   Dec 22 2016 18:07:11

Вывод cat /etc/resolv.conf

nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4

Вывод brew services list

Name    Status  User Plist
httpd24 started elzi /Users/elzi/Library/LaunchAgents/homebrew.mxcl.httpd24.plist
jack    started elzi /Users/elzi/Library/LaunchAgents/homebrew.mxcl.jack.plist
mongodb started elzi /Users/elzi/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
mysql   started elzi /Users/elzi/Library/LaunchAgents/homebrew.mxcl.mysql.plist
php70   started elzi /Users/elzi/Library/LaunchAgents/homebrew.mxcl.php70.plist

Вывод sudo apachectl -S

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server localhost (/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf:3)
         port 80 namevhost localhost (/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf:3)
         port 80 namevhost dev (/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf:8)
                 wild alias *.dev
ServerRoot: "/usr/local/opt/httpd24"
Main DocumentRoot: "/Users/elzi/Sites"
Main ErrorLog: "/usr/local/var/log/apache2/error_log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/usr/local/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
PidFile: "/usr/local/var/run/apache2/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="elzi" id=501
Group: name="staff" id=20

0