Проверка конфигурации apache linux

command for checking Apache configuration

I’m looking for a command that checks the validity of the config files in Apache server on both Debian and RHEL distros. I need to do this prior to restart, so there will be no downtime.

7 Answers 7

I am getting this message running the above command AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

Add a line «ServerName whateveryoulike» to your apache config. Replace whateveryoulike with what ever you like to name your server.

Check everything apache with helpful suggestions curl -L https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl

Another way is httpd -t . Therefore, it’s available in Windows-version of Apache. Check http://httpd.apache.org/docs/2.4/programs/httpd.html

Oddly, on Ubuntu, when I run apachectl configtest I get Syntax OK , but when I run apache2 -t I get AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf (among other errors)

The Apache config test ( apachectl configtest , or its equivalents) only tests the config file (and the files it recursively includes) for valid syntax. However, the original question asked for preventing downtime. Even when apachectl configtest does not return an error, an actual restart may still fail, causing downtime.

Common causes for such failures include missing or inaccessible SSL certificates, missing directories for log files or a missing website root directory. Often, such errors are caused by removing a vhost’s directory without removing the vhost Apache config file. It is highly recommended to use a tool like puppet or ansible to prevent such inconsistencies.

Seeing that this question is the number one hit when googling «apache config lint» I thought I’d mention this little detail.

That would require a script, that parses the apache config and implements the missing checks. I’m not aware of any freely available scripts that does so.

I have written such a script. If I took the time to put it on github, would anyone use it? It specifically checks SSL configurations, that the files are in the correct location and that the modulos match using openssl, among other things.

Источник

Команды Apache, которые вы должны знать

HTTP-сервер Apache — самый популярный веб-сервер в мире. Это бесплатный кроссплатформенный HTTP-сервер с открытым исходным кодом, обеспечивающий мощные функции, которые могут быть расширены с помощью самых разных модулей.

Если вы разработчик или системный администратор, скорее всего, вы регулярно имеете дело с Apache.

Читайте также:  Различия между linux mint

В этом руководстве мы рассмотрим наиболее важные и часто используемые команды Apache, включая запуск, остановку и перезапуск Apache.

Подготовка

Мы предполагаем, что вы вошли в систему как root или пользователь с привилегиями sudo. Команды в этом руководстве должны работать в любом современном дистрибутиве Linux, таком как Ubuntu 18.04, CentOS 7 и Debian 9 .

В Ubuntu и Debian служба Apache называется apache2 , тогда как в системе на основе Red Hat, такой как CentOS, имя службы Apache — httpd .

Если вы используете CentOS, просто замените apache2 на httpd в приведенных ниже командах.

Запустите Apache

Запустить Apache довольно просто. Просто введите следующую команду.

sudo systemctl start apache2

В случае успеха команда не производит никакого вывода.

Если вы используете более старый дистрибутив Linux без systemd, для запуска Apache введите:

sudo service apache2 start

Вместо того, чтобы вручную запускать службу Apache, рекомендуется настроить ее запуск при загрузке системы:

sudo systemctl enable apache2

Остановить Apache

Остановка Apache позволяет быстро завершить основной процесс Apache и все дочерние процессы, даже если есть открытые соединения.

Чтобы остановить Apache, выполните одну из следующих команд:

sudo systemctl stop apache2sudo service apache2 stop

Перезагрузите Apache

Параметр перезапуска — это быстрый способ остановить, а затем запустить сервер Apache.

Используйте одну из следующих команд для перезапуска:

sudo systemctl restart apache2sudo service apache2 restart

Это команда, которую вы, вероятно, будете использовать наиболее часто.

Перезагрузить Apache

Вам необходимо перезагрузить или перезапустить Apache всякий раз, когда вы вносите изменения в его конфигурацию.

При перезагрузке основной процесс apache завершает работу дочерних процессов, загружает новую конфигурацию и запускает новые дочерние процессы.

Чтобы перезагрузить Apache, используйте одну из следующих команд:

sudo systemctl reload apache2sudo service apache2 reload

Проверить конфигурацию Apache

Каждый раз, когда вы вносите изменения в файл конфигурации сервера Apache, рекомендуется протестировать конфигурацию перед перезапуском или перезагрузкой службы.

Используйте следующую команду, чтобы проверить конфигурацию Apache на наличие синтаксических или системных ошибок:

Результат будет выглядеть так:

Если есть ошибки, команда выводит подробное сообщение.

Просмотр статуса Apache

Чтобы проверить статус службы Apache, используйте следующую команду:

sudo systemctl status apache2

Результат будет выглядеть примерно так:

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2019-05-29 21:16:55 UTC; 6s ago Process: 938 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 956 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCES Main PID: 997 (apache2) Tasks: 55 (limit: 1152) CGroup: /system.slice/apache2.service ├─ 997 /usr/sbin/apache2 -k start ├─ 999 /usr/sbin/apache2 -k start └─1000 /usr/sbin/apache2 -k start 

