Как посмотреть версию apache linux
Перейти к содержимому

Как посмотреть версию apache linux

  • автор:

Как посмотреть версию apache linux

Как узнать версию apache?

Ответ мастера:

Лидером среди всех HTTP-серверов мира по популярности является сервер Apache. Зачастую наблюдается использование версии 2.x модификации этого продукта, которые по функционалу имеют небольшие различия. Но бывает, что в том или ином случае нужно знать версию apache, который запущен на определённой машине.

Для решения этой задачи вам нужен будет доступ к конкретной машине по HTTP, физический доступ к машине с apache либо SSH-клиент, и, наконец, браузер.

В качестве подготовки к распознаванию версии apache производится запуск исполняемого модуля. При нахождении сервера на локальной машине, вам потребуется загрузка командного процессора и эмулятора терминала, либо переключение на текстовую консоль. Если вы производите все действия с ОС Windows, то откройте меню кнопки «Пуск», после чего в поле пункта «Выполнить» введите cmd и подтвердите выбор нажатием кнопки ОК.

В системах аналогичных Linux чтобы войти с консоли потребуется нажатие сочетания кнопок Alt+F1-Alt+F12 либо Ctrl+Alt+F1- Ctrl+Alt+F12. В качестве альтернативы этому осуществите запуск эмулятора терминала – XTerm, Konsole и проч.

В случае установки искомого апача на удалённом компьютере, к нему требуется произвести подключение по ssh. В системах подобных Linux приемлемо использование ssh – консольного клиента, а под Windows – PuTTY.

Теперь, после запуска исполняемого модуля сервера при наличии опций -v либо –V, можно узнать версию апача. Опция -v разрешит отобразить данные о дате и версии сборки, а вторая опция даст возможность узнать о таких данных, как список директив препроцессора, архитектура и др.

Имя исполняемого модуля может быть httpd либо же httpd2. Это зависит от причастности модуля к той или иной линейки продуктов – 1.x либо же 2.x. Сейчас вы почти не встретите апачи 1.x версии. Из этого следует, что узнать версию апачи можно, введя команду httpd2 –v. из консоли.

Если искомый httpd2 – файл не получается найти, то нужно указать к нему полный путь. Можно найти версию apache, используя вызов функции phpinfo, скрипт которой написан на php и запущен под управлением сервера. После этого необходимо приступить к созданию файла серверного сценария, введя:

Файл поместите в какую-либо директорию, доступную по HTTP протоколу и обслуживаемую сервером. В случае нужды запустите апачу. При помощи браузера откройте тот адрес, который соответствует скрипту. В случае конфигурации сервера на функционирование с PHP, и функция phpinfo не запрещена к использованию в php.ini файле конфигурации, то в окне браузера отобразиться HTML-документ, в котором нужно определить раздел 2handler. И узнать версию сервера.

Можно попробовать обнаружить верисию апачи из сообщений страницы ошибок, для чего в браузере откройте URL, адресуясь к конкретной машине, где находится сервер, использовав её IP-адрес, и введите имя реально не существующего документа. Чаще всего в таком случае выводится типовая ошибка 404apache. И на этой странице также отобразиться версия искомого сервера.

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

