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

Как настроить Apache (сайты доступны или httpd.conf)

Я пытался следовать нескольким базовым руководствам, объясняющим, как запустить и запустить Apache (на ubuntu, на Amazon). Я почти ничего не понял, потому что во всех руководствах мне было сказано настроить httpd.conf (добавить DocumentRoot и т. Д.).

Теперь я наткнулся на одно руководство, в котором мне предлагалось добавить конфигурации сайта в каталог, доступный для сайтов (в / etc / apache), а затем создать символическую ссылку на него с сайтов с поддержкой сайтов. Кажется, такая настройка работает.

Но теперь я запутался - как мне настроить Apache? В большинстве руководств все еще говорится, что я должен использовать httpd.conf. Какой из них я должен использовать? Какая разница? Почему все руководства «неправильные» (если они ошибаются)?

В sites-available метод обычно считается «путем Debian»:

  • "основной" конфиг в /etc/apache2/apache2.conf
  • "пользовательская" конфигурация в /etc/apache2/httpd.conf
  • Vhosts в /etc/apache2/sites-available файлы (обычно по одному на файл)
    • вы можете пронумеровать их, например 00-domain.com, 01-otherdomain.com
  • порты (Listen директивы) в /etc/apache2/ports.conf
  • моды в /etc/apache2/mods-available

Вы можете манипулировать ими с помощью символических ссылок или с помощью a2 серия команд:

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

В зависимости от личных предпочтений вы можете перезапустить Apache, используя apachectl, /etc/init.d/apache2 (start|stop|reload|restart), или service apache2 (start|stop|reload|restart)

Пример, в котором вы могли бы использовать httpd.conf вместо записи vhost будет, например, для глобального правила перенаправления или перезаписи. Другие лакомые кусочки - как правило, вам следует оставить apache2.conf в одиночку, и убедитесь, что вы настроили последовательную схему именования для vhosts в sites-available каталог.

Расположение и организация файлов конфигурации настраиваются и могут меняться между основными выпусками или между выпусками.

В Apache Wiki есть удобный руководство к именам и расположению файлов конфигурации.

Поскольку файлы конфигурации могут содержать include директивы, части конфигурации могут быть разделены на файлы меньшего размера. Поскольку стандартный файл конфигурации Apache содержит множество комментариев и множество стандартных элементов, имеет смысл выделить те части, которые вы, скорее всего, измените.

Имя основного файла конфигурации может быть изменено во время компиляции, и в последних выпусках оно было изменено с httpd.conf к apache2.conf

С годами произошла определенная эволюция в организации включенных файлов конфигурации.

Например, я установил Apache2 в системе на основе Ubuntu, используя apt-get install apache2 - вот включенные файлы

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

Итак, несколько параметров конфигурации, которые могут вас заинтересовать больше всего, теперь находятся в /etc/apache2/sites-available/default.

Я вижу, что это соответствует Ubuntu документация для Apache которую я рекомендую вам прочитать в первую очередь. Если у вас есть другая документация для более старых версий Apache (или других дистрибутивов), вы можете адаптировать эту информацию в соответствии со способом организации вещей в Ubuntu.

Apache в Linux может быть установлен двух типов. один - с помощью apt-get, а другой - загрузить и извлечь tar-файл .... Таким образом, в процессе apt-get сайты обслуживаются из папки / etc / apache2 / sites-enabled, поскольку каждый сайт, обслуживающий внешний мир, настраивается в этой папке с помощью Пример файлов .conf 000-default.conf - это сайт по умолчанию, на котором разрешено показывать работу apache.

таким образом, создавая любой файл .conf на сайтах с поддержкой и направляя его в расположение контента ... этот сайт обслуживается.

Итак, чтобы добавить новый статический сайт, в папке с поддержкой сайтов должен быть создан новый файл .conf с каким бы то ни было именем example.conf. и должен добавить в него следующие строки

ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log вместе

Где, *: 80 означает «открыт для мира через порт 80» DocumentRoot / var / www / html указывает «путь к содержимому сайта»