Проверить версию Apache

Иногда вам может потребоваться узнать версию вашего Apache, чтобы вы могли отладить проблему или определить, доступна ли определенная функция.

Читайте также:  Установить vlc kali linux

Вы можете проверить свою версию Apache, запустив:

Server version: Apache/2.4.29 (Ubuntu) Server built: 2019-04-03T13:22:37 

Параметр -V (верхний регистр) показывает версию Apache вместе с параметром конфигурации.

Выводы

В этом руководстве мы показали вам некоторые из наиболее важных команд Apache. Если вы хотите узнать больше о командной строке Apache, посетите документацию Apache.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Полезные команды для управления Apache в Linux

img

В этом руководстве мы опишем некоторые из наиболее часто используемых команд управления службами Apache (HTTPD) , которые полезно знать, разработчику или системному администратору, и держать эти команды под рукой. Мы покажем команды для Systemd и SysVinit.

 Apache HTTPD

Убедитесь, что следующие команды должны выполняться от имени пользователя root или sudo и работать с любым дистрибутивом Linux, таким как CentOS, RHEL, Fedora, Debian и Ubuntu.

Про Linux за 5 минут

  • Установка Apache Server

    $ sudo apt install apache2 [On Debian/Ubuntu] $ sudo yum install httpd [On RHEL/CentOS] $ sudo dnf install httpd [On Fedora 22+] $ sudo zypper install apache2 [On openSUSE]

    Проверка версии Apache

    Чтобы проверить установленную версию вашего веб-сервера Apache в вашей системе Linux, выполните следующую команду.

    Server version: Apache/2.4.6 (CentOS) Server built: May 5 2019 01:47:09

    Если вы хотите увидеть номер версии Apache и параметры компиляции, используйте флаг -V, как показано ниже.

    Server version: Apache/2.4.6 (CentOS) Server built: May 5 2019 01:47:09 Server's Module Magic Number: 20120211:24 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count) Server compiled with. -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="/run/httpd/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
    Проверка на ошибки синтаксиса конфигурации Apache

    Чтобы проверить ваши файлы конфигурации Apache на наличие любых синтаксических ошибок, выполните следующую команду, которая проверит правильность файлов конфигурации, прежде чем перезапускать службу.

    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using merionet.ru. Set the 'ServerName' directive globally to suppress this message Syntax OK
    Запуск сервиса Apache
    ------------ On CentOS/RHEL ------------ $ sudo systemctl start httpd [On Systemd] $ sudo service httpd start [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl start apache2 [On Systemd] $ sudo service apache2 start [On SysVInit]
    Включение службы Apache

    Предыдущая команда пока только запускает службу Apache, чтобы включить автозапуск при загрузке системы, выполните следующую команду.

    ------------ On CentOS/RHEL ------------ $ sudo systemctl enable httpd [On Systemd] $ sudo chkconfig httpd on [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl enable apache2 [On Systemd] $ sudo chkconfig apache2 on [On SysVInit]
    Перезапуск службы Apache
    ------------ On CentOS/RHEL ------------ $ sudo systemctl restart httpd [On Systemd] $ sudo service httpd restart [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl restart apache2 [On Systemd] $ sudo service apache2 restart [On SysVInit]
    Просмотр состояния сервиса Apache

    Чтобы проверить информацию о состоянии времени выполнения службы Apache, выполните следующую команду.

    ------------ On CentOS/RHEL ------------ $ sudo systemctl status httpd [On Systemd] $ sudo service httpd status [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl status apache2 [On Systemd] $ sudo service apache2 status [On SysVInit]
    Перезагрузка сервиса Apache

    Если вы внесли какие-либо изменения в конфигурацию сервера Apache, вы можете указать службе перезагрузить свою конфигурацию, выполнив следующую команду.

    ------------ On CentOS/RHEL ------------ $ sudo systemctl reload httpd [On Systemd] $ sudo service httpd reload [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl reload apache2 [On Systemd] $ sudo service apache2 reload [On SysVInit]
    Остановка службы Apache
    ------------ On CentOS/RHEL ------------ $ sudo systemctl stop httpd [On Systemd] $ sudo service httpd stop [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl stop apache2 [On Systemd] $ sudo service apache2 stop [On SysVInit]
    Показать справку Apache Command

    И последнее, но не менее важное: вы можете получить справку о служебных командах Apache в systemd, выполнив следующую команду.

    Usage: httpd [-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 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 : run syntax check for config files -T : start without DocumentRoot(s) check -X : debug mode (only one worker, do not detach)

    На этом пока все! В этой статье мы объяснили наиболее часто используемые команды управления службами Apache / HTTPD, которые полезно будет знать, включая запуск, включение, перезапуск и остановку Apache.

    Читайте также:  Find file used by process linux

    Источник

  • Оцените статью
    Adblock
    detector