ПРОФЕССИОНАЛЬНЫЙ ХОСТИНГ (495) 626-47-47 (круглосуточно) support@awaxhost.net
О компании Наши услуги Способы оплаты Помощь (FAQ) Контакты Реселлинг Дата-центр Партнерам
Введите имя домена: Проверить
Регистрация доменов Парковка домена Хостинг Виртуальный сервер VDS DNS-хостинг
Управление Apache в Webmin
Работа с Apache через Webmin


Apache самый популярный HTTP сервер в Интернет, благодаря своей бесплатности, лёгкой портируемости и огромному количеству возможностей и настроек. Все Linux дистрибутивы включают его в себя по умолчанию, или он может быть инсталлирован или скомпилирован под любую UNIX систему поддерживающую Webmin.
Apache обладает большим количеством настроек определенных в текстовом конфигурационном файле httpd.conf. Однако если у вас мало опыта, то настройка, с его помощью, может вызывать некоторые трудности. С момента выпуска первой версии Apache прошло уже много времени. За этот период было выпущено много релизов. Начиная с версии 1.0, каждый последующий выпуск обладал все большим количество настроек и опций. В настоящее время развитие Apache ведется по двум веткам - 1.3 и 2.0.
Сама программа Apache состоит из модулей, где каждый модуль отвечает за некоторую часть настроек и опций веб-сервера. Несколько стандартных модулей включено в каждую сборку Apache, остальные можно доустанавливать отдельно. Модули могут быть комплироваться в исполняемый файл Apache или в динамически подключаемые библиотеки.
Настройки Apache распологаются в нескольких текстовых файлах, которые содержат набор директив, по одной на строку. Каждая директива имеет имя и одно или более значений. Например путь к log файлу или MIME тип для некоторого файла. Набор директив, которые Apache умеет распозоновать зависит от набора используемых модулей. Большинство модулей добаляют несколько директив для конфигурации функций, которые они предоставляют.
Иногда вам нужно расположить более одного сайта на одном сервере. Apache легко может быть сконфигурирован для этого. Каждый из таких сайтов называется Virtual host(виртуальный хост) и объявляется в конфигурационном файле в секции . Все директивы внутри секции конкретного виртуального хоста отностятся только к нему самому и на другие хосты не влияют. Аналогично, секции и могут быть определены в конфигурационном файле и содержать директивы которые применяются к определенной директории или определенным файлам. Это часто используется для запрета доступа к некоторым файлам вашей системы.
Другой метод использования директив, которые применяются к конкретной директории - вписать их в специальный конфигурационный файл .htaccess который находится в самой директории. Часто эти файлы создаются обычными пользователями, поэтому они могут настраивать свои веб-сайты без необходимости полного доступа к главному конфигурационному файлу веб-сервера. Такой подход очень полезен в системах на которых распологается (хостится) много веб-сайтов.
Модуль Apache
Важно: Если вы не обнаружили модуль Apache в списке модулей Webmin, но точно знаете, что Apache установлен в системе, то нажмите кнопку Refresh modules(Обновить модули) в Webmin.
Примечание: Apache по умолчанию работает с канонической системой именования хостов. Т.е. при настройке сетевых параметров системы(Не Apache сервера!!!), вы указываете значение поля Host. В этом поле вы указываете имя(hostname) вашего сервера. Например, myhostname.ru или smallserver.com. Это не касаясь службы DNS! Такие имена являются именами в канонической форме. Проще говоря в общеупотребительной форме, той к которой привыкли. Пример не канонической формы - someserver.small. При попытке запуска Apache сервера с настройками по умолчанию, это приведет к следующей ошибке:
/usr/local/sbin/apachectl start :
/usr/local/sbin/apachectl start: httpd could not be started
В таком случае, проверьте правильность написания имени хоста.
Это один из наиболее комплексных и мощных Webmin модулей, так как предоставляет вам возможность конфигурировать почти каждую опцию веб-сервера. Он может определить версию установленного Apache, набор модулей которые используются веб-сервером, а также по полученной информации сконфигурировать свой интерфейс таким образом, что вы будете править только те директивы, которыми ваш веб-сервер Apache может управлять. Однако, в основном, интерфейс одинаков для всех версий Apache.
В виду того, что директив очень много и модуль позволяет работать с каждой, все они разделены на группы - Processes and Limits, Networking and Addresses и CGI Programs. Эти категории представлены иконками, которые появляются, когда вы выбираете виртуальный сервер, директории или опции для файлов, в модуле веб-сервера. В любом из этих трех случаев, вы можете видеть и изменять настройки каждой группы, нажимая на соответсвующую иконку. Apache имеет большое количество стандартных модулей и еще больше сторонних модулей. Webmin не поддерживает настройку большинства нестандартных модулей, таких как, например, mod_perl и mod_php. Нестандартные директивы просто игнорируются во всех конфигурационных файлах модулем настройки веб-сервера. Но они могут быть настроены вручную через консоль или с помощью специальных модулей webmin для этого разработанных.
Веб-сервер Apache находится в категории Server (Службы) в главном меню Webmin. При первом входе, модуль предоставит вашему вниманию список установленных модулей Apache, которые установлены, и возможности их конфигурирования. Пример показан на рисунке.

