Назад | Перейти на главную страницу

Почему Apache не распознает мое имя сервера VirtualHosts?

Я пытаюсь восстановить сервер из резервных копий после сбоя оборудования. Вместо того, чтобы восстанавливать весь образ, я пробую комбинацию установки программного обеспечения и последующего восстановления файлов конфигурации из резервных копий. Но Apache2, похоже, не соблюдает директивы ServerName в моих файлах / etc / apache2 / sites-enabled / *. / server-info показывает, что он выбирает правильную конфигурацию, но не отображает мои сайты, а только индексную страницу по умолчанию в /var/www/html/index.html. Вот фрагмент из / server-info:

Module Name: core.c
Content handlers: yes

...

Current Configuration:
In file: /etc/apache2/apache2.conf
  57: LockFile /var/lock/apache2/accept.lock
  66: PidFile /var/run/apache2.pid
  71: Timeout 300
 107: MaxRequestsPerChild 0
 136: AccessFileName .htaccess
 156: DefaultType text/plain
 167: HostnameLookups Off
 175: ErrorLog /var/log/apache2/error.log
 182: LogLevel warn
In file: /etc/apache2/mods-enabled/alias.conf
  17: <Directory "/usr/share/apache2/icons">
  18:   Options Indexes MultiViews
  19:   AllowOverride None
    : </Directory>
In file: /etc/apache2/ports.conf
   8: NameVirtualHost *:80
In file: /etc/apache2/conf.d/security
  27: ServerTokens Full
  38: ServerSignature On
  49: TraceEnable On
In file: /etc/apache2/conf.d/servername
   1: ServerName xen1.xcski.com
   2: ServerAdmin ptomblin@xcski.com
   4: ServerSignature EMail
In file: /etc/apache2/sites-enabled/000-default
   1: <VirtualHost *:80>
   2:   ServerAdmin ptomblin@xcski.com
   4:   DocumentRoot /var/www/html
   5:   <Directory />
   6:     Options FollowSymLinks
   7:     AllowOverride None
    :   </Directory>
   9:   <Directory /var/www/html>
  10:     Options Indexes FollowSymLinks MultiViews
  11:     AllowOverride None
    :   </Directory>
  17:   <Directory "/var/www/cgi-bin">
  18:     AllowOverride None
  19:     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    :   </Directory>
  80:   ErrorLog /var/log/apache2/error.log
  84:   LogLevel warn
  87:   ServerSignature EMail
    : </VirtualHost>
In file: /etc/apache2/sites-enabled/rochesterflyingclub.com
   2: <VirtualHost *>
   3:   ServerName rochesterflyingclub.com
   4:   ServerAlias www.rochesterflyingclub.com
   5:   ServerAdmin webmaster@rochesterflyingclub.com
   7:   DocumentRoot /www/rochesterflyingclub.com/www
   8:   <Directory />
   9:     Options FollowSymLinks
  10:     AllowOverride None
    :   </Directory>
  12:   <Directory /www/rochesterflyingclub.com/www/>
  13:     Options Indexes FollowSymLinks MultiViews Includes
  15:     AllowOverride FileInfo AuthConfig Limit
    :   </Directory>
  20:   <Directory "/www/rochesterflyingclub.com/cgi-bin/">
  21:     AllowOverride None
  22:     Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    :   </Directory>
  27:   ErrorLog /var/log/apache2/error.log
  31:   LogLevel warn
  34:   ServerSignature EMail
    : </VirtualHost>

Проверьте вывод

apachectl -S

Я думаю, вам не хватает части конфигурации, например

Include /etc/apache2/sites-enabled/*

Либо возьмите: 80 с первого, либо повторите для всех элементов. Я думаю, что наиболее конкретное определение адреса имеет приоритет

Я считаю, что вам нужно определить порт для виртуальных хостов:

<VirtualHost *:80>
 ...
</VirtualHost>

Попробуйте. В противном случае, я просто предполагаю, пробовали ли вы просматривать журналы ошибок / доступа, чтобы узнать, откуда берутся файлы? Apache2 установить несложно. Проблемы VirtualHost чаще всего возникают из-за опечаток или неправильного формата conf.