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

Могу ли я просмотреть разрешенную конфигурацию, которую использует Apache?

Есть ли способ просмотреть окончательную "эффективную" конфигурацию, которую использует запущенный экземпляр Apache после разрешения всех / всех включений и т.п.?

Я смотрю на конфигурацию, в которой есть сеть включений, и подозреваю, что некоторые из проблем, которые у меня возникают, связаны с порядком, в котором все встает на свои места. Я думаю, что apachectl, который может проверить конфигурацию, не имеет синтаксических ошибок, но мне интересно, могу ли я пойти дальше и каким-то образом вывести полностью собранную конфигурацию. Какие-нибудь советы (кроме очистки этого беспорядка, который никогда не должен был случиться)?

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

Из онлайн-документации (выделено мной):

Выгрузка конфигурации при запуске

Если config определить -DDUMP_CONFIG установлен, mod_info выгружает предварительно проанализированную конфигурацию на стандартный вывод во время запуска сервера. Предварительно проанализировано означает, что директивы вроде <IfDefine> и <IfModule> оцениваются и заменяются переменные среды. Однако он не представляет собой окончательное состояние конфигурации. В частности, он не представляет собой слияние или переопределение, которое может произойти для повторяющихся директив.

Это примерно эквивалентно ?config запрос.

и:

[...] представления информации о конфигурации доступны путем добавления запроса к server-info запрос. Например, http://your.host.example.com/server-info?config покажет все директивы конфигурации.

? config

Только директивы конфигурации, не отсортированные по модулям

Например, для конфигурации по умолчанию в Fedora 22 строки, отмеченные как In file включены из основных httpd.conf файл:

# curl -v http://localhost/server-info?config | elinks -dump
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying ::1...
* Connected to localhost (::1) port 80 (#0)
> GET /server-info?config HTTP/1.1
> User-Agent: curl/7.40.0
> Host: localhost
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Tue, 02 Jun 2015 20:49:43 GMT
< Server: Apache/2.4.12 (Fedora)
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=ISO-8859-1
<
{ [8014 bytes data]
100  8561    0  8561    0     0  1792k      0 --:--:-- --:--:-- --:--:-- 2090k
* Connection #0 to host localhost left intact
                       Apache Server Information

   Configuration:
       In file: /etc/httpd/conf/httpd.conf
         42: Listen 80
         66: User apache
         67: Group apache
         86: ServerAdmin root@localhost
        102: <Directory />
        103:   AllowOverride none
        104:   Require all denied
           : </Directory>
        119: DocumentRoot "/var/www/html"
        124: <Directory "/var/www">
        125:   AllowOverride None
        127:   Require all granted
           : </Directory>
        131: <Directory "/var/www/html">
        144:   Options Indexes FollowSymLinks
        151:   AllowOverride None
        156:   Require all granted
           : </Directory>
        164: DirectoryIndex index.html
        171: <Files ".ht*">
        172:   Require all denied
           : </Files>
        182: ErrorLog "logs/error_log"
        189: LogLevel warn
        196: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
       \"%{User-Agent}i\"" combined
        197: LogFormat "%h %l %u %t \"%r\" %>s %b" common
        201: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
       \"%{User-Agent}i\" %I %O" combinedio
        217: CustomLog "logs/access_log" combined
        247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
        255: <Directory "/var/www/cgi-bin">
        256:   AllowOverride None
        257:   Options None
        258:   Require all granted
           : </Directory>
        266: TypesConfig /etc/mime.types
        283: AddType application/x-compress .Z
        284: AddType application/x-gzip .gz .tgz
        305: AddType text/html .shtml
        306: AddOutputFilter INCLUDES .shtml
        316: AddDefaultCharset UTF-8
        324: MIMEMagicFile conf/magic
        348: EnableSendfile on
       In file: /etc/httpd/conf.d/autoindex.conf
         16: IndexOptions FancyIndexing HTMLTable VersionSort
         21: Alias /icons/ "/usr/share/httpd/icons/"
         23: <Directory "/usr/share/httpd/icons">
         24:   Options Indexes MultiViews FollowSymlinks
         25:   AllowOverride None
         26:   Require all granted
           : </Directory>
         34: AddIconByEncoding (CMP,/icons/compressed.gif) x-compress
       x-gzip
         36: AddIconByType (TXT,/icons/text.gif) text/*
         37: AddIconByType (IMG,/icons/image2.gif) image/*
         38: AddIconByType (SND,/icons/sound2.gif) audio/*
         39: AddIconByType (VID,/icons/movie.gif) video/*
         41: AddIcon /icons/binary.gif .bin .exe
         42: AddIcon /icons/binhex.gif .hqx
         43: AddIcon /icons/tar.gif .tar
         44: AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
         45: AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
         46: AddIcon /icons/a.gif .ps .ai .eps
         47: AddIcon /icons/layout.gif .html .shtml .htm .pdf
         48: AddIcon /icons/text.gif .txt
         49: AddIcon /icons/c.gif .c
         50: AddIcon /icons/p.gif .pl .py
         51: AddIcon /icons/f.gif .for
         52: AddIcon /icons/dvi.gif .dvi
         53: AddIcon /icons/uuencoded.gif .uu
         54: AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
         55: AddIcon /icons/tex.gif .tex
         56: AddIcon /icons/bomb.gif core.
         58: AddIcon /icons/back.gif ..
         59: AddIcon /icons/hand.right.gif README
         60: AddIcon /icons/folder.gif ^^DIRECTORY^^
         61: AddIcon /icons/blank.gif ^^BLANKICON^^
         67: DefaultIcon /icons/unknown.gif
         85: ReadmeName README.html
         86: HeaderName HEADER.html
         92: IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
       In file: /etc/httpd/conf.d/mod_dnssd.conf
          2: DNSSDEnable on
       In file: /etc/httpd/conf.d/userdir.conf
         17: UserDir disabled
         31: <Directory "/home/*/public_html">
         32:   AllowOverride FileInfo AuthConfig Limit Indexes
         33:   Options MultiViews Indexes SymLinksIfOwnerMatch
       IncludesNoExec
         34:   Require method GET POST OPTIONS
           : </Directory>
       In file: /etc/httpd/conf.d/welcome.conf
          8: <LocationMatch "^/+$">
          9:   Options -Indexes
         10:   ErrorDocument 403 /.noindex.html
           : </LocationMatch>
         13: <Directory /usr/share/httpd/noindex>
         14:   AllowOverride None
         15:   Require all granted
           : </Directory>
         18: Alias /.noindex.html /usr/share/httpd/noindex/index.html
       In file: /etc/httpd/conf/httpd.conf
        355: <Location "/server-info">
        356:   SetHandler server-info
           : </Location>