Почти в каждом случае, по умолчанию, набор модулей Apache будет доступным для вашей системы, и вы можете просто нажать на кнопку Configure (Настройка), чтобы начать использовать этот модуль. Однако, если у вас конфигурация Apache сложна, то Webmin не сможет должным образом провести анализ файла httpd.conf, чтобы найти динамически загружаемые модули. Как только вы выберете пункт конфигурации модуля, главная страница изменится как показано на рисунке.

С этого момента модуль будет загружать вам эту страницу по умолчанию при входе в него. К сожалению, Webmin не умеет определять факт повторной установки Apache. В верху главной страницы располагаются иконки для различных глобальных настроек и несколько быстрых опций. Также находится список всех текущих виртуальных серверов, заканчивающийся кнопкой Добавить новый виртуальный хост. Если у вас очень много виртуальных серверов(более 100), также будет отображена форма поиска среди них.
Первый сервер всегда является сервером по умолчанию, который содержит директивы применяемые для всех других виртуальных серверов. Кроме того, сервер по умолчанию перехватывает все запросы которые не предназначены ни для одного виртуального сервера из списка.
Модуль Apache не работает если в систему не установлен веб-сервер Apache. Поэтому при выборе этого модуля, Webmin будет показывать ошибку. Для работы модуля следует установить веб-сервер Apache из дистрибутива CD либо скачать из сети Интернет. Так как Webmin ищет установленный Apache в директориях по умолчанию выставляемых при установке веб-сервера, то вполне возможно, что его там может не оказатся если вы поставили Apache в другую директорию. Условие установки в директории по умолчанию не является обязательным. Для корректной работы, достаточно указать Webmin путь где у вас установлен Apache. В модуле Apache нажмите на пункт Module config(Конфигурация модуля) (см. выше) и впишите в соответствующие поля корректные пути установки Apache.
===================== установка apache 1.3 FreeBSD==================
#cd /usr/ports/www/apache13
#make install clean
#rehash
#ee /etc/rc.conf внести строку apache_enable="YES"
====================================================================
В версиях UNIX которые не включают веб-сервер Apache по умолчанию, также можно установить его. Достаточно найти дистрибутив до требуемую операционную систему на веб-сайте www.apache.org.
Пользовательский интерфейс модуля имеет много страниц, форм и подстраниц, позволяющий охватить все возможности по настройке Apache. Однако, существуют элементы которые повторяются на большинстве страниц:

