Проблема с виртуальными хостами на Apache 2.2.x - PullRequest
2 голосов
/ 22 июля 2010

У меня есть виртуальная машина, на которой работает Apache 2, и я в самый неподходящий момент пытаюсь настроить несколько виртуальных хостов на основе имен.В основном, как только я загружаю и включаю новый файл виртуального хоста в папку с включенными сайтами, весь веб-сервер перестает отвечать.Он не запустится, я не могу подключиться к нему через веб-браузер, и он не запустится снова, пока я не удалю файл.Вот следующие шаги, которые я выполняю:

  1. Создание нового файла VirtaualHost и загрузка его в etc / apache2 / sites-enabled, файл VirtualHost выглядит как приведенный ниже код и называется www.glutenfreaks.com:

    ServerAdmin evomoore@gmail.com ServerName www.glutenfreaks.com ServerAlias ​​glutenfreaks.com

    # Indexes + Directory Root.
    DirectoryIndex index.php
    DocumentRoot /var/www/glutenfreaks/
    
    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/glutenfreaks/cgi-bin
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>
    
    
    # Logfiles
    ErrorLog  /var/www/glutenfreaks/logs/error.log
    CustomLog /var/www/glutenfreaks/logs/access.log combined
    

  2. Из командной строкиЗатем я выполняю «a2ensite www.glutenfreaks.com»

  3. Затем перезагружаю сервер: «/etc/init.d/apache2 reload»

А потом все идет бум, и больше ничего не работает.

Помощь ??

Спасибо,

Эван

1 Ответ

2 голосов
/ 13 декабря 2012

Шаг первый - создание нового каталога Первый шаг в создании виртуального хоста заключается в создании каталога, в котором мы будем хранить информацию о новом веб-сайте.

Это местоположение будет вашим корневым каталогом документов в файле виртуальной конфигурации Apache позже.Добавляя -p к строке кода, команда автоматически генерирует все родительские элементы для нового каталога.

sudo mkdir -p /var/www/example.com/public_html

Вам потребуется указать действительный домен, утвержденный DNS, или IP-адрес, чтобы проверитьчто виртуальный хост работает.В этом уроке мы будем использовать example.com в качестве заполнителя для правильного доменного имени.

Однако, если вы захотите использовать неутвержденное доменное имя для проверки процесса, вы найдете информацию о том, как заставить его работать на локальном компьютере в шаге 7.

Шаг второй - предоставление разрешений Нам нужно предоставить право владения каталогом пользователю, а не просто хранить его в корневой системе.

sudo chown -R www:www /var/www/example.com/public_html 

Кроме того, важно убедиться, чточто каждый сможет прочитать наши новые файлы.

sudo chmod 755 /var/www

Теперь вы все сделали с разрешениями.

Шаг третий - создайте страницу в нашем каталоге конфигураций, нам нужно создатьновый файл с именем index.html

sudo nano /var/www/example.com/public_html/index.html

Мы можем добавить текст в файл, чтобы у нас было что посмотреть, когда IP перенаправляет на виртуальный хост.

<html>
  <head>
    <title>www.example.com</title>
  </head>
  <body>
    <h1>Success: You Have Set Up a Virtual Host</h1>
  </body>
</html>

Сохранитьи выйдите из

Шаг четвертый. Создание нового файла виртуального хоста. Следующим шагом является настройка конфигурации apache.Мы собираемся обработать дубликаты - сделайте копию файла (назвав его после имени вашего домена) в том же каталоге:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com

Шаг пятый - Включите виртуальные хосты Откройтеновый файл конфигурации:

sudo nano /etc/apache2/sites-available/example.com

Мы собираемся настроить виртуальный хост в этом файле.

Первый шаг - вставить строку для ServerName под строкой ServerAdmin.

 ServerName example.com 

ServerName указывает имя домена, которое использует виртуальный хост.

Если вы хотите сделать свой сайт доступным более чем с одним именем (например, с www в URL), вы можете включить альтернативные имена в свой файл виртуального хоста, добавив строку ServerAlias.Начало вашего файла виртуального хоста будет выглядеть следующим образом:

<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com
  [...]

Следующим шагом будет заполнение правильного корня документа.В этом разделе напишите расширение нового каталога, созданного на первом этапе.Если корень документа неверен или отсутствует, вы не сможете настроить виртуальный хост.

Раздел должен выглядеть следующим образом:

 DocumentRoot /var/www/example.com/public_html 

Вам не нужно делать никаких другихизменения в этом файле.Сохранить и выйти.

Последний шаг - активировать хост.К счастью, Ubuntu предоставляет простой способ сделать это:

sudo a2ensite example.com

Шаг шестой - перезапустите Apache Мы внесли много изменений в конфигурацию, и виртуальный хост настроен.Однако ни одно из внесенных нами изменений не вступит в силу до перезапуска Apache.Используйте эту команду для перезапуска apache:

 sudo /etc/init.d/apache2 reload 

Вы можете увидеть ошибку в строке Не удалось надежно определить полное доменное имя сервера, используя 127.0.0.1 для ServerName

Сообщениеэто всего лишь предупреждение, и вы сможете без каких-либо проблем получать доступ к своему виртуальному хосту.

Необязательный шаг седьмой - настройка локальных хостов Если вы указали свое доменное имя на IP-адрес вашего виртуального частного сервера, выможете пропустить этот шаг - вам не нужно настраивать локальные хосты.Ваши виртуальные хосты должны работать.Однако, если вы хотите опробовать ваши новые виртуальные хосты без необходимости подключения к реальному доменному имени, вы можете настроить локальные хосты только на своем компьютере.

Для этого шага убедитесь, что вы находитесь на самом компьютере, а не на вашей капле.

Чтобы выполнить этот шаг, вам необходимо знать административный пароль вашего компьютера, в противном случае вам потребуется использовать фактическое доменное имя для проверки виртуальных хостов.

Если вы работаете на Mac илиLinux, получите доступ к пользователю root (su) на компьютере и откройте файл hosts:

nano /etc/hosts

Если вы работаете на компьютере с Windows, вы можете найти инструкции по изменению файла хоста на сайте Microsoft

Вы можете добавить информацию о локальных хостах в этот файл, как показано в примере ниже.Пока эта строка есть, направление вашего браузера, скажем, на example.com, предоставит вам все данные виртуального хоста для соответствующего IP-адреса.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    example.com 

Однако, это может быть хорошей идеей дляудалите эти составленные адреса из локальной папки хостов, чтобы избежать путаницы в будущем.

Шаг восьмой - РЕЗУЛЬТАТЫ: посмотрите на ваш виртуальный хост в действии. После того, как вы закончили настройку своего виртуального хоста, вы можете увидеть, как он выглядит онлайн.Введите свой IP-адрес в браузере (т.е. http://12.34.56.789)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...