Тот же конфиг XAMPP работает в Windows, но не в Mac OS X

1544
Petruza

Я использую Xampp на Windows уже некоторое время. Я пытаюсь настроить его на Mac OS X, поэтому скопировал всю конфигурацию, но не могу заставить работать виртуальные хосты.

1- Я включил это в / private / etc / hosts:
127.0.0.1 localhost 127.0.0.1 somedomain.local

2- Я включил это в httpd.conf:
DocumentRoot "/Volumes/Files/http" Include etc/extra/httpd-vhosts.conf

3 - Я включил это в httpd-vhosts.conf:
<VirtualHost 127.0.0.1>
DocumentRoot "/Volumes/Files/http"
ServerName "localhost"
</VirtualHost>

<VirtualHost 127.0.0.1>
DocumentRoot "/Volumes/Files/http/somedomain"
ServerName "somedomain.local"
</VirtualHost>

Который в основном такая же конфигурация, как у меня на Windows. В результате я получаю на MacOS то, что любой домен, определенный в файле hosts, приводит вас к DocumentRoot, IE / Volumes / Files / http httpd.conf, а не к корню виртуального хоста. Есть идеи?

Новые теги: apache-vitual-hosts vhosts vhosts.conf virtual-hosts

РЕДАКТИРОВАТЬ:
Спасибо за все ответы. Я попытался разобраться, переместил строку «Включить etc / extra / httpd-vhosts.conf» в другое место в httpd.conf (не спрашиваю почему), и это сработало. Но проблема теперь, кажется, в том, что единственный виртуальный хост, который распознается, является первым, который определен.

Все домены, определенные в / etc / hosts, теперь указывают на этот виртуальный хост. Если я закомментирую это в httpd-vhosts.conf и перезапущу apache, то все домены будут указывать на второй.

Кажется, что объявление всего - проблема? (но это не на окнах)
Я пытался * и не работал. Я попробую *: 80 и посмотрю, что получится. Спасибо!

1

3 ответа на вопрос

2
Dan Rosenstark

Это работает на OSX

<VirtualHost *:80> ServerAdmin apache-consulting@confusionconsultants.com DocumentRoot "/dans-data" ServerName dans-data.localhost ErrorLog "logs/dans-data-on-localhost.log" CustomLog "logs/dummy-host2.example.com-access_log" common </VirtualHost> 

так что попробуйте что-нибудь подобное. Удачи.

Изменить: Обратите внимание, что есть несколько различий, но наиболее заметно, номер порта. Некоторые из этих строк, безусловно, являются необязательными, например, строки Error и CustomLog.

Thnaks, работал как шарм. Как странно, что виртуальные хосты на основе ip работают по-разному на двух версиях одного и того же программного обеспечения. Petruza 15 лет назад 0
Для сравнения, я не эксперт, но концепция localhost / loopback немного странная. Вы были привязаны к 127.0.0.1 и в Linux, по крайней мере, вы обычно привязываетесь к 0.0.0.0 ... не уверен, что это значит, если что-нибудь. Dan Rosenstark 15 лет назад 0
хотя странно, что вам нужно указать номер порта в OSX .... хмммм ... Dan Rosenstark 15 лет назад 0
1
fgranger

Что-то вроде директории разрешить из всех пропавших?

см .: http://www.phpmagicbook.com/how-to-setup-vhosts-on-xamp/

0
Sakamoto Kazuma

Полагаю, вам придется установить версию xampp для Linux или Mac OSX, если она есть.

http://www.apachefriends.org/en/xampp-macosx.html, кажется, один.

Я не думаю, что программное обеспечение работает независимо друг от друга из-за того, как файловые структуры установлены в каждой операционной системе. Например, трудно определить эквивалент Linux для C: / xampp / htdocs и / opt / lampp / htdocs (не уверен, что это для Mac).

Хорошо, спасибо, по крайней мере, вы пытались. Конечно, я использую версию для Mac OSX. Apache работает, так как он обслуживает, как я писал, файлы на DocumentRoot. PHP работает, и MySQL работает также хорошо. Проблема _only_ в том, что я не могу заставить виртуальные хосты apache работать должным образом. Но все равно спасибо! Petruza 15 лет назад 0

Похожие вопросы