img

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

 Apache HTTPD

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

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

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

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

    $ 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, выполните следующую команду.

    $ sudo httpd -v
    $ sudo apache2 -v

    Пример вывода:

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

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

    $ sudo httpd –V
    $ sudo apache2 –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 на наличие любых синтаксических ошибок, выполните следующую команду, которая проверит правильность файлов конфигурации, прежде чем перезапускать службу.

    $ sudo httpd -t
    $ sudo apache2ctl -t

    Пример вывода:

    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

    Чтобы запустить службу 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

    Чтобы перезапустить 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

    Чтобы остановить службу 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, выполнив следующую команду.

    $ sudo httpd -h
    $ sudo apache2 -h
    $ systemctl -h apache2

    Пример вывода

    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.

    Apache HTTP Server

    Apache HTTP Server — проект, развиваемый The Apache Software Foundation, в рамках которого разрабатывается кроссплатформенный HTTP сервер с открытым исходным кодом. Входит в состав LAMP и XAMPP.

    Версии Apache в Ubuntu

    Ubuntu Apache
    12.04 LTS (Precise) 2.2
    14.04 LTS (Trusty) 2.4
    15.10 (Wily) 2.4
    16.04 LTS (Xenial) 2.4

    Хостинг сайтов

    Можно реализовать четырьмя способами:

    по умолчанию в папке /var/www/html. Доступом является http://localhost/
    настройки основного хостинга. Например, http://localhost/phpmyadmin
    в любой папке с помощью модуля виртуальных хостов. Например, http://mysite/
    в папке пользователя public_html (модуль userdir). Например, http://localhost/~username

    Установка

    Для установки Apache выполните в терминале:

    sudo apt-get install apache2

    Настройка

    Для применения изменений в настройках необходимо перезапустить демон Apache:

    sudo service apache2 restart

    В Ubuntu конечный файл настройки (apache2.conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.

    /etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.load | `-- *.conf |-- conf-enabled | `-- *.conf `-- sites-enabled `-- *.conf

    Настройки модулей расположены в директории /etc/apache2/mods-available. Для подключения или отключения модулей (настроек модулей) следует использовать соответствующие команды a2enmod или a2dismod . Пример подключения модуля:

    sudo a2enmod mod-name>

    Свои настройки следует сохранять в файлы, расположенные в директории /etc/apache2/conf-available. Для подключения или отключения своих настроек следует использовать соответствующие команды a2enconf или a2disconf . Пример подключения файла со своими настройками:

    sudo a2enconf config-name>

    Настройки виртуальных хостов следует сохранять в файлы, расположенные в директории /etc/apache2/sites-available. Для подключения виртуальных хостов следует использовать соответствующие команды a2ensite или a2dissite . Пример подключения виртуального хоста:

    sudo a2ensite site-name>

    Кодировка по умолчанию

    Для указания кодировки по умолчанию следует использовать директиву AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):

    AddDefaultCharset UTF-8

    Виртуальные хосты

    Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Вы можете использовать этот виртуальный хост в качестве примера.

    Пример настройки виртуального хоста:

     #Имя хоста ServerName host1.server1 #Корневая папка хоста DocumentRoot /var/www/host1.server1 #Разрешение на перезапись всех директив при помощи .htaccess AllowOverride All 

    Назовите файл настройки именем вашего хоста host1.server1.conf и сохраните.

    После создания файла настроек допишите в /etc/hosts имя вашего хоста:

    127.0.0.1 host1.server1

    Для включения созданного виртуального хоста используется утилита a2ensite :

    sudo a2ensite host1.server1

    Отключается хост аналогично утилитой a2dissite :

    sudo a2dissite host1.server1

    Модули

    mod_userdir

    Модуль mod_userdir позволяет использовать директории, находящиеся в домашних директориях пользователей для хранения веб страниц. По умолчанию Apache ищет запрашиваемые страницы в директории ~/public_html

    mkdir ~/public_html

    Чтобы включить mod_userdir , выполните:

    sudo a2enmod userdir

    и добавьте необходимого пользователя в группу www-data:

    sudo adduser $USER www-data

    после чего перезагрузите Apache:

    sudo service apache2 restart

    Страницы будут доступны по адресу http://localhost/~username, где username — имя пользователя.

    CGI

    Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой

    sudo a2enmod cgi

    По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.

    Eсли ваш сервер работает во внешней сети, то в целях безопасности настоятельно рекомендуется размещать cgi-скрипты вне корневой директории виртуального хоста

    Настройка HTTPS в Apache

    Веб-сервер Apache полностью поддерживает работу по HTTPS. Чтобы активировать поддержку HTTPS на уже установленном Apache, необходимо выполнить следующее.

    Создание ключа и ssl-сертификата

    Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преимуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанный компанией-сертификатором (Certificate authority), стоит денег.

    Для создания ключа и сертификата вводим команду:

    openssl req -new -x509 -days 30 -keyout server.key -out server.pem

    На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем.

    На все последующие вопросы отвечаем произвольно, можно просто щелкать по Enter , соглашаясь с предложенными вариантами, только на вопрос «Common Name (eg, YOUR name) []:» отвечаем именем сайта, для которого создаем сертификат, например www.example.com.

    После ответа на все вопросы в директории должны появиться два новых файла — server.pem (ключ) и server.crt (сертификат).

    Чтобы использовать сгенерированный ключ, нужно знать пароль, введённый нами, и Apache будет спрашивать его у нас при загрузке, а к чему нам лишние вопросы от демонов? 🙂 Поэтому снимаем пароль с ключа:

    cp server.key{,.orig} openssl rsa -in server.key.orig -out server.key rm server.key.orig

    Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

    sudo cp server.pem /etc/ssl/certs/ sudo cp server.key /etc/ssl/private/ sudo chmod 0600 /etc/ssl/private/server.key

    Настройка Apache

    Для начала необходимо активировать mod_ssl :

    sudo a2enmod ssl

    А затем включить настройки HTTPS сайта по умолчанию:

    sudo a2ensite default-ssl

    Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или /etc/apache2/sites-enabled/default-ssl.conf ).

    В этом файле рекомендуется после директивы

    SSLEngine on
    SSLProtocol all -SSLv2

    чтобы запретить использование устаревшего протокола SSLv2.

    Дальше вам необходимо отредактировать параметры, ответственные за сертификаты.

    # Публичный сертификат сервера SSLCertificateFile /etc/ssl/certs/server.pem # Приватный ключ сервера SSLCertificateKeyFile /etc/ssl/private/server.key

    Теперь просто перезагрузите Apache:

    sudo service apache2 restart

    И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.

    Протокол HTTPS работает по 443 порту, поэтому если сервер находится за шлюзом, то необходимо на нём пробросить данный порт.

    Перенаправление HTTP запросов на HTTPS

    Если вы хотите запретить использование HTTP , то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Сделаем это с помощью mod_alias . Если он не включён — включаем:

    sudo a2enmod alias sudo service apache2 restart

    Затем изменяем файл /etc/apache2/sites-enabled/000-default , отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву

    Redirect / https://example.com/

    При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

    Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS-страницу.

    Ссылки

    Возможные проблемы

    Если при запуске появляется ошибка

    apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

    добавьте в свой файл конфигурации строку

    ServerName localhost

    Как узнать какой сервер на хостинге Apache или Nginx

    Существует несколько простых способов выяснить, какой веб-сервер установлен на вашем хостинге. В их основе лежит просмотр заголовков HTTP-запроса посредством различных сервисов или вручную. Чаще всего поиски данной информации заканчиваются тем, что пользователь сталкивается с такими вариантами ответа: Nginx или Apache – одни из самых популярных и хорошо зарекомендовавших себя проектов, предоставляющих в совокупности до 50% веб-трафика, который гонится на сайт. Следовательно, в этом материале мы разберем упомянутые веб-сервера. Данное руководство будет полезно всем пользователям, которые сталкиваются с этим вопросом впервые.

    Важно! Радикальных различий между Nginx и Apache не существует, но все-таки приходится говорить об отличительной обработке соединений.

    Вернемся к тому, как узнать тип веб-сервера на хостинге, и какие сервисы станут наилучшими помощниками для этих целей.

    Определяем руками, просмотр HTTP заголовков

    В этом варианте будем использовать сам браузер и инструменты разработчика CTRL+ SHIFT +I. В качестве браузере, рассмотрим на примере Google Chrome. Шаг 1. В браузере Google Chrome открываем сайт, у которого требуется узнать веб-сервер. Веб-сайтШаг 2. Открываем инструменты разработчика. Меню (три тоски) —> Дополнительные инструменты —> Инструменты разработчика. Меню разработчикаШаг 3. Заходим на вкладку network (сеть), затем перезагружаем сайт. NetworkШаг 4. В столбце «Name» находим название сайта, в моем случае это vseprolinux.ru. Кликаем левой кнопкой мыши. В появившемся окне справа в headers ищем слово «server». Это и есть веб-сервер, который используется на сайте. Headers

    Bertal

    • http
    • https
    • ftp

    bertal

    Чтобы произвести успешную проверку http-заголовка, пользователю потребуется заполнить поля формы на странице сайта. Если пользователь предпочтет заполнить одно поле (URL сайта), то он получит лишь основную информацию о своём хостинге. Для получения развернутой информации все же рекомендуется заполнять все имеющиеся поля на странице сайта.

    Примечательно, что запрос информации происходит несколькими способами:

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

    Несколько интересных фактов о популярных веб-серверах

    • Разработка проекта стартовала в 1995 году. Сервер улучшали вплоть до 1999-го года. И уже через год после этого продукт начал широко применяться в сети Интернет.
    • Имеет множество модулей, гибкий.
    • Разработка сервера стартовала в 2002 году. Готовый продукт был представлен широкой публике в 2004 году.
    • Обладает высокой чувствительностью при мощных нагрузках.
    Заключение

    У пользователя может возникнуть срочная необходимость выявить тип веб-сервера на своём хостинге. В этой статье мы рассказали, как получить нужную информацию самостоятельно, без обращения в саппорт. Просто используйте для этих целей один из упомянутых способов.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *