По умолчанию проблема Apache config всегда использует IP-адрес сервера. Так что IP.conf
никогда не будет загружен.
Вам необходимо отредактировать конфигурацию Apache по умолчанию - расположенную в sites-available
- чтобы внести изменения.
Глядя на свою конфигурацию, вы указывают необработанный IP-адрес для ServerName
и ServerAlias
, который эффективно устранит цель настройки виртуальных хостов на основе имен:
<VirtualHost *:80>
ServerAdmin <email>
ServerName <IP>
ServerAlias <IP>
DocumentRoot /var/www/html/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Что происходит в таком случае, это конфиги будет игнорироваться, потому что настройка Apache по умолчанию всегда будет зависеть от IP-адреса компьютера, на котором вы находитесь. Черт, он даже использовал бы все сетевые интерфейсы, если ваш сервер имеет несколько IP-адресов.
Чтобы виртуальный хостинг на основе имени работал, вы должны использовать имя домена / хоста в вашей конфигурации. Примерно так: domain1
:
<VirtualHost *:80>
ServerAdmin <email>
ServerName <domain1>
ServerAlias <domain1>
DocumentRoot /var/www/domain1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
И это для domain2
<VirtualHost *:80>
ServerAdmin <email>
ServerName <domain2>
ServerAlias <domain2>
DocumentRoot /var/www/domain2
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Теперь для конфигурации хоста IP-адреса вы должны go в Apache каталог конфигурации - /etc/apache2/
в Debian / Ubuntu или /etc/httpd/
в CentOS / RedHat - и загляните в каталог sites-available
. Там должен быть файл с именем 000-default.conf
:
/etc/apache2/sites-available/000-default.conf
и внесите изменения, которые вы показываете в вашем IP.conf
там. На самом базовом c уровне просто измените DocumentRoot
на следующее:
DocumentRoot /var/www/html/wordpress
Затем перезапустите Apache, и он должен работать как положено.