Информации по Веб-серверу Apache в интернете — масса, но в попытке разобраться даже с простейшим вопросом, например таким, как «Где находится конфиг Апача?» можно наткнуться на неразрешимую задачу, так как папку с конфигурационными файлами Апача зачастую указывают /etc/httpd/conf/
, но при попытке её найти у себя на сервере, можно её вовсе не обнаружить. Именно с этим вопросом я и столкнулся, пытаясь разобраться в том, как всё устроено, чтобы понять, как сделать лучше, быстрее или хотя бы работающим. =)
Основная информация, которую нужно знать об Apache
Итак, что же нужно знать в первую очередь об Apache. Знать нужно одну команду, которая поможет разобраться во многих вопросах, связанных с Apache у вас на сервере. Это команда:
apachectl
apachectl
— что за зверь?
Итак, apachectl
— это утилита управления web-сервером Apache. Если на сервере установлен Апач, то вызов этой команды приведёт хоть какому-то результату, отличному от command not found
. С этого и начнём:
root@server:~# apachectl
Usage: /usr/sbin/apachectl start|stop|restart|graceful|graceful-stop|configtest|status|fullstatus|help
/usr/sbin/apachectl <apache2 args>
/usr/sbin/apachectl -h (for help on <apache2 args>)
Из этой подсказки можно понять, что данная утилита может принимать значения и, в зависимости от того, что за значение мы ей подсунем, можем управлять сервером Apache или же получать какую-то информацию о сервере.
Управление Apache с помощью apachectl
Итак, у утилиты apachectl есть список команд для управления сервером: start|stop|restart|graceful|graceful-stop|configtest|status|fullstatus|help
И это здорово! Судя по их названиям, можно запускать, тормозить, перезагружать и даже получать помощь!
Помощь по Apache в apachectl
Попробуем воспользоваться помощь. в том формате, в котором предлагается:
root@amorale:~# apachectl help
Usage: /usr/sbin/apachectl start|stop|restart|graceful|graceful-stop|configtest|status|fullstatus|help
/usr/sbin/apachectl <apache2 args>
/usr/sbin/apachectl -h (for help on <apache2 args>)
Вышли на исходную позицию. Помощи мало, но в последней строке читаем, что можно получить помощь по аргументам для Apache2.
Попробуем пойти по этому пути:
root@amorale:~# apachectl -h
Usage: /usr/sbin/apache2 [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
-D name : define a name for use in <IfDefine name> directives
-d directory : specify an alternate initial ServerRoot
-f file : specify an alternate ServerConfigFile
-C "directive" : process directive before reading config files
-c "directive" : process directive after reading config files
-e level : show startup errors of level (see LogLevel)
-E file : log startup errors to file
-v : show version number
-V : show compile settings
-h : list available command line options (this page)
-l : list compiled in modules
-L : list available configuration directives
-t -D DUMP_VHOSTS : show parsed vhost settings
-t -D DUMP_RUN_CFG : show parsed run settings
-S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
-t -D DUMP_MODULES : show all loaded modules
-M : a synonym for -t -D DUMP_MODULES
-t -D DUMP_INCLUDES: show all included configuration files
-t : run syntax check for config files
-T : start without DocumentRoot(s) check
-X : debug mode (only one worker, do not detach)
Action '-h' failed.
The Apache error log may have more information.
Не так удачно, как хотелось бы: Action '-h' failed
, но тоже хорошо. Получили дополнительные опции, которые помогут жить и работать с Апачем.
Продолжение следует...
apache2ctl
(apachectl
) — программа для управления сервером Apache. Читать по → этой ссылке.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)