Web-сервер представляет собой очень сложный программный продукт, который работает на разных платформах и в разных операционных системах. Для корректной работы в установленной системе его необходимо настроить.
По умолчанию настройки Apache расположены в файле "httpd.conf " в каталоге "conf ".
Следует обратить особое внимание на путь к файлам в конфигурационных файлах Apache и РНР. Вам часто придется указывать пути к различным каталогов и файлов. В операционных системах UNIX и Windows применяются различные разделители каталогов. В UNIX используется прямая косая черта (/) в Windows - обратная (\). В некоторых директивах Apache и РНР работают оба вида разделителей каталогов. Но поскольку Apache и РНР изначально разрабатывались под UNIX, то, применяя их "родной" формат, вы сможете избежать ряда проблем. Поэтому пути в конфигурационных файлах "httpd.conf " и "php.ini " рекомендуется писать через слеш в формате UNIX - "/".
К примеру:
ScriptAlias "/php_dir/" "c:/php/"
Директивы файла httpd.conf
:
Port
- задает порт TCP, который используется Apache для установления соединения. По умолчанию указывается порт 80. Также порт можно указать в директиве ServerName
.
Port 80
Единственная причина установления нестандартного порта - это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080, номер порта следует указывать в адресе "http://localhost:8080/
".
ServerAdmin
- содержит заданный адрес электронной почты администратора Web-сервера. Именно этот адрес будет отображаться при ошибках работы сервера.
ServerAdmin [email protected]
ServerName
- содержит заданное имя компьютера для сервера.
ServerName localhost:80
ServerRoot
- указывает на каталог, содержащий файлы Web-сервера Apache.
ServerRoot "C:/web_server/apache"
DocumentRoot
- определяет каталог, в котором расположены файлы Web-сайта.
DocumentRoot "C:/web_server/apache/htdocs"
Контейнер
Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри каталога, заданного в директиве DocumentRoot
.
Options FollowSymLinks Includes Indexes
AllowOverride All
Директива AllowOverride
установлена в значение ALL
, позволяет переопределять значение главного конфигурационного файла "httpd.conf
" в файлах ".htaccess
".
Директива Options FollowSymLinks позволяет Apache следовать символическим ссылке.
Директива Options Includes позволяет выполнение директив SSI (Server Side Includes, включения на стороне сервера) в коде страниц Web-сайта.
Директива Options indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.
DirectoryIndex
- содержит заданный список индексных файлов, которые следует отображать при обращении в каталог без указания имени файла.
DirectoryIndex index.html index.htm index.php
Директива ScriptAlias
используется для создания псевдонима каталога "/cgi-bin/
", в котором располагаются программы и сценарии CGI.
ScriptAlias /cgi-bin/ "C:/web_server/apache/cgi-bin/"
Далее необходимо настроить права и ограничения на каталог cgi-bin
.
AllowOverride None
Options ExecCGI
Order allow, deny
Allow from all
Директива AllowOverride None говорит о том, что опции этого каталога не могут быть переопределены файлами ".htaccess ".
Директива Options ExecCGI позволяет выполнение CGI-сценариев.
Директивы order allow , deny и Allow from all разрешают доступ к каталогу.
AddHandler
- заставляет Apache рассматривать файлы с расширениями "ехе
" и "bat
", как CGI - скрипты.
AddHandler cgi-script .bat .exe
DefaultType
устанавливает заголовок файлов, тип которых не может быть определен по расширению. В данном случае все неизвестные файлы воспринимаются как обычные текстовые файлы. Для того чтобы все неизвестные расширения файлов обрабатывать, как HTML, измените директиву следующим образом:
DefaultType text/html
AddDefaultCharset
- устанавливает кодировку по умолчанию, если кодировка не задана в заголовке HTML-документа.
AddDefaultCharset windows-1251
Для конфигурации Apache есть 4 основных подхода:
- Компиляция / инсталляция: сборка из исходников позволяет выбрать необходимые модули, установить нужные флаги, пути и т. д.
- Параметры командной строки: позволяют конфигурировать Apache при запуске.
- Глобальные конфигурационные файлы: главный файл по умолчанию называется httpd.conf.
- Локальные конфигурационные файлы: использование.htaccess.
Конфигурационные директивы в файле httpd.conf можно разбить на 3 категории:
- Директивы, контролирующие общий процесс работы.
- Директивы виртуальных хостов.
- Настройки виртуальных хостов.
К директивам первой группы относятся
Они применяются в привязке к конкретной файловой структуре либо к URL. В первом случае это
Локальная конфигурация реализована на основе.htaccess. Имя этого файла можно изменить в секции AccessFileName. Изменения в файле.htaccess вступают в силу немедленно, без перезапуска, его действие распространяется на каталог, в котором он лежит, со всеми вложенными подкаталогами. Избыточное использование.htaccess может повлиять на производительность сервера.
Содержимое основного конфига httpd.conf можно разделить на 5 секций:
- Глобальные директивы.
- применимы к выиртуальным серверам. , - применимы к каталогам. , - применимы к файлам. , - применимы к URL.
Директива может иметь несколько параметров, тип параметров может различаться.
Каждая директива обрабатывается определенным модулем.
Например, директива
Следующая директива будет обработана модулем mod_env, будет установлена переменная окружения:
Содержимое локального файла.htaccess можно разделить также на 5 секций:
- AuthConfig - контроль авторизации.
- Limits - контроль доступа.
- Options - конкретные настройки каталогов.
- FileInfo - установка атрибутов для документов.
- Indexes - индексация каталогов.
В Ubuntu apache находится по адресу /etc/apache2 и, помимо конфигурационных файлов, содержит директории "sites-available" и "sites-enabled". В первой директории находится список сайтов, которые доступны на сервере, а во второй - те, которые обслуживаются сервером. Это дает возможность быстро добавлять и удалять сайты, которые будут обслуживаться сервером, без необходимости физически удалять их из DocumentRoot. В дополнение к этому другие файлы настроек могут быть добавлены с использованием инструкции Include, а символы группировок могут использоваться для включения множества файлов настроек. Любая инструкция может быть добавлена в любой из этих файлов настроек. Сервер также читает файлы, содержащие типы mime документов; имя файла задается инструкцией TypesConfig, обычно через /etc/apache2/mods-available/mime.conf, который также может включать дополнения и переопределения, а по умолчанию используется /etc/mime.types.
httpd.conf - конфигурация сервера Apache
Apache настраивается путем размещения директив в обычные текстовые файлы конфигурации. Основной конфигурационный файл сервера Apache - httpd.conf
.
С помощью директивы Include могут быть добавлены другие конфигурационные файлы. Любая директива может быть установлена в любом из этих файлов конфигурации.
Apache 2.4 конфигурируется файлами находящимися в подкаталоге (по умолчанию) - conf
(C:\Program Files\Apache Software Foundation\Apache2.4\conf\). Это - те же самые файлы, что и для конфигурирования на OS Unix, но есть несколько директив специально предназначенных для Windows.
Главный файл конфигурации сервера Apache HTTP 2.4 обычно называется - httpd.conf .
Он содержит директивы и параметры, управляющие работой Web-сервера, виртуальных серверов, а также всех программных модулей Apache 2.4. . Apache - модульный сервер. Это означает, что только самые основные функциональные возможности включены в основной сервер. Расширение функций, доступно при помощи динамически загружаемых модулей. Файлы конфигурации содержат одну директиву в строке. Наклонная черта влево "\" может использоваться как последний символ в строке, для указания того, что директива продолжается на следующую строку. Не должно быть никаких других символов или пробелов между наклонной чертой влево и концом строки. Директивы в файлах конфигурации нечувствительны к регистру, но аргументы директив - часто чувствительны. Строки, которые начинаются с символа "#", считают комментариями, и игнорируется. Комментарии не могут быть включены в строку после директивы конфигурации. Пустые строки и пробелы, перед директивой игнорируются.
Директива
- команда конфигурации, которая контролирует один или несколько аспектов поведения сервера Apache.
Директивы, размещенные в основных файлах конфигурации, относятся ко всему серверу
.
Для проверки файлов конфигурации на синтаксические ошибки, используется команда httpd.exe -t .
При установке Apache 2.4 были введены:
В Network Domain (Сетевой Домен) - server-apache24.ru
в Server Name (Имя сервера) - www.server-apache24.ru
в Administrator"s Email Adress (Почтовый Адрес Администратора) - [email protected]
Следовательно, server-apache24.ru - будет именем главного сайта сервера Apache.
Главный сайт сервера Apache конфигурируется в файле - httpd.conf .
Внесение изменений в файл конфигурации сервера Apache - httpd.conf
Для обращения к главному сайту сервера Apache по доменному имени - server-apache24.ru , создайте на диске каталог - C:\server-apache24.ru
server-apache24.ru
- C:\server-apache24.ru
- logs
- access.log
- error.log
- www
- index.html
- logs
каталог server-apache24.ru
В корне диска C:
нужно создать каталог server-apache24.ru
В нём обязательно
должны быть папки:
logs
с "пустыми" файлами access.log
и error.log
и
www
с файлом index.html
См. в файле httpd.conf строки -
209 ServerAdmin [email protected]
218 ServerName www.server-apache24.ru:80
243 DocumentRoot "C:/server-apache24.ru/www"
245
httpd.conf - конфигурирование сервера Apache 2.4
httpd.conf
.
Действие директив главного файла конфигурации распространяется на весь сервер
Все записи, за исключением выделенных красным цветом, должны быть закомментированы. Строки начинающиеся с символа "#" - это комментарии.
# # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See for detailed information. # In particular, see # # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They"re here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server"s control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so "logs/access_log" # with ServerRoot set to "/usr/local/apache2" will be interpreted by the # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" # will be interpreted as "/logs/access_log". # # NOTE: Where filenames are specified, you must use forward slashes # instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). # If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply # an explicit drive letter in absolute paths to avoid confusion. # # ServerRoot: The top of the directory tree under which the server"s # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.4" # # Mutex: Allows you to set the mutex mechanism and mutex file directory # for individual mutexes, or change the global defaults # # Uncomment and change the directory if mutexes are file-based and the default # mutex file directory is not on a local disk or is not appropriate for some # other reason. # # Mutex default:logs # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule" lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l") do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authn_socache_module modules/mod_authn_socache.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so #LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so #LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so #LoadModule buffer_module modules/mod_buffer.so #LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule charset_lite_module modules/mod_charset_lite.so #LoadModule data_module modules/mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module modules/mod_dbd.so #LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so #LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule file_cache_module modules/mod_file_cache.so #LoadModule filter_module modules/mod_filter.so #LoadModule headers_module modules/mod_headers.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module modules/mod_ldap.so #LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule lua_module modules/mod_lua.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_express_module modules/mod_proxy_express.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule ratelimit_module modules/mod_ratelimit.so #LoadModule reflector_module modules/mod_reflector.so #LoadModule remoteip_module modules/mod_remoteip.so #LoadModule request_module modules/mod_request.so #LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/mod_rewrite.so #LoadModule sed_module modules/mod_sed.so #LoadModule session_module modules/mod_session.so #LoadModule session_cookie_module modules/mod_session_cookie.so #LoadModule session_crypto_module modules/mod_session_crypto.so #LoadModule session_dbd_module modules/mod_session_dbd.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so #LoadModule socache_dbm_module modules/mod_socache_dbm.so #LoadModule socache_memcache_module modules/mod_socache_memcache.so #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so #LoadModule speling_module modules/mod_speling.so #LoadModule ssl_module modules/mod_ssl.so #LoadModule status_module modules/mod_status.so #LoadModule substitute_module modules/mod_substitute.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so # После установки PHP уберите комментарии со строк Load, Add, PHP #LoadModule php7_module "c:/php7/php7apache2_4.dll" #AddHandler application/x-httpd-php .php # configure the path to php.ini #PHPIniDir "c:/php7" # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User daemon Group daemon # "Main" server configuration # # The directives in this section set up the values used by the "main" # server, which responds to any requests that aren"t handled by a # definition. These values also provide defaults for # any containers you may define later in the file. # # All of these directives may appear inside containers, # in which case these default settings will be overridden for the # virtual host being defined. # # # ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. [email protected] # ServerAdmin [email protected] # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn"t have a registered DNS name, enter its IP address here. # ServerName www.server-apache24.ru:80 # # Deny access to the entirety of your server"s filesystem. You must # explicitly permit access to web content directories in other # blocks below. # AllowOverride none Require all denied # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something"s not working as # you might expect, make sure that you have specifically enabled it # below. # # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # # DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.4/htdocs" было DocumentRoot "C:/server-apache24.ru/www" # было # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn"t give it to you. # # The Options directive is both complicated and important. Please see # //httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # # Options Indexes FollowSymLinks было Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None было AllowOverride All # # Controls who can get stuff from this server. # Require all granted AddHandler server-parsed .shtml .shtm .html .htm # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # DirectoryIndex index.html # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host"s errors will be logged there and not here. # # ErrorLog "logs/error.log" было ErrorLog c:/server-apache24.ru/logs/error.log # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a # container, they will be logged here. Contrariwise, if you *do* # define per- access logfiles, transactions will be # logged therein and *not* in this file. # # CustomLog "logs/access.log" common было CustomLog c:/server-apache24.ru/logs/access.log common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # #CustomLog "logs/access.log" combined # # Redirect: Allows you to tell clients about documents that used to # exist in your server"s namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo //www.server-apache24.ru/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # # ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin/" было ScriptAlias /cgi-bin/ "C:/server-apache24.ru/cgi-bin/" # # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # #Scriptsock cgisock # # "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # # AllowOverride None Options None Require all granted # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf/mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located. # #MIMEMagicFile conf/magic # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C:/server-apache24.ru/www/404error.html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: Maximum number of Ranges in a request before # returning the entire resource, or one of the special # values "default", "none" or "unlimited". # Default setting is to accept 200 Ranges. #MaxRanges unlimited # # EnableMMAP and EnableSendfile: On systems that support it, # memory-mapping or the sendfile syscall may be used to deliver # files. This usually improves server performance, but must # be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise # broken on your system. # Defaults: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile on # Supplemental configuration # # The configuration files in the conf/extra/ directory can be # included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary. # Server-pool management (MPM specific) #Include conf/extra/httpd-mpm.conf # Multi-language error messages Include conf/extra/httpd-multilang-errordoc.conf # Fancy directory listings Include conf/extra/httpd-autoindex.conf # Language settings Include conf/extra/httpd-languages.conf # User home directories Include conf/extra/httpd-userdir.conf # Real-time info on requests and configuration #Include conf/extra/httpd-info.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf # Distributed authoring and versioning (WebDAV) #Include conf/extra/httpd-dav.conf # Various default settings Include conf/extra/httpd-default.conf # Configure mod_proxy_html to understand HTML4/XHTML1 Include conf/extra/proxy-html.conf # Secure (SSL/TLS) connections #Include conf/extra/httpd-ssl.conf # # Note: The following must must be present to support # starting without SSL on platforms with no /dev/random equivalent # but a statically compiled-in mod_ssl. # SSLRandomSeed startup builtin SSLRandomSeed connect builtin # # uncomment out the below to deal with user agents that deliberately # violate open standards by misusing DNT (DNT *must* be a specific # end-user choice) # # #BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader unset DNT env=bad_DNT #
Изменения
.
Команда - httpd.exe -k restart
, позволяет завершить любые выполняемые сервером Apache операции и вынуждает Apache перечитать конфигурационный файл.
Поиск и устранение ошибок при установке сервера Apache
Apache поставляется с утилитой под названием Apache Service Monitor. С её помощью вы можете увидеть и управлять состоянием всех установленных служб Apache на любом компьютере в сети.
Перезапуск Apache 2.4
Так как изменения
в основных конфигурационных файлах вступят в силу только при запуске или перезагрузке сервера Apache
,
нужно перезапустить сервер.
ApacheMonitor
Значок ApacheMonitor можно увидеть нажав на кнопку - отображать скрытые значки
Дважды щелкните левой кнопкой мыши на значке Apache Service Monitor .
Пезапустить сервер Apache можно нажав на кнопку Restart
в окне программы Apache Service Monitor.
Или - Stop
и затем - Start
.
Если вы внесли изменения только в файл httpd.conf,
то введя в адресную строку браузера - localhost
или - 127.0.0.1
,
вы увидите страницу - Ошибка 403 (Error 403)
.
Access forbidden!
You don"t have permission to access the requested directory. There is either no index document or the directory is read-protected.If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.1Apache/2.4.4 (Win64)
Доступ запрещен!
У вас нет разрешения на доступ к запрошенному каталогу. Отсутствует индексный документ или каталог защищен от чтения.Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.
Ошибка 403
Войдите с правами администратора в командную строку - Администратор - Командная строка
и введите:
"C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt
Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>"C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt C:\Windows\system32>
На диске C:/
будет создан файл errapache.txt
AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist (OS 10048) Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address [::]:80 (OS 10048) Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00451: no listening sockets available, shutting down AH00015: Unable to open logs
AH00112: Предупреждение (Warning):
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
Они не существуют (does not exist)
.
Но главное - это ошибки OS 10048:
не удалось привязать к адресу [::]:80 (could not bind to address [::]:80)
не удалось привязать к адресу 0.0.0.0:80 (could not bind to address 0.0.0.0:80)
Войдите в командную строку и введите:
netstat -aon
Администратор: Командная строка
Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>netstat -aon Активные подключения Имя Локальный адрес Внешний адрес Состояние PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612 TCP [::]:80 [::]:0 LISTENING 1612 TCP 127.0.0.1:49693 127.0.0.1:49694 ESTABLISHED 5612 TCP 127.0.0.1:49694 127.0.0.1:49693 ESTABLISHED 5612 TCP 127.0.0.1:51341 0.0.0.0:0 LISTENING 3920 TCP 127.0.0.1:52006 0.0.0.0:0 LISTENING 3708 TCP 192.168.0.100:139 0.0.0.0:0 LISTENING 4 TCP 192.168.0.100:51330 34.226.135.28:443 ESTABLISHED 1232 TCP 192.168.0.100:51345 52.196.85.70:443 ESTABLISHED 1232 TCP 192.168.0.100:52796 88.212.253.127:21 ESTABLISHED 1128 TCP 192.168.0.100:53160 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53162 151.101.128.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53176 151.101.112.134:443 ESTABLISHED 3712 TCP 192.168.0.100:53179 151.101.128.233:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53223 23.61.217.175:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53230 185.29.133.52:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53246 2.18.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 ESTABLISHED 5236 C:\Windows\system32>
Идентификатор процесса, более известный как идентификатор PID - это уникальный номер. Каждый процесс, запущенный в системе имеет уникальный идентификатор.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612
TCP [::]:80 [::]:0 LISTENING 1612
Откройте Диспетчер задач
Только служба Apache2.4 имеет идентификатор PID - 1612
В каталоге C:/Program Files/Apache Software Foundation/Apache2.4/conf/extra/
откройте в Блокноте файл - httpd-vhosts.conf
Прежде чем вносить какие-либо изменения, сделайте резервную копию файла - httpd-vhosts.conf .
Замените в секциях VirtualHost
httpd-vhosts.conf - содержание файла конфигурации сервера Apache 2.4
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn"t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
В каталоге C:\Windows\System32\drivers\etc\
откройте в Блокноте файл - hosts
И добавьте в него строку:
127.0.0.1 localhost www.server-apache24.ru server-apache24.ru
Пезапустите сервер Apache, нажав на кнопку Restart
в Apache Service Monitor.
Введите в адресную строку браузера - server-apache24.ru
и увидите, созданную вами, индексную страницу главного сайта сервера Apache2.4
Индексная страница сайта должна находиться в подкаталоге www (C:\server-apache24.ru\www\)
После установки сервера Apache 2.4 войдите в командную строку и введите команды:
httpd.exe -t
Будет получено два предупреждения.
Администратор: Командная строка
Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>cd C:\Program Files\Apache Software Foundation\Apache2.4\bin\ C:\Program Files\Apache Software Foundation\Apache2.4\bin>httpd.exe -t AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist Syntax OK C:\Program Files\Apache Software Foundation\Apache2.4\bin>
Apache – самый популярный веб-сервер в сети Интернет, который обслуживает больше половины активных сайтов.
В этой статье мы рассмотрим общие конфигурационные файлы и основные параметры Apache в системе Ubuntu/Debian
Примечание : Файлы Apache отличаются в зависимости от дистрибутива, потому эта статья не подходит пользователям RHEL.
Установка Apache в Ubuntu/Debian
Если веб-сервер Apache ещё не установлен, используйте команды:
sudo apt-get update
sudo apt-get install apache2
Чтобы убедиться, что установка прошла успешно, откройте в браузере IP-адрес своего сервера. На экране должна появиться приветственная страница Apache:
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Иерархия файлов Apache
В Ubuntu и Debian Apache хранит конфигурационные файлы в папке /etc/apache2.
cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/ sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/
Эта папка содержит ряд простых текстовых файлов и подкаталогов. Наиболее важные из них:
- apache2.conf: главный конфигурационный файл сервера. В нём можно выполнить почти все конфигурации.
- ports.conf: этот файл задаёт порты, которые прослушиваются виртуальными хостами. Проверьте этот файл при настройке SSL.
- conf.d/: этот каталог управляет отдельными аспектами конфигурации Apache. К примеру, с его помощью часто определяется конфигурация SSL и стандартная политика безопасности.
- sites-available/: этот каталог хранит все доступные виртуальные хосты, которые определяют, какой контент будет обслуживаться на сайте. Эти хосты не активны.
- sites-enabled/: этот каталог определяет активные виртуальные хосты. Как правило, он содержит символические ссылки на файлы, определенные в каталоге sites-available.
- mods-/: эти каталоги работают по тому же принципу, что и sites-available и sites-enabled. Они хранят модули.
Как видите, конфигурации Apache не ограничены главным конфигурационным файлом, они распределены между несколькими файлами и каталогами. Такую структуру конфигураций можно расширить при помощи новых файлов.
Конфигурационный файл Apache
Основные настройки Apache хранятся в /etc/apache2/apache2.conf.
Этот файл содержит три главных раздела: глобальные настройки Apache, настройки сервера по умолчанию и конфигурации виртуальных хостов.
В Ubuntu и Debian большая часть файла отведена под глобальные настройки, а конфигурация сервера по умолчанию и настройки виртуальных хостов обрабатываются в конце файла с помощью директивы Include.
В конце файла вы найдёте множество настроек Include. Они определяют модули, добавляют документ ports.conf, определённые файлы из каталога conf.d/ и настройки виртуальных хостов из каталога sites-enabled/.
Сосредоточимся на глобальных настройках веб-сервера Apache.
Глобальные настройки Apache
Данный раздел рассматривает важные параметры глобальных настроек Apache.
Timeout
По умолчанию этот параметр имеет значение 300. Это значит, что на выполнение каждого запроса у сервера есть максимум 300 секунд. В большинстве случаев это значение очень большое, и его рекомендуют уменьшить до 30-60 секунд.
KeepAlive
Если этот параметр имеет значение On, сервер позволит клиенту запрашивать несколько объектов в рамках одного соединения. Если параметр имеет значение Off, то каждый новый запрос будет создавать индивидуальное соединение. Такое поведение может привести к перенагрузке сайта с большим трафиком.
MaxKeepAliveRequests
Этот параметр позволяет определить максимальное количество запросов для одного соединения. Это позволяет увеличить производительность Apache.
Значение 0 позволит веб-серверу обрабатывать неограниченное количество запросов в рамках одного соединения.
KeepAliveTimeout
Данный параметр устанавливает промежуток времени между запросами. Если в течение указанного времени клиент не создал следующий запрос. Веб-сервер прервёт соединение. Если в дальнейшем этот клиент отправит запрос, сервер создаст новое соединение.
Настройки MPM
Чтобы узнать, с помощью каких модулей был скомпилирован Apache, откройте терминал и наберите:
apache2 -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c
Как видите, в данном случае веб-сервер скомпилирован с модулем prefork.c и файлом apache2.conf.
Конфигурации виртуальных хостов
Стандартный виртуальный хост находится в файле default в каталоге sites-available.
Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:
sudo nano /etc/apache2/sites-available/default
ServerAdmin webmaster@localhost
DocumentRoot /var/www
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
. . .
По умолчанию виртуальный хост обрабатывает запросы на порте 80.
Это не означает, что веб-сервер обязательно будет обрабатывать каждый запрос через этот порт. Apache может переопределять конфигурации.
Настройки виртуального хоста высшего уровня
Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.
Параметр ServerAdmin указывает контактный адрес электронной почты, который будет использоваться в случае возникновения проблем на сервере. Этот адрес можно вставить на страницу ошибки. Для этого параметр ServerSignature (в файле /etc/apache2/conf.d/security) должен иметь значение Email.
Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.
Параметр ServerAlias позволяет добавить алиасы сайта – альтернативные имена и пути, ведущие к одному контенту. Так, например, часто устанавливается алиас домена с www.
DocumentRoot задаёт каталог, в котором веб-сервер хранит контент данного виртуального хоста. В Ubuntu для этого по умолчанию используется /var/www.
Настройки каталогов
В конфигурации виртуального хоста есть специальный раздел для настройки обработки отдельных каталогов файловой системы. Эти настройки также можно переопределять.
Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.
По умолчанию Ubuntu не накладывает никаких ограничений на файловую систему. Apache рекомендует добавить несколько стандартных ограничений доступа, например:
Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from All
Это заблокирует доступ ко всему контенту, если в последующих определениях каталогов не указано иное.
Параметр AllowOverride позволяет настроить переопределение конфигураций с помощью файлов.htaccess. Чтобы переопределить настройки, файл.htaccess должен находиться в каталоге с контентом. По умолчанию эта функция отключена.
Настройки Alias и ScriptAlias
Иногда перед разделом Directory идут параметры Alias и ScriptAlias.
Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.
ScriptAlias работает аналогичным образом, но содержит путь к каталогам с исполняемыми файлами.
К примеру, такая строка в виртуальном хосте для сайта example.com откроет доступ к контенту в каталоге /path/to/content/ при запросе example.com/content/.
Alias /content/ /path/to/content/
Помните, что открывая доступ к дополнительным каталогам, нужно устанавливать ограниченные привилегии на них.
Включение сайтов и модулей в Apache
Создав файл виртуального хоста, вы можете включить его. Для этого нужно создать символическую ссылку на файл в каталоге sites-enabled:
sudo a2ensite файл_виртуального_хоста
Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:
sudo service apache2 reload
Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:
sudo a2dissite файл_виртуального_хоста
После этого нужно снова перезапустить веб-сервер:
sudo service apache2 reload
Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):
a2enmod
a2dismod
Они работают так же, как и ранее упомянутые команды a2ensite иa2dissite. После включения или отключения модуля нужно перезапускать веб-сервер.
Заключение
Данная статья охватывает только базовые настройки файлы веб-сервера Apache. Набор функций Apache можно значительно расширить с помощью модулей.
Если вам нужна дополнительная информация о веб-сервере, обратитесь к
Apache - это целое семейство различных проектов, первым из которых был Web-сервер. Web-сервер представлен демоном httpd, поэтому проект Apache по разработке Web-сервера называется httpd.
Конфигурационные файлы Web-сервера httpd в GNU/Linux в различных дист- рибутивах размещаются в разных каталогах: /etc/httpd/conf/, или /etc/apache2, или ином. Главный конфигурационный файл называется httpd.conf, причем часто выделенные для каких-либо групп настроек индивидуальные конфигура- ционные файлы подключаются к httpd.conf с помощью директивы include.
В целом, настройки httpd можно разделить на три основные категории:
r секция глобальных настроек;
r настройки для главного сервера;
r настройки для виртуальных узлов.
Кроме этих секций можно выделить настройки для обработки заданных ти- пов файлов, MIME-расширений и спецификаций обработки национальных языков.
К глобальным настройкам сервера относятся те из них, которые влияют на работу сервера Apache в целом. Далее приводятся основные глобальные настройки:
r ServerRoot - базовый каталог установки, относительно которого в фай- ловой системе GNU/Linux размещаются конфигурационные файлы Apache, а также некоторые файлы, необходимые в его работе;
r PidFile - файл, в который при запуске сервера Apache заносится PID
главного процесса сервера;
r LoadModule - команда загрузить модуль расширения Apache, скомпили- рованный в виде разделяемой библиотеки;
r Timeout - количество секунд перед посылкой сигнала о потере соединения;
r KeepAlive - разрешение или запрет поддержки долгоживущих соедине- ний, доступных в рамках протокола HTTP/1.1, позволяющих оставлять со- единение в неразорванном состоянии после отправки сервером требуемой информации;
r KeepAliveTimeOut - количество секунд ожидания следующего запроса, по прошествии которого долгоживущее соединение будет разорвано;
r MaxKeepAliveRequests - максимально возможное количество запросов, разрешенное для долгоживущих соединений;
r StartServers - количество дочерних процессов httpd, которые стартуют при запуске сервера Apache;
r MinSpareServers - минимальное количество ждущих соединения дочер- них процессов httpd (при появлении соединений запускается столько ко- пий httpd, чтобы количество ожидающих соединения дочерних процессов было не меньше этой величины);
r MaxSpareServers - максимальное количество ждущих соединения до- черних процессов httpd (лишние процессы останавливаются);
r MaxClients - ограничение на максимальное количество дочерних про- цессов httpd, определяющее возможное количество соединений;
r MaxRequestsPerChild - максимальное количество запросов, которое раз- решено обслуживать одному дочернему процессу httpd, при достижении которого он гарантированно останавливается для исключения возможных утечек памяти.
ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120
KeepAlive Off MaxKeepAliveRequests 100
KeepAliveTimeout 15
StartServers | |
MinSpareServers | |
MaxSpareServers | |
ServerLimit | |
MaxClients |
MaxRequestsPerChild 4000
Listen 80
LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so
User apache Group apache
Следует отметить, что модули могут быть не только подключены с помощью директивы LoadModule, но и установлены непосредственно в код Apache на стадии его компиляции и сборки. Для определения, какие модули были уста- новлены в код на стадии компиляции, выполните команду httpd –l (при- мер 28.2).
$ /usr/sbin/httpd -l Compiled in modules:
core.c prefork.c http_core.c mod_so.c
Обратите внимание на модуль prefork.c - это один из нескольких различ- ных модулей MPM (Multi-Processing Modules), имеющихся для Apache v2. Эти модули ориентированы на разные операционные системы или на раз- личные модели многозадачной обработки. Например, модуль prefork.c ори- ентирован на традиционную для UNIX модель порождения дочерних про- цессов, а worker.c - на работу с потоками.
Среди настроек главного сервера наиболее важны следующие:
r Listen - заставляет Apache слушать только указанный порт;
r User - пользователь, от имени которого будут запущены процессы httpd;
r Group - группа, от имени которой будут запущены дочерние процессы
r DocumentRoot - каталог размещения файлов Web-сайта;
r UserDir - имя каталога для размещения личных Web-страниц пользова- телей;
r DirectoryIndex - список имен файлов, который будет просмотрен при попытке доступа к корневому документу каталога;
r AccessFileName - имя файла, содержащего директивы управлением до- ступом к каталогу;
r TypesConfig - задает местонахождение файла конфигурации MIME;
r DefaultType - задает MIME-тип документа по умолчанию;
r MimeMagicFile - задает местонахождение файла магических чисел для определения MIME-типа документа;
r HostnameLookups - задает тип занесения информации о запросах клиен- тов либо по IP-адресу, либо по имени узла;
r ErrorLog - файл журнала, в который будут записываться любые ошибки
(сообщения), встретившиеся в процессе работы Apache;
r LogLevel - уровень информативности журналирования;
r LogFormat - директива, определяющая формат вывода информации в жур- нал;
r CustomLog - указывает местонахождение файла журнала;
r ServerSignature - разрешает выводить в страницах, сгенерированных сервером Apache, информацию о версии, виртуальном узле и т. п.;
r Alias - устанавливает псевдонимы для путей доступа к каталогам серве- ра (длина строки псевдонима меньше, чем длина строки пути доступа);
r ScriptAlias - делает то же, что и Alias, но для каталогов с CGI-
сценариями;
r IndexOptions - определяет тип индексирования каталогов;
r AddIcon - указывает файл значка для отображения в конкретных ситуа- циях, например, при выводе страницы с содержимым каталога разным ти- пам файлов сопоставляются разные значки;
r AddIconByEncoding - задает значки для конкретных MIME-кодировок;
r AddIconByType - задает значки для определенных MIME-видов документов;
r DefaultIcon - значок по умолчанию;
r AddDescription - добавляет строку комментария к определенным типам документов (например, .gz - gzipped document);
r ReadmeName - задает имя файла README, добавляемого в конец списка файлов в каталоге (directory index);
r HeaderName - задает имя файла HEADER, добавляемого в начало списка файлов в каталоге (directory index);
r IndexIgnore - имена файлов, которые будут игнорироваться при индек- сации;
r AddEncoding - позволяет браузерам заданным образом обрабатывать ин- формацию на лету (например, отображать содержимое сжатых gzip- файлов);
r AddLanguage - отображает заданные расширения имен файлов на опреде- ленный язык документа (например, AddLanguage ru .ru);
r AddCharset - задает отображение определенного расширения имен фай- лов на конкретную кодировку;
r LanguagePriority - порядок следования языков;
r AddType - задает отображение расширения имен файлов на тип MIME;
r AddHandler - задает тип обработки по расширению имен файлов;
r ErrorDocument - позволяет настраивать сообщения об ошибках;
r BrowserMatch - задает особенности вывода информации для браузеров.
В файле конфигурации httpd.conf часто встречаются условные директивы вида
Alias /doc /usr/share/doc
В этом примере установлен псевдоним doc для каталога /usr/share/doc. Одна- ко такой псевдоним будет установлен только в случае наличия модуля mod_alias.c. Имея такой псевдоним (при наличии соответствующих разреше- ний), можно будет обращаться с помощью Web-браузера к содержимому ка- талога /usr/share/doc, используя URL http://localhost/doc .
Другим видом условных директив является
Часто Apache поставляется с весьма обширной документацией в HTML- формате. Например, в дистрибутивах Fedora традиционно документация на Apache доступна после запуска Apache по URL http://localhost/manual .
Дополнительно