1. Иконки категорий. Когда вы нажимаете на иконку виртуального сервера, директории или опций для файлов, иконки вроде MIME Types и CGI Programs распологаются в верху страницы. Нажатие на каждую из этих иконок приводит к отображению, полей, таблиц и форм соответствующих нажатой иконке. Обычно используется такая схема для разбивания огромного количества редактируемых Apache опций в категории, чтобы за раз не отображать огромное количество настроек. Как правило, каждая иконка представляет собой отдельную секцию конфигурационного файла веб-сервера. Есть небольшие различия в зависимости от версии Apache, которую вы используете. Но в общем и целом они не сильно отличаются друг от друга.
2. Табличные поля. На многих формах, некоторые поля используют таблицы для множественного выбора. Например, MIME types и ассоциированные к ним расширения файлов. Здесь нет ограничений на количество строк которые может иметь каждая таблица, но Webmin отображать будет только одну пустую строку. Это позволяет сэкономить место на странице, а также подразумевает, что за раз вы можете ввести только одну строку в эту таблицу. Чтобы добавить еще одну строку, вам нужно сохранить текущую строку. Она добавится к таблице, и при перезагрузке страницы вы снова увидите одну пустую строке готовую для принятия информации от вас. Эти секции позволяют производить более детализированную настройку модуля.
Запуск и остановка Apache
Прежде чем вы сможете подключатся браузером к Apache, установленному в вашей системе, этот процесс должен быть запущен. Вы можете проверить состояние веб-сервера вверху любой страницы модуля. Если вы видите кнопки - Apply Changes или Stop Apache, это значит, что сервер запущен. Если же написано Start Apache, это значит, что сервер остановлен.
Для запуска веб-сервера, нажмите на ссылку Start Apache. Если все прошло удачно, то вверху вашей текущей страницы будет написано Now running(Запущен). Если не запустилось, то на странице вы увидите текст ошибки, чтобы разобратся что же пошло не так. Обычно ошибки находятся в конфигурационном файле. Протокол ошибок можно посмотреть в файле /var/log/httpd-error.log.
Для остановки веб-сервера нажмите Stop Apache на любой странице модуля Apache. Если Webmin не сможет по каким-то причинам остановить Apache, вы будете об этом проинформированы. Если же все прошло хорошо, то вы увидите, что кнопка на которую вы нажали сменила название и это значит, что веб-сервер остановлен корректно. Когда Apache запущен, то каждая страница, вверху, имеет кнопку Apply Changes (применить изменения), которая используется для подачи сигнала веб-серверу обновить свою конфигурацию в соответствии с изменениями. После того как вы сделали некоторые изменения в этом модуле(исключая изменения в .htaccess файлах), эта кнопка(Apply Changes) позволяет их внести в текущую конфигурацю. В отличие от других модулей Webmin в которых применить изменения можно только перейдя на главную страницу модуля, в модуле Apache вы можете применить изменения с любой страницы модуля.
Редактирование страниц на вашем веб-сервере
Этот раздел объясняет, как найти и редактировать страницы в вашей системе, которые видят клиенты, когда делают запрос браузером к серверу Apache. Если вы уже знаете, как это сделать, вы можете пропустить это и перейти к разделу "Создание нового виртуального хоста".
Когда Apache установлен впервые из пакета(package), портов или из исходников, его первоначальная конфигурация будет как правило, без каких-либо созданных виртуальных серверов. Вместо этого, просто по умолчанию сервер будет существовать, выдавая страницы веб-сайта любому клиенту, который подключается через порт 80. Вы можете просматреть страницы по умолчанию, запустив веб-браузер и введя в строке адреса URL http://yourhostname/ или http://localhost/, если вы используете браузер той же системы, на которой установлен Webmin. Корневая директория, из которой Apache берет файлы для отображения будет показана на главной странице рядом с иконкой Default Server(Сервер по умолчанию).В Red Hat Linux, например, это директория /home/httpd/html по умолчанию. В FreeBSD /usr/local/www/data. В этой папке можно редактировать файлы, войдя как root или с помощью файлового менеджера Webmin. Любые изменения, которые вы сделаете будут непосредственно отражены на веб-сайте. Если планируется, что ваша система будет содержать только один веб-сайт, нет необходимости произоводить дальнейшую настройку Apache. Вы можете просто загрузить или скопировать HTML, изображения и другие файлы в каталог веб-сервера по умолчанию, чтобы создать сайт, который вы хотите. Наиболее важный файл - index.html, который выдается клиенту когда браузер не запрашивает какую-то определённую страницу, а производит запрос по доменному имени. Поскольку большинство людей в первый раз пойдет на http://yourserver/ , то страница index.html будет первой, которую они увидят. Чтобы сделать редактирование файлов веб-сайта проще, вы можете захотеть изменить владельца директории и всех ее файлов на другого, отличного от root пользователя. Простейший способ выполнить это состоит в том, чтобы все файлы и каталоги сделать доступным для чтения и исполнения всем (world-readable, world-executable).
Создание нового виртуального хоста
Если вы хотите разместить несколько веб-сайтов на сервере, то вам нужно создать виртуальные сервера для каждого из них. Прежде чем вы сможете добавить сайт, его адрес должен быть зарегистрирован в DNS, либо DNS-сервере вашей системы...либо на другом DNS сервере вашей сети. Весь процесс добавления виртуального сервера следующий:
1. Определите имя, которое будет использоваться как URL для нового веб-сайта, например, www.example.com.
2. Определите, ваш новый сайт будет доступен по IP (например 192.168.1.12), или по имени(например example.com). Сайты по имени без проблем работают со всеми браузерами, за исключением очень старых, и это, безусловно, лучший выбор на сегодня. IP-основанные сайты будут работать с любым браузером, но нуждаются в собственном отдельном IP-адресе. IP-основанные сайты имеют смысл лишь тогда, если вам необходимо настроить виртуальный FTP или POP3 сервер для домена, поскольку IP-адресов часто не хватает.
3. Если ваш сайт будет на основе IP, используйте Network Configuration(Настройка сети) модуль, чтобы добавить новый виртуальный IP-адрес внешнего сетевого интерфейса в вашу систему. Убедитесь в том, что он будет активизирован в момент загрузки системы, и действует сейчас. Если ваша система имеет только один статический IP интернет-адрес, присвоенный вашим ISP(провайдер), то все дополнительные виртуальные IP адреса, которые вы добавите к ней работать не будут. В этом случае, вам придется использовать имена для виртуальных серверов или просить, чтобы ваш ISP выдал вам больше адресов для этих целей.
4. Если домен (например) example.com уже существует на DNS-сервере, добавьте запись для www.example.com с внешним IP-адресом вашей системы (для именных сайтов) или IP-адрес установленный на предыдущем этапе (для IP-сайтов). Если домен еще не существует, вы должны добавить его в DNS-сервер и зарегистрировать его У DNS регистратора. Ниже будет объяснятся, как добавить записи и домены в деталях.
5. Если сайт будет относиться к другому пользователю, отличному от root или другого пользователя, необходимо добавить в UNIX учетную запись для этого пользователя в модуле Users and Groups(Пользователи и группы). Это хороший выход если файлы будут находится под управлением разных людей. При создании учетной записи пользователя, убедитесь, что она будет иметь домашнюю директорию, например /home/example. Затем создайте подкаталог с именем www в домашнем каталоге пользователя и убедитесь, что новый пользователь будет иметь право на чтение/запись в эту папку. Это может быть сделано автоматически для новых пользователей, путем создание поддиректории www в /etc/skel, или там, где распологаются файлы по умолчанию для новых пользователей в вашей системе.
6. Если сайт будет использовать стандартный HTTP порт 80 (а это почти всегда так), то вы можете перейти к шагу 8. В противном случае щелкните по Networking and Addresses(Сеть и адресация) в модуле Apache веб-сервера на главной странице и заполните форму показанную на рисунке.

