Я пытался следовать нескольким базовым руководствам, объясняющим, как запустить и запустить Apache (на ubuntu, на Amazon). Я почти ничего не понял, потому что во всех руководствах мне было сказано настроить httpd.conf (добавить DocumentRoot и т. Д.).
Теперь я наткнулся на одно руководство, в котором мне предлагалось добавить конфигурации сайта в каталог, доступный для сайтов (в / etc / apache), а затем создать символическую ссылку на него с сайтов с поддержкой сайтов. Кажется, такая настройка работает.
Но теперь я запутался - как мне настроить Apache? В большинстве руководств все еще говорится, что я должен использовать httpd.conf. Какой из них я должен использовать? Какая разница? Почему все руководства «неправильные» (если они ошибаются)?
В sites-available
метод обычно считается «путем Debian»:
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf
/etc/apache2/sites-available
файлы (обычно по одному на файл) 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 указывает «путь к содержимому сайта»