Віртуальний хост Apache, який вказує на неправильний DocumentRoot


9

Я управляю VPS на цифровому океані під керуванням Ubuntu 12.04.3, з віртуальними хостами. Мені вдалося налаштувати речі, виходячи з цього підручника тут: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

Однак через кілька днів я перейшов до свого основного домену (noelforte.com), щоб перевірити, чи все працює безперебійно, але замість того, щоб побачити цільову сторінку, яку я тимчасово налаштував, натомість мене привітали з переліком каталогу.

Як не дивно, субдомен, який я налаштовував за допомогою VHosts, все ще вказував на правий каталог, однак мій основний домен повернувся до вказівки на корінь документа за замовчуванням /var/www.

Видалення конфігураційних файлів /etc/apache2/sites-availableі налаштування все знову дало ті самі результати: будь-який піддомен буде вказувати на потрібне місце, однак кореневий TLD залишається вказівним на /var/www.

Що може спричинити подібну ситуацію і чому тоді вона спочатку справно працювала?

Відповіді:


12

Вирішили це! Біг sudo apache2ctl -Sповернув наступне:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

Я вирішив відключити всі сайти, в тому числі за замовчуванням, і просто активувати потрібні мені сайти. Це вирішило мою проблему.

Якщо хтось міг би пояснити, чому noelforte.comбігав, default-000як видно тут:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

це допоможе пролити трохи світла на те, що, можливо, було неправильно налаштовано. Дякую!


У мене була така ж проблема, для мене це було тому, що ім'я сервера було встановлено таким же, як і домен у файлі 000 за замовчуванням.
Чудотворна країна чудес

1

Створіть 000-defaultфайл у/etc/apache2/sites-available або, якщо він вже існує, відредагуйте його. Тут буде вказано ваш веб-сервер, якщо для веб-сайту, який ви шукаєте, не визначено віртуального хосту.

Переконайтесь, що файл також існує в /etc/apache2/sites-enabled. Якщо цього немає:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


У defaultмоєму /etc/apache2/sites-availableкаталозі вже є файл . У мене також є віртуальний хост для noelforte.comналаштування та включення, однак він не вказує на корінь документа, визначений у файлі vhost. Чому?
Ноель Форте

0

Потрібно відредагувати /etc/apache2/sites-enabled/yourdomain.conf та додати "ServerName" до "yourdomain". Наприклад:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.