7. В пустую строку Listen on addresses and ports(Прослушивание адреса: порт), выберите All(Все) в колонке Address(Адрес) и снимите галочку в колонке Port(порт) Default(по умолчанию). Затем введите номер TCP порта для вашего веб-сайта в следующем пол и нажмите кнопку Save(сохранить) в нижней части страницы.
8. На главной странице модуля, перейдите к форме Create a New Virtual Server(Создать новый виртуальный сервер) распологающуюся ниже списка существующих виртуальных хостов.
9. При создании IP-based(IP-основанного) виртуального сервера, вы должны ввести виртуальный IP-адрес в поле Specific address(Специфичные адреса), который был добавлен в шаге 3. При создании name-based(имя-основанного) виртуального сервера, введите внешний IP адрес вашей системы. Если ваш Apache сервер был настроен принимать соединения на основе name-based(имя-основанных) с любого IP-адреса, вы можете выбрать опцию Any address(Любые адреса). Если ваш новый виртуальный сервер будет использовать иной порт, кроме 80 и будет единственным сервером, то вы можете выбрать опцию Any address(Любой адерс), тогда он будет принимать все входящие запросы приходящие на этот порт.
10. При создании IP-based(IP-основанного) виртуального сервера, снимите галочку Add name virtual server(Добавить имя виртуального сервера). Для name-based(имя-основанного) эту опцию следует оставить включенной.
11. Если новый виртуальный хост собираетесь использовать нестандартный порт, введите его номер в поле Порт.
12. В поле, Корневой каталог веб-сайта, введите полный путь к каталогу, который будет содержать файлы для этого веб-сайта. Например, это может быть /home/example/www.
13. В поле Server Name(Имя сервера) введите имена хостов, которые клиенты будут использовать для отыскания этого сайта, например - www.example.com. Вы можете ввести несколько имен, например - web.example.com и example.com. Если это будет name-based(имя-основанный) сервера, то он может быть доступен на нескольких URL.
14. Если у вас отсутствует отдельный файл в вашей системе, который содержит все виртуальные хосты, оставьте поле Add virtual server to file(Добавить виртуальный сервер в файл) в значении Standard http.conf file(стандартный httpd.conf файл). В противном случае, вы можете выбрать файл и ввести путь к нему. Убедитесь, что выбранный файл, является используемым Apache (например, директивой Include в httpd.conf) иначе виртуальный хост будет неиспользуемым и не будет появляться в Webmin. Если вы всегда используете один и тот же отдельный файл для хранения виртуальных хостов, то вы всегда сможете его использовать через поле Add virtual server to file(Добавить виртуальный сервер в файл).
15. Чтобы иметь в Webmin копии всех директив из другого виртуального сервера, вы можете воспользоватся функцией Copy directives from menu(Копирование директив из меню). Это может быть полезно, если все ваши виртуальные хосты имеют аналогичную конфигурацию.
16. Если вы заполнили всю форму, нажмите кнопку Создать. Новый виртуальный сервер будет добавлен в файл конфигурации Apache и список серверов на главной странице.
17. Нажмите на иконку для нового виртуального сервера и вы увидите страницу по его настройке. Пример показан на рисунке.

