Я только что обновил Ubuntu 8.04 до последней версии, и мои виртуальные хосты внезапно перестали работать. Я не уверен, что изменилось, но я знаю, что когда я localhost он не попадает в каталог, который я ожидал (вероятно, по умолчанию /var /www /, но это не то место, где я храню свои проекты), и набираю имя одного из моих виртуальных хостов перенесет меня туда же. Как мне заставить его работать снова?

4 ответа4

1

Оказывается, обновление вроде сброса вещей обратно к умолчанию. Вот что я сделал, чтобы заставить его работать (у меня это работало в Ubuntu 9.10 Karmic Koala):

  1. Каталог localhost был установлен в /var/www поэтому для изменения вам потребуется отредактировать файл конфигурации виртуального хоста по умолчанию в /etc /apache2 /sites-available. Обязательно измените значения DocumentRoot и <Directory > .

    sudo nano /etc/apache2/sites-available/default
    
  2. Чтобы создать виртуальный хост, создайте файл в /etc /apache2 /sites-available

    sudo nano /etc/apache2/sites-available/mysite
    

    Вот пример того, что вы должны поместить в файл виртуального хоста:

    <VirtualHost *:80>
        ServerName myvirtualhostname
        ErrorLog /var/log/apache2/myvirtualhostname-error.log
        CustomLog /var/log/apache2/myvirtualhostname-access.log combined
        DocumentRoot /home/name/Projects/myvirtualhostname/public
        <Directory /home/name/Projects/myvirtualhostname/public>
            Options FollowSymLinks
         AllowOverride All
        </Directory>
    </VirtualHost>
    
  3. Далее вы захотите включить свой виртуальный хост. Вы можете сделать это, запустив команду "Apache 2 Enable Site" с именем файла, созданного вами на sites-available:

    sudo a2ensite mysite
    
  4. Вам также может понадобиться добавить имя вашего виртуального хоста в файл /etc/hosts .

  5. Теперь перезапустите Apache, чтобы он вступил в силу:

    sudo /etc/init.d/apache2 restart
    

Бонус! Если вы хотите избавиться от этого сообщения, которое говорит:«Не удалось определить полное доменное имя сервера, используя 127.0.0.1 для ServerName», вы можете создать файл конфигурации в /etc/apache2/conf.d/ именем fqdn со значением ServerName localhost . Вы можете сделать это одной командой:

echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

За дополнительной информацией обращайтесь к настройке Apache, PHP и MySQL в Ubuntu.

1

Возможно, вы добавили свои виртуальные хосты в /etc/apache2/httpd.conf или что-то вроде этого, и файл был перезаписан при обновлении (вам было предложено!). Проверьте, есть ли у вас виртуальные хосты в /etc/apache2/sites-available (по одному хосту на файл) и имеются ли допустимые разрешаемые символические ссылки в /etc/apache2/sites-enabled: это правильный способ добавить их в Ubuntu ( Я полагаю, что во всех системах Unix это распространено: отличная идея, чтобы разделить их, а не накапливать в одном файле!).

0

У меня нет для вас конкретного ответа для Ubuntu, но вам просто нужно проверить ваш httpd.conf для DocumentRoot и установить его по мере необходимости. Если ваши виртуальные конфиги не будут стерты, вам придется их воссоздать.

0

Это также может быть связано с DNS.

Так, что это говорит, когда вы говорите конкретно http://localhost://

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .