Я тестирую конфигурацию в своей локальной системе, чтобы изучить конфигурацию Apache и использовать тот же метод для работы с моим производственным сервером.
Мне нужно настроить два домена example.com
и example.org
У меня есть каталоги, в которых находятся скрипты php:
/server/example.com for example.com
и /server/example.org for example.org
Я запустил эту команду в обоих каталогах:
sudo chcon -R -h -t httpd_sys_content_t /server/example.*
index.php в example.com содержит
<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.com');
if ($debug) echo "in example.com";
?>
и
index.php в example.org содержит
<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.org');
if ($debug) echo "in example.org";
?>
также я создал файл конфигурации apache с именем example.conf
под /etc/httpd/conf.d/example.conf
Вот содержимое файла .conf:
<VirtualHost example.com:81>
DocumentRoot /server/example.com
ServerName example.com
<Directory "/server/example.com">
AllowOverride None
Options All
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.htm
</Directory>
</VirtualHost>
<VirtualHost example.org:82>
DocumentRoot /server/example.org
ServerName example.org
<Directory "/server/example.org">
AllowOverride None
Options All
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.htm
</Directory>
</VirtualHost>
Когда я получаю доступ example.com
сайт работает как положено. Файл сценария в /server/example.com
оценивается как истина и отображает in example.com
Теперь, когда я получаю доступ example.org
. сайт ничего не показывает.
Также вот мой /etc/host
что я изменил:
127.0.0.1 example.com
127.0.0.1 example.org
Кто-нибудь может предложить, что мне здесь не хватает?
Вы получаете доступ example.org:82
, или просто example.org
? В настоящее время ваши сайты привязаны к разным портам. Вероятно, это не то, что вам нужно; вы, вероятно, захотите вместо этого использовать виртуальный хостинг на основе имен.
Вам понадобится NameVirtualHost
директиву где-нибудь, и изменить свой <VirtualHost>
директивы, чтобы соответствовать ему.
Что-то вроде этого:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /server/example.com
ServerName example.com
ServerAlias www.example.com
# etc
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /server/example.org
ServerName example.org
ServerAlias www.example.org
# etc
</VirtualHost>