18. Пролистните вниз, под формой Per-Directory(Для каждой директории) опции, введите корневой каталог сайта, который вы вводили в шаге 11. Убедитесь в том, что поле тип установлено в значение Directory(Директория), а RegExp? поле в значение Exact match(точное).
19. Нажмите кнопку Создать, чтобы добавить новую секцию, в файл конфигурации для каталога. Это необходимо для предоставления клиентам права на просмотр файлов, содержащихся в каталоге, потому что по умолчанию каталог конфигурации Apache закрыт для доступа.
20. Нажмите на иконку для нового каталога, который был добавлен к виртуальному серверу. Открывшаяся страница будет подобна той, что на рисунке выше.
21. Нажмите на иконку Document Options(Опции документа) и измените поле Directory options(Опции каталога) в значение Selected Below(Выбранный ниже). Под колонкой Set for directory измените значение Generate directory indexes(Создавать индексы) в значение Yes(Да). Затем нажмите кнопку Save(Сохранить) внизу страницы.
22. Для того, чтобы все ваши изменения стали активны, щелкните на кнопке Apply changes(Применить изменения) в верхней части любой страницы.
23. Вы или пользователь, который владеет виртуальным хостом, то теперь можете начать добавлять файлы в корневой каталог веб-сайта. Результат вы можете проверить, введя URL (например, www.example.com/) в вашем веб-браузере и убедитесь, что все работает правильно. Когда Apache получает HTTP запрос, он должен сначала определить к какому виртуальному серверу он относится. В первую очередь смотрится на имя виртуального хоста, к которому обращается клиент, затем порт. Также определяется откуда пришел запрос - IP адрес клиента и порт с которого послан запрос. Если такового виртуального хоста нет в системе, то клиент будет переадресован на хост по умолчанию. Name-based(имя-основанные) виртуальные сервера могут быть доступны только по адресам, перечисленным в поле Addresses for name virtual servers(Адреса для имя-основанных виртуальных серверов) на странице Networking and Addresses(Сеть и адресация). Если Вы будете следовать инструкциям выше, то адрес будет добавлен в этот список автоматически, когда вы создаете новый виртуальный сервер. Если все виртуальные серверы на вашей системе будут name-based(имя основанные), вы можете открыть эту(Networking and Addresses) страницу, выбрать опцию Include all addresses(Включить все адреса), и нажать кнопку Сохранить. Тогда Apache будет принимать все запросы с любых IP адресов. Это также имеет смысл, если ваша система имеет динамически присваиваемый IP-адрес, и вы хотите содержать несколько виртуальных хостов. После того как виртуальный сервер был создан, вы можете изменить его настройки, или удалить его, выполнив следующие действия:
1. На модуля главной странице, нажмите иконке виртуального сервера.
2. Пролистайте до Virtual Server Details(Подробности виртуального сервера)
3. Измените поля адреса, портов и другие, чтобы получить желаемый эффект. А после этого нажмите кнопку Сохранить. Эти поля имеют тот же смысл, как при создании виртуального хоста. Если изменился IP-адрес name-based(имя-основанного) виртуального сервера вам необходимо произвести на странице Networking and Addresses(Сеть и адресация) введя измененные параметры. Или, если вы хотите избавиться от виртуального сервера и всех конфигурационных директив, то страница содержит кнопку Удалить Виртуальный сервер.
4. Перейти на главную страницу модуля и нажмите на ссылку Применить изменения, чтобы изменения вступили в силу.
Примечание: Вы не можете изменить настройки для сервера по умолчанию, а также вы не можете удалить его.