Содержание

Что такое Apache? Подробный обзор веб-сервера Apache

Глоссарий

access_time

9 декабря, 2020

hourglass_empty

4мин. чтения

Что такое Apache? Это программное обеспечение с открытым исходным кодом, веб-сервер, который обеспечивает работу около 46% сайтов по всему миру. Официальное название – Apache HTTP Сервер, поддерживается и развивается компанией Apache Software Foundation.

Веб-сервер позволяет владельцам сайтов обслуживать их контент в интернете, о чём понятно с самого название «веб-сервер». Apache один из самый старых и надёжный веб-серверов с первой версией выпуска более 20 лет назад в 1995 году.

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

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

Попробуйте хостинг от Hostinger. Верните ваши деньги в течение 30 дней, если вас что-то не устроит. Воспользуйтесь предложением и разместите сайт до 90% дешевле!

К предложению

Что такое веб-сервер?

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

Работа веб-сервера – обслуживать сайт в интернете. Для этого он выполняет роль посредника между компьютером сервера и компьютером клиента. Он берёт контент с сервера на каждый запрос пользователя и доставляет его в сеть.

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

Он превращает их в статический файл HTML и отдаёт их на обслуживание в браузер пользователя. Когда вы слышите словосочетание веб-сервер, думайте о нём, как об инструменте для коммуникации между сервером и клиентом.

Как работает веб-сервер Apache?

Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.

Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.

Apache хорошо и удобно настраиваемый поскольку имеет модульную структуру. Модули позволяют администраторам сервера включать или выключать дополнительную функциональность. У Apache есть модули безопасности, кэширования, редактирования URL, аутентификации по средством пароля и другие. Вы можете установить свою собственную конфигурацию через файл .htaccess, который является файлом настроек для Apache и поддерживается всеми тарифными планами Hostinger.

Знаете ли вы, что в Hostinger есть специальные предложения? Посетите нашу страницу купонов и сэкономьте до 82%!

Не стоит забывать, что это предложение ограничено во времени!

Apache и другие веб-сервера

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

Apache или NGINX

Nginx произносится как Engine-X, это более новое веб-серверное программное обеспечение с первым релизом в 2004 году. Как на сегодня он добился большой популярности среди владельцев сайтов. Nginx был создан для решения так называемой проблемы c10k – проблемы 10 тысяч соединений, что означает, что веб-сервера, использующие потоки не могут обрабатывать запросы пользователей более, чем с 10 000 подключений одновременно.

  1. Так как Apache использует структуру основанную на потоках, владельцы сайтов с высоким трафиком могли столкнуться с проблемой производительности. Nginx один из веб-серверов, который был нацелен на решение проблемы c10k и возможно это одно из самых успешных решений.
  2. Nginx имеет событийно ориентированную архитектуру, которая не создаёт новый процесс для каждого запроса. Вместо этого он обрабатывает каждый входящий запрос в едином потоке. Этот главный процесс управляет несколькими рабочими процессами, которые выполняют непосредственную обработку запросов. Модель Nginx, основанная на событиях распространяет запросы пользователей среди рабочих процессов эффективным путём, что приводит к лучшей масштабируемости.
  3. Если вам нужно обслуживание сайта с высокой посещаемостью, то Nginx – отличный выбор, поскольку он может сделать это, затратив минимальные ресурсы. И не случайно он используется сайтами с большим количеством показов, такими как: Netflix, Hulu, Pinterest и Airbnb.
  4. Однако для мелких и средних игроков, Apache имеет несколько преимуществ в сравнении с Nginx, среди которых: более простая настройка, множество модулей и среда дружественная для начинающих.

Apache или Tomcat

Tomcat – это веб-сервер также разработанных Apache Software Foundation, поэтому его официальное название Apache Tomcat. Это тоже HTTP-сервер, однако он обрабатывает приложения Java вместо статических сайтов. Tomcat может запускать несколько Java спецификаций, таких как: Java Servlet, Java Server Pages (JSP), Java EL и WebSocket.

  1. Tomcat был разработан специально для приложений на Java, в то время как Apache позиционируется как HTTP-сервер. Вы можете использовать Apache совместно с другими языками программирования (PHP, Python, Perl и т. д.) с помощью специального модуля Apache (mod_php, mod_python, mod_perl и др.).
  2. Хотя вы и можете использовать сервер Tomcat для статических веб-страниц, но это будет менее эффективно, чем использование Apache. Например, Tomcat заранее загружает виртуальную машину Java и другие Java-библиотеки, которые могут быть ненужными для работы вашего сайта.
  3. Tomcat также хуже настраиваемых в сравнении с другими веб-серверами. Например, для запуска WordPress, лучшим выбором будет стандартный HTTP-сервер, такой как Apache или NGINX.

Apache: преимущества и недостатки

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

Преимущества:

  1. Бесплатный даже для использования в коммерческих целях.
  2. Надёжный, стабильное программное обеспечение.
  3. Часто обновляемый, регулярные патчи безопасности.
  4. Гибкий благодаря своей модульной структуре.
  5. Легко настраиваемый, дружелюбный для начинающих.
  6. Кроссплатформенный (работает одинаково хорошо на Unix и на Windows серверах).
  7. Работает для сайтов на WordPress сразу после установки без дополнительных настроек.
  8. Большое сообщество и легко доступная поддержка в случае любой проблемы.

Недостатки:

  1. Проблемы производительности на сайтах с большим трафиком.
  2. Слишком много параметров конфигруации могут привести к уязвимостям в безопасности.

Что ещё почитать?

Хотите узнать больше об основах хостинга сайтов и разработке? Познакомьтесь с нашими руководствами:

Итак, что такое Apache?

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

Вы можете установить сайт WordPress на веб-сервере Apache без каких-либо настроек. Кроме того, Apache прекрасно работает со многими другими системами управления контентом (Joomla, Drupal и др. ), веб-фреймворками (Django, Laravel и др.) и языками программирования. Это делает его уверенным решением для всех типов хостинг платформ, таких как VPS или общий хостинг.

Установка Apache HTTP Server 2.2.22

Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.

Авторы: Виктор Волков, Иван Шумилов

Содержание:


Сайт разработчика: http://www.apache.org/
Дистрибутив (Apache 2.2 Win32 Binary): http://www.apachelounge.com/download/
Прямая ссылка: httpd-2.2.22-win32.zip

Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. 🙂 Но мы с вами люди, крепких нервов и стальных желудков — поэтому, поехали.

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂

Правка файла httpd.conf

  1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
    LoadModule php5_module «C:/php/php5apache2_2.dll»
  3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
    PHPIniDir «C:/php»
  4. Найдите и раскомментируйте строку:
    ServerName www.example.com:80
    Отредактируйте ее следующим образом установив изначальное имя сервера:
    ServerName localhost:80
  5. Найдите строку:
    DocumentRoot «c:/Apache2/htdocs»
    Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
    DocumentRoot «C:/apache»
  6. Найдите данный блок:
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>
    И замените его на нижеследующий:
    <Directory />
    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
    </Directory>
  7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
    <Directory «c:/Apache2/htdocs»>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  8. Найдите блок:
    <IfModule dir_module>
    DirectoryIndex index. html
    </IfModule>
    Замените его на:
    <IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php
    </IfModule>
  9. Найдите строку:
    ErrorLog «logs/error.log»
    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
    ErrorLog «C:/apache/error.log»
  10. Найдите строку:
    CustomLog «logs/access.log» common
    Замените на:
    CustomLog «C:/apache/access.log» common
  11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  12. Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. И, наконец, найдите и раскомментируйте строки:
    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex. conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common
</VirtualHost>

Сохраните изменения и закройте файл «httpd-vhosts.conf»

Настройка конфигурационных файлов завершена, теперь необходимо установить сервис Apache2.2.

Установка сервиса Apache2.2 в картинках

Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

Вот что мы должны увидеть при успешной установке сервиса Apache2. 2.

Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

Создание структуры каталогов виртуальных хостов

В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access. log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

Пример создания виртуального хоста

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.

ErrorLog «C:/apache/test.ru/error. log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common
</VirtualHost>

Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru

Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd. exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

Установка и настройка веб-сервера Apache – завершена.

Создание пакетных файлов для запуска и остановки сервисов

Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

Файл vhosts-off. txt (может содержать одну единственную строку):
127.0.0.1 localhost

Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru

В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

Файл запуска start-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
NET start MySQL

Файл остановки stop-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-off.txt goto no_vhosts
echo Restore hosts file:
copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2. 2
NET stop MySQL

В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

start «» «C:\Apache2\bin\ApacheMonitor.exe»

Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

установка, настройка и способы защиты от атак

Веб-сервер Apache не нуждается в представлении. Это программное обеспечение с открытым исходным кодом, выпущенное фондом Apache, один из самых используемых веб-серверов в мире. Рассмотрим, как его установить и как настроить конфигурацию брандмауэра для разрешения HTTP- и HTTPS-трафика и виртуальные хосты в Ubuntu 18.04.

Этапы установки Apache

Установить веб-сервер Apache в Ubuntu 18.04 Bionic Beaver очень просто:

$ sudo apt-get update && apt-get install apache2

Сценарии установки Ubuntu позаботятся о запуске и включении apache2-сервиса при загрузке.

Настройка брандмауэра

Чтобы получить доступ к содержимому сервера на той же машине, где он работает, нужно запустить веб-браузер и ввести в адресную строку localhost. Если всё настроено правильно, страница поприветствует словами: «It works!».

http://local.server.ip

Если в системе включён брандмауэр (как и должно быть), то чтобы сделать контент доступным извне нашей машины, нужно разрешить входящий трафик через порт 80. Команда для запуска зависит от используемого менеджера брандмауэра. Например, при использовании ufw (используется в Ubuntu по умолчанию) мы должны запустить:

$ sudo ufw allow http

Если вы используете firewalld, можно запустить:

$ sudo firewall-cmd --permanent --add-service=http && firewall-cmd --reload

Обратите внимание, что приведённая выше команда будет по умолчанию действовать в зоне firewalld. Если вы хотите работать с другой зоной, нужно указать её с помощью опции --zone.

Настройка виртуального хоста

Веб-сервер Apache может запускать несколько веб-сайтов на одном компьютере. Каждый запущенный сайт («виртуальный хост» в терминологии Apache) должен иметь свою собственную конфигурацию. Виртуальный хост может быть IP или именем.

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

Виртуальный хост по умолчанию

В Ubuntu виртуальный хост по умолчанию определён в каталоге /etc/apache2/sites-available внутри файла 000-default.conf. Рассмотрим его:

<VirtualHost *:443>
	[...]
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html

	[...]

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	[...]
</VirtualHost>

Директива <VirtualHost> на первой строке применяется для группы параметров, используемых Apache для конкретного виртуального хоста. Первое, что вы увидите в ней, — инструкцию *:80. Она указывает IP-адрес и порт, используемый виртуальным хостом.

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

Директива на строке 3 не является обязательной, она используется, чтобы указать контактный адрес. Обычно в качестве аргумента директивы предоставляют действительный адрес электронной почты, чтобы было проще связаться с администратором.

DocumentRoot в строке 4 является обязательным, это важно для конфигурации виртуального хоста. Аргумент этой инструкции должен иметь доступ к файловой системе. Указанный каталог будет считаться корневым каталогом виртуального хоста и не должен содержать завершающий символ «/». В этом случае корневая директория документа — /var/www/html. Если мы посмотрим на её содержимое, то увидим, что она содержит страницу index.html, которую вы до этого видели в качестве страницы приветствия сервера.

Последние две команды на строках 8–9, представленные в этом VirtualHost, — ErrorLog и CustomLog. Используя первый, вы указываете файл, в который сервер будет записывать возникающие ошибки. Второй используется для регистрации запросов, отправленных на сервер в указанном формате.

Новый виртуальный хост

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

Как сказано выше, файлы виртуальных хостов должны быть определены внутри каталога /etc/apache2/sites-available (по крайней мере в дистрибутивах на основе Debian). Поэтому создадим этот файл там. Прежде чем сделать это, следует создать каталог, который будет использоваться как document root, а также создать базовую страницу, которая будет отображаться при открытии сайта:

$ sudo mkdir /var/www/example && echo "Welcome to example!" > /var/www/example/index.html

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

<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName www. example.local
</VirtualHost>

Это минимальная конфигурация, необходимая для его запуска. Здесь вы можете увидеть новую директиву ServerName. Это то, что определяет ваш виртуальный хост. Сохраним этот файл как example.conf. Чтобы активировать ваш виртуальный хост, используйте команду a2ensite. Эта команда создаёт символическую ссылку файла в каталоге /etc/apache2/sites-enabled:

$ sudo a2ensite example.conf

После этого следует перезагрузить конфигурацию сервера:

$ sudo systemctl reload apache2.service

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

$ sudo echo "192.168.122.241 www.example.local" >> /etc/hosts

Без этой строки (и без записи DNS) было бы невозможно связать адрес сервера с именем вашего виртуального хоста, а использование IP-сервера напрямую вместо этого «инициировало» бы виртуальный хост по умолчанию.

С клиентского компьютера, если вы теперь перейдёте к www.example.local, вы должны увидеть минимальную страницу, которую настроили выше.

Настройка SSL

SSL (Secure Sockets Layer) — это технология, которая позволяет нам шифровать данные, связанные с соединением между клиентом и сервером. При использовании SSL-сертификатов HTTPS (Hyper Text Transfer Protocol Secure) заменяет HTTP в URL-адресе.

SSL-сертификаты выдаются центром сертификации и могут быть очень дорогими, однако есть два других способа получить сертификат: создать самозаверяющий сертификат или воспользоваться сервисом Let’s encrypt.

Создаём самоподписанный SSL-сертификат

Создание самозаверенного сертификата — несложная задача. Это может быть удобно, если вы просто хотите получить шифрование. Мы можем создать самозаверяющий сертификат с помощью утилиты OpenSSL:

$ sudo openssl req -x509 \
 -days 365 \
 -sha256 \
 -newkey rsa:2048 \
 -nodes \
 -keyout example. key \
 -out example-cert.pem

Посмотрим, что делает эта команда. Первая опция, -x509определяет, что формируется сертификат стандарта X509.

С помощью -days мы устанавливаем срок действия сертификата в днях. Следующая опция — -newkey. С её помощью мы создаём новый ключ, в данном случае RSA-ключ размером 2048 бит. В тестовом примере нам не нужно шифровать файл закрытого ключа, поэтому используем -nodes. Если эта опция не указана, файл, в котором хранится ключ, будет защищён паролем, который нужно будет предъявлять каждый раз при перезапуске веб-сервера.

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

Скопируйте сгенерированный ключ и сертификат в каталоги /etc/ssl/private и /etc/ssl/ssl-certs соответственно:

$ sudo cp example-cert. pem /etc/ssl/certs

Сертификат является общедоступным, поэтому не требует специального разрешения.

Теперь ключ:

$ sudo cp example.key /etc/ssl/private

Важно настроить права доступа к файлу ключа. Папка /etc/ssl/private принадлежит root-пользователю и группе ssl-cert, и у неё есть права доступа 710. Это означает, что владелец имеет на неё полные права, а владелец группы может только получить к ней доступ и перечислить её содержимое, но не может дать разрешение другим:

$ ls -ld /etc/ssl/private
drwx--x--- 2 root ssl-cert 4096 Mar 16 11:57 /etc/ssl/private

Изменим права доступа к файлу ключа, предоставив владельцу права на чтение и запись, а группе — только для чтения:

$ sudo chown root:ssl-cert /etc/ssl/private/example.key
$ sudo chmod 640 /etc/ssl/private/example.key

Теперь, чтобы использовать сертификат, нужно включить модуль SSL с помощью команды a2enmod:

$ sudo a2enmod ssl

Почти всё готово. Теперь пришло время изменить наш виртуальный хост и настроить его следующим образом:

<VirtualHost *:443>
	DocumentRoot /var/www/example
	ServerName www.example.local

	# Enable ssl engine
	SSLEngine on

	SSLCertificate /etc/ssl/certs/example-cert.pem
	SSLCertificateKeyFile /etc/ssl/private/example.key
</VirtualHost>

Порт 443 в строке 1 — это порт, используемый для HTTPS (вместо порта 80, используемого для HTTP).

Мы также добавили инструкцию SSLEngine on в строке 6.

Наконец, в строках 8–9 мы определили пути для сертификата и файла ключей, используя инструкции SSLCertificateFile и SSLCertificateKeyFile.

Теперь следуйте инструкциям по открытию порты брандмауэра из начале статьи, но на этот раз чтобы разрешить HTTPS-службу:

$ sudo ufw allow https

Наконец, перезагрузите конфигурацию Apache:

$ sudo systemctl reload apache2

Готово. Теперь, если мы перейдём по адресу https://www.example.local, мы должны увидеть веб-сервер, предупреждающий нас о том, что используемый сертификат небезопасен. Это, однако, признак того, что наш сертификат работает, и трафик между клиентом и сервером будет зашифрован (вам необходимо добавить исключение для сертификата, чтобы использовать его).

Настройка Let’s encrypt

Альтернатива коммерческим и самозаверенным сертификатам — «Let’s encrypt». Это бесплатный, автоматизированный и открытый центр сертификации. Его цель — дать возможность автоматически получить сертификат, которому доверяет браузер, без какого-либо вмешательства человека.

Для этого используется протокол ACME (certificate management agent), который запускается на сервере.

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

Если же у вас есть доступ к shell, необходимо установить клиент certbotACME.

Для установки Certbot на Ubuntu 18.04 достаточно запустить:

$ sudo apt-get update && apt-get install certbot python-certbot-apache

Пакет Certbot поставляется с модулем systemd timer, который будет запускать Certbot два раза в день, чтобы поддерживать сертификат в актуальном состоянии. Получить сертификат довольно просто:

$ sudo certbot --apache -m  -d 

Очевидно, чтобы это работало, домен должен правильно указывать на ваш общедоступный IP-адрес. Certbot предложит вам несколько вопросов для настройки конфигурации, и, если всё пойдёт хорошо, сертификат и ключ будут сохранены в каталоге /etc/letsencrypt/live/. Просто настройте файл виртуального хоста, чтобы указать на них, и всё готово.

Как обезопасить сервер Apache

Основные средства защиты

Установка Fail2ban на Ubuntu Server 18.
04

Если вы хотите обезопасить свой сервер Ubuntu, первое, что вы должны сделать, — это установить систему обнаружения вторжений Fail2ban.

Fail2ban отслеживает определённые файлы журналов (в /var/log) на предмет неудачных попыток входа или автоматических атак на сервер. Когда обнаруживается попытка компрометации с IP-адреса, Fail2ban блокирует его, добавляя новую цепочку в iptables и предотвращая доступ или дальнейшую атаку на сервер.

Fail2ban настолько легко установить и использовать, что его можно рассматривать как простое и универсальное решение для всех серверов Linux.

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

sudo apt-get update
sudo apt-get upgrade

После выполнения команд при необходимости перезагрузите сервер.
Установить Fail2ban можно с помощью одной команды:

sudo apt-get install -y fail2ban

Проверьте установленную версию:

fail2ban-server --version

После этого Fail2ban готов к работе. Запустить и включить сервис можно так:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Настройка jail

Настроим его для попыток входа по SSH. В каталоге /etc/fail2ban вы найдёте файл jail.conf. Не редактируйте его. Вместо этого создайте новый файл jail.local, который переопределит любые подобные настройки в jail.conf. Новая конфигурация будет отслеживать /var/log/auth.log, использовать фильтр sshd fail2ban, устанавливать для порта SSH значение 22 и устанавливать максимальное количество попыток — 3. Для этого выполните команду:

sudo nano /etc/fail2ban/jail.local

В новый файл вставьте следующее содержимое:

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth. log
maxretry = 3

Сохраните и закройте его. Перезапустите Fail2ban с помощью команды:

sudo systemctl restart fail2ban

На этом этапе, если кто-либо попытается войти на ваш сервер Ubuntu через SSH и эта попытка 3 раза завершится ошибкой, он не сможет больше войти, поскольку iptables заблокирует IP-адрес.

Тестирование и разблокирование

Вы можете проверить, работает ли jail, намеренно провалив три попытки входа на сервер через SSH. После третьей неудачной попытки соединение будет зависать. Нажмите Ctrl+C, чтобы выйти, а затем попытайтесь вернуться по SSH на сервер. Вы больше не сможете использовать SSH на этом сервере с того IP-адреса, который вы использовали.

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

sudo fail2ban-client set sshd unbanip ip_address

Где ip_address — запрещённый IP-адрес.

Теперь вы снова можете войти.

Модуль mod_evasive

Ещё одна отличная утилита для обнаружения и блокировки IP-адресов, которые используются при атаке типа «отказ в обслуживании». Модуль помещает подозрительные IP-адреса во временный чёрный список и сохраняет их там, если они продолжают подозрительно себя вести.

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

Установка mod_evasive в Ubuntu

Введите команду:

# apt-get update

Затем установите вспомогательную утилиту:

sudo apt-get install apache2-utils

Чтобы установить модуль mod_evasive в Ubuntu, введите следующее:

# apt-get install libapache2-mod-evasive
Настройка mod_evasive

Как и большинство программных пакетов Linux, mod_evasive управляется файлом конфигурации.

Откройте его в текстовом редакторе с помощью следующей команды:

sudo nano /etc/apache2/mods-enabled/evasive.conf

Найдите запись:

#DOSEmailNotify you@yourdomain. com

Знак # помечает это как комментарий. Удалите его, затем замените [email protected] своим адресом электронной почты. Используйте ту, которой вы постоянно пользуетесь — именно сюда будут отправляться оповещения.

Отредактируйте файл журнала, чтобы он выглядел следующим образом:

Сохраните и выйдите, затем перезагрузите Apache:

sudo systemctl reload apache2
Тестирование mod_evasive

Пришло время проверить, правильно ли работает модуль.
Используйте скрипт test.pl. Его сценарий расположен по этому адресу:

/usr/share/doc/libapache2-mod-evasive/examples/test.pl.

Для его запуска примените эту команду:

perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

Вывод должен выглядеть таким образом:

Параметры и настройки

DOSSystemCommand

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

DOSHashTableSize

Увеличьте значение для более загруженных веб-серверов. Опция выделяет пространство для выполнения операций поиска. Увеличение размера улучшает скорость за счёт памяти.

DOSPageCount

Количество запросов для отдельной страницы, после которого адрес помещается в чёрный список. В примере стоит 2, но это достаточно маленькое (и агрессивное) значение. Увеличьте его, чтобы уменьшить количество ложных срабатываний.

DOSSiteCount

Общее количество запросов на один и тот же сайт по одному и тому же IP-адресу. По умолчанию установлено значение 50. Вы можете увеличить его до 100, чтобы уменьшить количество ложных срабатываний.

DOSPageInterval

Количество секунд для DOSPageCount. По умолчанию значение равно 1 секунде. Это означает, что если вы не измените его, запрос 2 страниц за 1 секунду временно поместит IP-адрес в чёрный список.

DOSSiteInterval

Как и DOSPageInterval, он определяет количество секунд, которые отслеживает DOSSiteCount. По умолчанию это значение равно 1 секунде, то есть если один IP-адрес запрашивает 50 ресурсов на одном и том же веб-сайте за одну секунду, он будет временно помещён в чёрный список.

DOSBlockingPeriod

Время, в течение которого IP-адрес остаётся в чёрном списке. По умолчанию установлено 10 секунд, но вы можете изменить его на любое значение, которое вам нравится.

DOSLogDir

По умолчанию он настроен на запись журналов в /var/log/mod_evasive. Эти журналы можно просмотреть позже, чтобы оценить поведение клиента.

Белые IP-адреса

Эта опция по умолчанию не включена в файл evasive.conf.

Откройте файл для редактирования и добавьте следующую строку:

DOSWhitelist ваш_IP_адрес

Подставьте IP-адрес, который хотите добавить в белый список. Нужно указывать только одну запись в строке. Обычно список используется для доверенных клиентов, которые обмениваются с вашим сайтом большим количеством данных. Этот инструмент хорош для обнаружения ботов и скриптов. Если есть боты или сценарии, которые вы хотите разрешить, можете внести их.

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

DNS Injection

Спам из веб-форм не только распространён, но и является быстрым способом внести домен в чёрный список подобный Spamhaus. Чтобы предотвратить подобное, вам нужно добавить ещё один модуль в Apache.

В терминале введите:

sudo apt-get -y install libapache2-mod-spamhaus

После завершения установки введите команду:

sudo touch /etc/spamhaus.wl

Далее откройте файл /etc/apache2/apache2.conf (используя sudo и ваш любимый текстовый редактор) и добавьте в конец вашего файла конфигурации блок:

<IfModule mod_spamhaus. c>
  MS_METHODS POST, PUT, OPTIONS, CONNECT 
  MS_WhiteList /etc/spamhaus.wl 
  MS_CacheSize 256 
</IfModule>

Сохраните файл apache2.conf и перезапустите Apache, чтобы новый модуль вступил в силу.

Slowloris

В Apache есть модуль для предотвращения подобных DOS-атак. Вот как это работает. Откройте окно терминала. Введите команду:

sudo apt-get -y install libapache2-mod-qos

После завершения установки проверьте конфигурацию в /etc/apache2/mods-available/qos.conf, чтобы убедиться, что она идеально соответствует вашим потребностям. После настройки модуля (при необходимости) перезапустите Apache.

Дополнительные средства защиты

Скрыть версию сервера

Это одно из первых соображений, поскольку вы не хотите показывать, какую версию веб-сервера вы используете. Её разоблачение означает, что вы помогаете хакеру ускорить процесс разведки.
Перейдите в папку:

$ Web_Server/conf

Измените httpd. conf с помощью редактора. Добавьте следующую директиву и сохраните httpd.conf:

ServerTokens Prod
ServerSignature Off

Перезапустите Apache.
ServerSignature удалит информацию о версии со страницы.
ServerTokens изменит заголовок только на рабочий, т. е. Apache.

Защита от атаки Clickjacking

Атака данного типа позволяет злоумышленнику выполнить клик на сайте-жертве от имени легитимного посетителя.

Чтобы обезопасить свой веб-сервер, вам нужно использовать заголовок «X-FRAME-OPTIONS»
Вы можете сделать это, отредактировав файл apache2.conf.

sudo nano /etc/apache2/apache2.conf

Добавьте следующую строку внутри Directory /var/www/html/:

Header always append X-Frame-Options SAMEORIGIN

Сохраните файл и перезапустите Apache.

sudo /etc/init.d/apache2 restart

Теперь попробуйте открыть веб-браузер для доступа к веб-серверу. Проверьте заголовки ответа HTTP в firebug. Вы должны увидеть X-Frame-Options.

Защита от атаки XSS

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») является одной из наиболее распространённых атак на уровне приложений.

Вы можете защититься от неё, отредактировав файл конфигурации Apache.

sudo nano /etc/apache2/apache2.conf

Добавьте следующую строку внутри Directory /var/www/html/:

Header set X-XSS-Protection "1; mode=block"

Заключение

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

Вадим Сычёв

что это такое и как им пользоваться

Apache – один из самых популярных в мире веб-серверов. Начинающие вебмастера не всегда понимают, что представляет собой Apache и как происходит взаимодействие с таким программным обеспечением.

Далее я постараюсь максимально подробно рассказать о нем, приводя объяснения общим терминам.

Понятие «веб-сервер‎»

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

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

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

Работа веб-сервера Apache

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

Все остальное зависит от подключаемых модулей, которые существуют для Apache Web Server, то есть его можно назвать модульным (собираемым из разных дополнений, расширяющих функциональность). Здесь уже создатель сайта сам решает, какие дополнения установить, редактируя конфигурацию через специальный файл под названием .htaccess. Дополнений существует множество – начиная со средств повышения безопасности и заканчивая модулями аутентификации пользователей при вводе учетных данных.

Пример использования файла .htaccess

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

Самая простая строка кода, вводимая в этот файл выглядит так:


AddType "text/html; charset=koi8-r" .html .htm .shtml

Ее основное предназначение – указать Apache кодировку, в которой нужно возвращать текст пользователю. Такое изменение делается в тех случаях, когда стандартный вывод вас не устраивает.

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

Если вы нуждаетесь в получении дополнительной информации о виртуальном хостинге с этим веб-сервером, ознакомьтесь с документацией Virtual Apache Host на официальном сайте разработчика ПО.

Подробнее: Apache Virtual Host documentation

Сравнение Apache с другими веб-серверами

Есть и другие веб-серверы, обладающие своими преимуществами и недостатками. Обо всех них в рамках этой статьи говорить не будем, рассмотрим лишь пару достойных конкурентов.

Начнем с самого известного решения – Nginx. Здесь сказать можно только одно – его главным преимуществом является преодоление барьера в 10 000 одновременных соединений. Apache не может обработать такой большой поток трафика сразу, поэтому многие вебмастера и переключились на альтернативу, когда масштабы их проекта значительно увеличились. Связано это с поточной структурой Apache и невозможностью реализовать прохождение такого барьера. Однако в некотором плане Апач превосходит Nginx, если говорить о простоте настройки, подключении модулей и юзерфрендли-подходе от разработчиков.

Примечание. Хостинг Timeweb на своих серверах использует связку Nginx+Apache: Nginx отдает статический контент, а Apache подключается позже и отвечает за обработку динамического контента.

Второй конкурент – Tomcat, его разработала та же компания, что и Apache, но уже для других целей. Он используется для работы приложений, написанных на Java, а Apache-сервер – это HTTP-направленный инструмент. Если вы не используете Java, а управляете статическими веб-страницами, переключаться на Tomcat точно не стоит.

Установка Apache на компьютер

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

Кстати, на «Комьюнити» есть отдельная инструкция, посвященная тому, как использовать Apache в качестве обратного прокси на Ubuntu. Это полезный материал для всех тех, кто хочет узнать больше о расширенных возможностях этого веб-сервера.

Подробнее: Как использовать Apache в качестве обратного прокси при помощи mod_proxy на Ubuntu 16.04

Преимущества и недостатки Apache

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

Плюсы

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

  • Открытый исходный код. Он позволяет не только бесплатно скачивать программу, но и изменять ее под свои цели, чем и занимаются многие компании по всему миру, составляя уникальные конфигурации.
  • Простота настройки. Помимо того, что в Apache есть огромное количество настроек, их редактирование остается таким же простым, а за вспомогательной информацией всегда можно обратиться к официальной документации.
  • Модульная структура. Считаю, что возможность подключения любого количества модулей значительно расширяет функциональность веб-сервера, делая его универсальным.
  • Кроссплатформенность. Скачать веб-сервер можно для любой операционной системы (но не для мобильной). При этом процесс настройки не меняется, различается только принцип инсталляции и расположение каталогов. Остается таким же и создание сайтов. Apache можно освоить как в Windows, так и в Linux или macOS.
  • Масштабируемость. Данный веб-сервер подойдет как для одного сайта, так и для нескольких, расположенных на одном виртуальном хостинге.

Минусы

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

  • Влияние трафика на производительность. Apache работает медленно, если наплыв пользователей слишком большой.
  • Дыры в безопасности. Это относится только к тем случаям, когда к веб-серверу подключено огромное количество модулей. Чем их больше, тем сложнее процесс конфигурирования, появляются уязвимые места и дыры.
  • Редактирование файлов в Linux. Управление конфигурационными файлами в этих дистрибутивах осуществляется вручную без графического интерфейса, что не всегда удобно (в качестве рекомендации могу подсказать приложение Apache GUI, благодаря которому настройку можно выполнить через веб-обозреватель).

Apache – несомненно, один из лучших веб-серверов, в чем вы смогли сами убедиться, дочитав мой обзор. 

Веб-сервер Apache

Почерпнуть мудрость

Основная информация

Apache HTTP-сервер — свободный веб-сервер. позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Веб-сервер — программный компонент, принимающий запросы от клиентов, обычно веб-браузеров, и выдающий им ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Установка: sudo apt-get install apache2

Конфигурирование

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Примитивный пример.
  1. Создать файл с конфигурацией Apache для хоста проектаsudo nano /etc/apache2/sites-available/project.confстроки: <VirtualHost *:80> ServerName project. dev ServerAdmin webmaster@localhost DocumentRoot /home/username/project <Directory /home/username/project > AllowOverride all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  2. Создать файл с конфигурацией Apache для хоста другого проектаsudo nano /etc/apache2/sites-available/project2.confстроки: <VirtualHost *:80> ServerName project2.dev ServerAdmin webmaster@localhost DocumentRoot /home/username/projectother <Directory /home/username/projectother > AllowOverride all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  3. Добавить в список хостов sudo nano /etc/hosts строки: 127.0.0.1 project.dev
    127.0.0.1 project2.dev
  4. Активация (enable) созданных конфигураций Apache для наших проектовsudo a2ensite project
    sudo a2ensite project2 Примечание: деактивация делается командой a2dissite
  5. Перезапуск Apachesudo /etc/init. d/apache2 restart
  6. Всё, теперь мы можем заходить на project.dev/ и project2.dev/ с локалки.
    Примечание: если хотим дать возможность заходить к нам на машину извне — то в файл .conf нужно добавить строку Listen 80, например.

restart и команды start и stop. Как перезагрузить сервер

Казалось-бы, такая простая задача, может поставить некоторых новых пользователей Linux в тупик. Если вы задаётесь вопросом, как перегрузить apache в linux, то эта статья для вас.

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

Во-первых, войдите на свой сервер используя любой ssh клиент:

После входа на сервер, используйте следующие команды, в зависимости от системы сервера.

Команды используемые на Debian/Ubuntu Linux подобных системах

Используйте эти команды на последних версиях Debian Linux не ниже 8.

x+ версии или Ubuntu Linux не ниже 15.04+версии:

## Старт сервера Apache2## systemctl start apache2.service ## Остановка сервера Apache2 ## systemctl stop apache2.service ## Перезапуск сервера Apache2 ## systemctl restart apache2.service

## Старт сервера Apache2##

systemctl start apache2.service

## Остановка сервера Apache2 ##

systemctl stop apache2.service

## Перезапуск сервера Apache2 ##

systemctl restart apache2.service

Команды используемые на CentOS/RHEL (Red Hat) Linux подобных системах

## Старт сервера Apache2 ## systemctl start httpd.service ## Остановка сервера Apache2 ## systemctl stop httpd.service ## Перезапуск сервера Apache2 ## systemctl restart httpd.service

## Старт сервера Apache2 ##

systemctl start httpd. service

## Остановка сервера Apache2 ##

systemctl stop httpd.service

## Перезапуск сервера Apache2 ##

systemctl restart httpd.service

Основной метод для управления Стартом/Перезагрузкой/Остановкой web-сервера Apache на Linux/Unix системах

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

## Остановка сервера ## apachectl -k stop ## Перезагрузка сервера ## apachectl -k restart ## Старт сервера ## apachectl -f /path/to/your/httpd.conf apachectl -f /usr/local/apache2/conf/httpd.conf

## Остановка сервера ##

apachectl -k stop

## Перезагрузка сервера ##

apachectl -k restart

## Старт сервера ##

apachectl -f /path/to/your/httpd.conf

apachectl -f /usr/local/apache2/conf/httpd.conf

Как администрировать веб-сервер Apache с «Apache GUI»

Как администрировать веб-сервер Apache с помощью инструмента «Apache GUI».  Apache Web Server является одним из самых популярных HTTP-серверов в Интернете на сегодняшний день благодаря своей природе с открытым исходным кодом, богатым модулям и функциям и может работать практически на основных платформах и в операционных системах.

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

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

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

  • Редактирование файлов конфигурации вашего веб-сервера прямо из браузера.
  • Редактирование веб-документы прямо из браузера.
  • Загрузка, поиск и визуализация Apache Logs в режиме реального времени.
  • Установка, редактирование или удаление модулей Apache.
  • Просмотр статистики времени выполнения или подробных графиков транзакций Apache HTTP Server.
  • Управление глобальными настройками сервера.
  • Управление и просматр всех VirtualHosts в виде дерева.

 

 

В этой статье я буду устанавливать Apache GUI Web Tool на VPS Linode CentOS 7 с IP-адресом 192.168.0.100 и предоставлю вам короткий сценарий инициализации для запуска или остановки процесса.

Те же инструкции также работают для дистрибутивов RHEL/CentOS 6.x и Fedora.

 

Шаг 1: Загрузите и установите Apache GUI

1. Прежде чем приступить к загрузке и установке средства графического интерфейса Apache, необходимо убедиться, что Java JDK, предоставляемый пакетом Java-openjdk, установлен в вашей системе, чтобы вы могли запустить Apache GUI.

Используйте следующие команды, чтобы найти версию пакета Java-openjdk и установить ее в RHEL/CentOS 7.

# yum search openjdk
# yum install java-1.8.0

 

 

2. Предполагая, что вы вошли в систему как пользователь root, а текущим рабочим каталогом является /root, используйте следующую ссылку для загрузки последней версии установочных файлов исходного пакета Apache GUI (т.е. ApacheGUI-1.12.0.tar.gz) из Sourceforge.

http://sourceforge.net/projects/apachegui/files/

 

Кроме того, вы также можете получить исходные файлы архива tar для Linux-Solaris-Mac -> ApacheGUI, используя следующую команду wget, как показано ниже.

# wget https://sourceforge.net/projects/apachegui/files/1.12-Linux-Solaris-Mac/ApacheGUI-1.12.0.tar.gz/download

 

 

3. После загрузки архива распакуйте его и переместите весь полученный каталог в системный путь /opt, который будет местом установки вашего сервера графического интерфейса Apache.

# tar xfz ApacheGUI-1.9.3.tar.gz
# mv ApacheGUI /opt
# cd /opt

 

 

4. Теперь пришло время запустить и проверить функциональность Apache GUI Web Tool. Измените каталог на ApacheGUI /bin/path и используйте скрипт run.sh для запуска инструмента и скрипт stop.sh для остановки сервера.

# cd ApacheGUI/bin/
# ./run.sh 

 

 

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

http://localhost:9999/ApacheGUI/[/code]

 

 

Чтобы получить удаленный контроль над веб-инструментом <strong>Apache GUI</strong> через браузер, необходимо добавить правило в системный брандмауэр, которое открывает порт 9999/TCP, который является портом по умолчанию, который прослушивает <strong>Apache GUI Tools</strong>.  Используйте следующие команды, чтобы открыть порт 9999 в RHEL/CentOS 7 с помощью утилиты Firewalld.

[code]# firewall-cmd --add-port=9999/tcp ## On fly rule
# firewall-cmd --add-port=9999/tcp --permanent ## Permanent rule – you need to reload firewall to apply it
# firewall-cmd --reload[/code]

 

<a href="https://blog.sedicomm.com/wp-content/uploads/2019/12/Open-Port-on-CentOS-7.png"><img src="https://blog.sedicomm.com/wp-content/uploads/2019/12/Open-Port-on-CentOS-7-600x186.png" alt="Open-Port-on-CentOS-7" /></a>

 

6. Если порт 9999, используемый графическим интерфейсом <strong>Apache</strong>, перекрывается с другим приложением в вашей системе, вы можете изменить его, отредактировав файл конфигурации <strong>ApacheGUI</strong> server.xml, найдите <strong>Connector port = «9999» protocol = «HTTP/1.1»</strong> и замените оператор порта на Ваш любимый номер порта (не забудьте применить правило брандмауэра порта одновременно). 

[bash]# nano /opt/ApacheGUI/tomcat/conf/server.xml

 

 

Шаг 2. Настройка графического интерфейса Apache

7. Теперь пришло время настроить Apache GUI Web Tool для администрирования Apache Web Server с удаленной точки. Предполагая, что вы настроили системный брандмауэр и разрешили внешние подключения, откройте удаленный браузер и введите «используйте свой внешний IP-адрес для доступа к графическому интерфейсу Apache».

http://192.168.1.80:9999/ApacheGUI/

 

 

Используйте следующие учетные данные для входа в инструмент ApacheGUI.

Username: admin
Password: admin 

 

 

 

8. Затем инструмент подскажет вам, как был установлен веб-сервер Apache. Выберите опцию Package, если вы установили Apache в RHEL/CentOS с помощью инструмента управления пакетами yum и нажали OK, чтобы двигаться вперед.

 

 

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

Server Root: /etc/httpd
Primary Configuration File: /etc/httpd/conf/httpd.conf
Configuration Directory: /etc/httpd
Log Directory: /var/log/httpd
Modules Directory: /etc/httpd/modules
Binary File: /usr/sbin/apachectl
Username: choose a username
Password: choose a strong password
Password: repeat the above password

 

 

10. После того, как вы закончите, нажмите кнопку «Отправить», чтобы применить настройки, и все готово. Теперь вы можете управлять веб-сервером Apache со всеми его файлами конфигурации и редактировать веб-документы прямо из браузера, как показано на скриншотах ниже.

 

 

 

 

Шаг 3: Создайте сценарий инициализации systemv

11. Если вам нужен метод для управления Apache GUI Tool без необходимости всегда менять каталог на [APACHEGUI_HOME], который для этой установки — /opt/ApacheGUI/ и выполнять сценарии run.sh и stop.sh, создайте файл конфигурации init/etc/init.d/apache-gui как в следующем отрывке.

# nano /etc/init.d/apache-gui

 

 

Скопируйте приведенный ниже текст без каких-либо изменений, сохраните его и примените разрешения на выполнение.

#!/bin/sh
#
#
# System startup script for apache-gui
#
### BEGIN INIT INFO
# Provides: apache-gui
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the apache-gui
# Description: Start the apache-gui
### END INIT INFO
#
# chkconfig: 2345 20 80
# description: Runs the apache-gui
# processname: apache-gui
#
# Source function library
.  /etc/init.d/functions

case "$1" in
start)
cd /opt/ApacheGUI/bin/
./run.sh
;;
stop)
cd /opt/ApacheGUI/bin/
./stop.sh
;;
*)
echo $"Usage: $0 {start|stop}"
exit 2
esac
exit $?

 

 

12. Используйте следующие команды для управления процессом Apache GUI в RHEL/CentOS 7.

# service apache-gui start
# service apache-gui stop

OR

# systemctl start apache-gui
# systemctl stop apache-gui
# systemctl status apache-gui

 

 

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

# chkconfig apache-gui on

 

 

Чтобы отключить его для всей системы.

# chkconfig apache-gui off

 

 

Несмотря на то, что Apache GUI Web Tool имеет некоторые ограничения и не обеспечивает ту же степень гибкости для веб-сервера Apache, которую вы можете достичь из командной строки, он может предоставить современный бесплатный веб-интерфейс Java для администрирования вашего веб-сервера и имеет редактор для веб-документов, таких как HTML, CSS, JavaScript, XML, Json, PHP, Perl, Shell, Python и может генерировать некоторые подробные графики транзакций Apache.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности,  полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.

Что Вы получите?

  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.

Как проходит обучение?

  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.

А еще поможем Вам:

  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Что такое апач? Подробный обзор веб-сервера Apache

Глоссарий

access_time

17 июня 2020 г.

hourglass_empty

5min Read

person_outline

Domantas G.

Apache — это бесплатный веб-сервер с открытым исходным кодом. обслуживает около 40% веб-сайтов по всему миру. Официальное название — Apache HTTP Server, он поддерживается и разрабатывается Apache Software Foundation.

Он позволяет владельцам веб-сайтов предоставлять контент в Интернете — отсюда и название «веб-сервер».«Это один из самых старых и надежных веб-серверов, первая версия которого была выпущена более 20 лет назад, в 1995 году.

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

Здесь, в Hostinger, наша инфраструктура веб-хостинга использует Apache параллельно с NGINX, еще одним популярным программным обеспечением для веб-серверов. Эта конкретная установка позволяет нам получить лучшее из обоих миров.Это значительно повышает производительность сервера, компенсируя слабые стороны одного программного обеспечения сильными сторонами другого.

Перейдите на хостинг Hostinger сегодня и получите 30-дневную гарантию возврата денег!

Начните здесь


Что такое веб-сервер?

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

Задача веб-сервера — обслуживать веб-сайты в Интернете. Для достижения этой цели он действует как посредник между сервером и клиентскими машинами. Он извлекает контент с сервера по каждому запросу пользователя и доставляет его в Интернет.

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

Они превращают их в статические файлы HTML и обслуживают эти файлы в браузерах веб-пользователей. Когда вы слышите слово «веб-сервер», думайте о нем как об инструменте, отвечающем за правильную связь сервера и клиента.

Как работает веб-сервер Apache?

Хотя мы называем Apache веб-сервером, это не физический сервер, а скорее программное обеспечение, работающее на сервере. Его задача — установить соединение между сервером и браузерами посетителей веб-сайтов (Firefox, Google Chrome, Safari и т. Д.).) при передаче файлов между ними (структура клиент-сервер). Apache — это кроссплатформенное программное обеспечение, поэтому оно работает как на серверах Unix, так и на Windows.

Когда посетитель хочет загрузить страницу на вашем веб-сайте, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер, а Apache возвращает ответ со всеми запрошенными файлами (текст, изображения , так далее.). Сервер и клиент обмениваются данными по протоколу HTTP, а программное обеспечение Apache отвечает за бесперебойную и безопасную связь между двумя машинами.

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

Apache и другие веб-серверы

Помимо Apache, существует множество других популярных веб-серверов.Каждое приложение веб-сервера было создано для разных целей. Хотя Apache является наиболее широко используемым, у него довольно много альтернатив и конкурентов.

Apache против NGINX

Nginx, произносится как Engine-X, — это новое веб-серверное приложение, впервые выпущенное в 2004 году. На сегодняшний день оно стало довольно популярным среди владельцев веб-сайтов. Nginx был создан для решения так называемой проблемы c10k, что означает, что веб-сервер, использующий потоки для обработки пользовательских запросов, не может управлять более чем 10 000 подключений одновременно.

  1. Поскольку Apache использует структуру на основе потоков, владельцы веб-сайтов с интенсивным трафиком могут столкнуться с проблемами производительности. Nginx — один из веб-серверов, решающих проблему c10k, и, вероятно, самый успешный из них.
  2. Nginx имеет архитектуру, управляемую событиями, которая не создает новый процесс для каждого запроса. Вместо этого он обрабатывает каждый входящий запрос в одном потоке. Этот главный процесс управляет несколькими рабочими процессами, которые выполняют фактическую обработку запросов.Модель Nginx, основанная на событиях, эффективно распределяет пользовательские запросы между рабочими процессами, что обеспечивает гораздо лучшую масштабируемость.
  3. Если вам нужно управлять веб-сайтом с высоким трафиком, Nginx — отличный выбор, поскольку он может делать это с минимальными затратами ресурсов. Не может быть совпадением, что его используют многие популярные веб-сайты, такие как Netflix, Hulu, Pinterest и Airbnb.
  4. Тем не менее, для малых и средних игроков Apache имеет ряд преимуществ перед Nginx, таких как простая конфигурация, множество модулей и удобная для новичков среда.

Apache vs.

Tomcat

Tomcat — это веб-сервер, также разработанный Apache Software Foundation, поэтому его официальное название — Apache Tomcat. Это также HTTP-сервер, однако он поддерживает приложения Java, а не статические веб-сайты. Tomcat может запускать несколько различных спецификаций Java, таких как Java Servlet, JavaServer Pages (JSP), Java EL и WebSocket.

  1. Tomcat был создан специально для приложений Java, а Apache — это HTTP-сервер общего назначения.Вы можете использовать Apache вместе с разными языками программирования (PHP, Python, Perl и т. Д.) С помощью соответствующего модуля Apache (mod_php, mod_python, mod_perl и т. Д.).
  2. Хотя сервер Tomcat можно использовать и для обслуживания статических веб-страниц, он менее эффективен для этой цели по сравнению с сервером Apache. Например, Tomcat предварительно загружает виртуальную машину Java и другие библиотеки, связанные с Java, которые вам не понадобятся на большинстве веб-сайтов.
  3. Tomcat также менее настраиваем по сравнению с другими веб-серверами. Например, для запуска WordPress лучшим выбором будет HTTP-сервер общего назначения, такой как Apache или NGINX.

Apache За и против

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

Плюсы :

  1. С открытым исходным кодом и бесплатно, даже для коммерческого использования.
  2. Надежное, стабильное программное обеспечение.
  3. Часто обновляемые регулярные исправления безопасности.
  4. Гибкость благодаря модульной структуре.
  5. Простота настройки, удобство для новичков.
  6. Кросс-платформенный (работает как на серверах Unix, так и на Windows).
  7. Работает «из коробки» с сайтами WordPress.
  8. Огромное сообщество и доступная поддержка в случае возникновения каких-либо проблем.

Минусы :

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

Дополнительная информация

Хотите узнать больше об основах хостинга и разработки веб-сайтов? Ознакомьтесь с этими руководствами:

Итак, что такое Apache?

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

Вы можете установить веб-сайт WordPress на веб-сервер Apache без каких-либо настроек.Кроме того, Apache без проблем работает со многими другими системами управления контентом (Joomla, Drupal и т. Д.), Веб-фреймворками (Django, Laravel и т. Д.) И языками программирования. Это делает его отличным выбором для всех типов платформ веб-хостинга, таких как VPS или виртуальный хостинг.

Как настроить веб-сервер Apache

Я уже много лет размещаю свои собственные веб-сайты. После перехода с OS / 2 на Linux более 20 лет назад я использовал Apache в качестве серверного программного обеспечения. Apache надежен, хорошо известен и довольно прост в настройке для базовой установки.На самом деле это не так уж сложно настроить для более сложной настройки, такой как несколько веб-сайтов.

Установка и настройка веб-сервера Apache должны выполняться от имени пользователя root. Настроить брандмауэр также нужно с правами root. Использование браузера для просмотра результатов этой работы должно выполняться как пользователь без полномочий root. (Я использую пользователя student на моем виртуальном хосте.)

Установка

Примечание. Эта статья была обновлена ​​с использованием Fedora 33 с Apache 2.4.46. Если вы используете другой дистрибутив или другую версию Fedora, ваши команды, а также расположение и содержимое файлов конфигурации могут отличаться. Однако строки конфигурации, которые вам нужно изменить, одинаковы независимо от распределения.

Веб-сервер Apache прост в установке. С помощью одной команды вы можете установить его и все необходимые зависимости:

  $ dnf установить httpd  

Все файлы конфигурации для Apache находятся в / etc / httpd / conf и / etc / httpd / conf.d . Данные для веб-сайтов, которые вы будете запускать с Apache, по умолчанию расположены в / var / www , но вы можете изменить это, если хотите.

Конфигурация

Основной файл конфигурации Apache — /etc/httpd/conf/httpd.conf . Он содержит множество конфигурационных инструкций, которые не нужно изменять для базовой установки. Фактически, для того, чтобы базовый веб-сайт заработал, необходимо внести в этот файл лишь несколько изменений. Файл очень большой, поэтому, вместо того, чтобы загромождать эту статью множеством ненужных вещей, я покажу только те директивы, которые вам нужно изменить.

Сначала найдите время и просмотрите файл httpd. conf , чтобы ознакомиться с ним. Одна из вещей, которые мне нравятся в версиях большинства конфигурационных файлов Red Hat, — это количество комментариев, описывающих различные разделы и директивы конфигурации в файлах. Файл httpd.conf не является исключением, поскольку он довольно хорошо прокомментирован. Используйте эти комментарии, чтобы понять, что настраивает файл.

Первым изменяемым элементом является оператор Listen , который определяет IP-адрес и порт, на котором Apache должен прослушивать запросы страниц.Прямо сейчас вам просто нужно сделать этот веб-сайт доступным для локального компьютера, поэтому используйте адрес localhost . Когда вы закончите, линия должна выглядеть так:

  Слушайте 127.0.0.1:80  

Если в этой директиве установлен IP-адрес localhost , Apache будет прослушивать только соединения с локального хоста. Если вы хотите, чтобы веб-сервер прослушивал соединения с удаленных хостов, вы должны использовать внешний IP-адрес хоста.

Директива DocumentRoot определяет расположение файлов HTML, составляющих страницы веб-сайта.Эту линию не нужно изменять, потому что она уже указывает на стандартное местоположение. Строка должна выглядеть так:

  DocumentRoot "/ var / www / html"  

RPM установки Apache создает дерево каталогов / var / www . Если вы хотите изменить место, где хранятся файлы веб-сайта, этот элемент конфигурации используется для этого. Например, вы можете захотеть использовать другое имя для подкаталога www , чтобы сделать идентификацию веб-сайта более явной.Это может выглядеть так:

  DocumentRoot "/ var / mywebsite / html"  

Это единственные изменения конфигурации Apache, необходимые для создания простого веб-сайта. Для этого небольшого упражнения в файл httpd.conf было внесено только одно изменение — директива Listen . Все остальное уже настроено для создания рабочего веб-сервера.

Однако необходимо еще одно изменение: открыть порт 80 в нашем брандмауэре. Я использую iptables в качестве брандмауэра, поэтому я изменяю / etc / sysconfig / iptables , чтобы добавить оператор, разрешающий протокол HTTP.Весь файл выглядит так:

 

# пример конфигурации для службы iptables
# вы можете отредактировать это вручную или использовать system-config-firewall
# пожалуйста, не просите нас добавлять дополнительные порты / службы к этой конфигурации по умолчанию
* filter
: INPUT ACCEPT [0: 0 ]
: FORWARD ACCEPT [0: 0]
: OUTPUT ACCEPT [0: 0]
-A INPUT -m состояние --state RELATED, ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT - i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host -hibited
-A FORWARD -j REJECT --reject-with icmp-host -hibited
COMMIT

Добавленная мной строка является третьей снизу, которая разрешает входящий трафик на порт 80. Теперь я перезагружаю измененную конфигурацию iptables.

  [root @ testvm1 ~] # cd / etc / sysconfig /; iptables-восстановление iptables  

Создайте файл index.html

Файл index.html — это файл по умолчанию, который веб-сервер будет обслуживать, когда вы заходите на веб-сайт, используя только имя домена, а не конкретное имя файла HTML. В каталоге / var / www / html создайте файл с именем index.html . Добавьте содержимое Hello World .Вам не нужно добавлять какую-либо разметку HTML, чтобы это работало. Единственная задача веб-сервера — обслуживать поток текстовых данных, и сервер не знает, какая это дата и как ее отобразить. Он просто передает поток данных запрашивающему хосту.

После сохранения файла установите право собственности на apache.apache .

  [root @ testvm1 html] # chown apache.apache index.html  

Запустите Apache

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

 [root @ testvm1 ~] # systemctl start httpd 
[root @ testvm1 ~] # статус systemctl httpd
● httpd.service - HTTP-сервер Apache
Загружено: загружено (/usr/lib/systemd/system/httpd.service; отключено; предустановка поставщика: отключено)
Активен: активен (работает) с чт 2018-02-08 13:18:54 EST; 5с назад
Документы: мужчина: httpd.service (8)
Основной PID: 27107 (httpd)
Статус: «Обработка запросов... "
Задач: 213 (лимит: 4915)
CGroup: /system.slice/httpd.service
├─27107 / usr / sbin / httpd -DFOREGROUND
├─27108 / usr / sbin / httpd -DFOREGROUND
├─27109 / usr / sbin / httpd -DFOREGROUND
├─27110 / usr / sbin / httpd -DFOREGROUND
└─27111 / usr / sbin / httpd -DFOREGROUND

8 февраля, 13:18:54 testvm1 systemd [1]: Запуск HTTP-сервера Apache ...
8 февраля 13:18:54 testvm1 systemd [1]: Запуск Apache HTTP-сервер.

На вашем сервере команды могут отличаться. В системах Linux, которые используют сценарии запуска SystemV, команды будут:

 

[root @ testvm1 ~] # service httpd start
Запуск httpd: [Пт, 09 фев, 08:18:07 2018] [OK]
[root @ testvm1 ~] # статус httpd службы
httpd (pid 14649) запущен. ..

Если у вас есть веб-браузер, такой как Firefox или Chrome, на вашем хосте, вы можете использовать URL-адрес localhost в строке URL-адреса браузера, чтобы отобразить свою веб-страницу, даже если она есть.Вы также можете использовать веб-браузер в текстовом режиме, например Lynx, для просмотра веб-страницы. Сначала установите Lynx (если он еще не установлен).

  [root @ testvm1 ~] # dnf -y установить lynx  

Затем используйте следующую команду для отображения веб-страницы.

  [root @ testvm1 ~] # lynx localhost  

Результат выглядит так в моем терминальном сеансе. Я удалил много пустого места на странице.

 Hello World 

Команды: используйте клавиши со стрелками для перемещения, '?' для помощи, 'q', чтобы выйти, '<-', чтобы вернуться.
Клавиши со стрелками: вверх и вниз для перемещения. Право перехода по ссылке; Осталось вернуться.
H) elp O) ptions P) rint G) o M) на экране Q) uit / = поиск [удалить] = список истории

Затем отредактируйте файл index.html и добавьте немного разметки HTML, чтобы он выглядел так:

   

Привет, мир

Теперь обновите браузер. Для Lynx используйте комбинацию клавиш Ctrl + R. Результаты выглядят немного иначе. Текст в цвете, так Lynx отображает заголовки, если ваш терминал поддерживает цвет, и теперь он центрирован.В браузере с графическим интерфейсом текст будет крупным шрифтом.

 Hello World 

Команды: используйте клавиши со стрелками для перемещения, '?' для помощи, 'q', чтобы выйти, '<-', чтобы вернуться.
Клавиши со стрелками: вверх и вниз для перемещения. Право перехода по ссылке; Осталось вернуться.
H) elp O) ptions P) rint G) o M) на экране Q) uit / = поиск [удалить] = список истории

Прощальные мысли

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

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

Эта статья была первоначально опубликована в 2018 году и была обновлена ​​редактором.

Как установить веб-сервер Apache в Windows

Начать веб-разработку очень просто: вы создаете файл с именем something.html , отредактируйте его в Блокноте и загрузите в браузер. С помощью этого процесса можно создавать простые сайты, но чтобы по-настоящему изучить возможности, вам понадобится веб-сервер.

Эта популярная статья была обновлена ​​в 2020 году и содержит наиболее полезные и точные рекомендации.

Что такое веб-сервер?

(Перейдите к следующему разделу, если хотите…)

Веб-сервер — это программа, которая прослушивает запросы и возвращает данные (обычно файл).Когда вы набираете «www.mysite.com», запрос пересылается на компьютер, на котором запущено программное обеспечение веб-сервера, который возвращает файл обратно вашему браузеру, например, содержимое index.html . Затем браузер может делать дополнительные запросы на основе содержимого HTML — например, CSS, JavaScript и графических файлов.

Поскольку веб-сервер находится между вашим браузером и запрошенным файлом, он может выполнять обработку, которая невозможна при прямом открытии файла HTML. Например, он может анализировать код PHP, который подключается к базе данных и возвращает данные.

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

Почему Apache?

В целом рекомендуется использовать программное обеспечение веб-сервера, которое использует ваш хостинг. Если вы не создаете приложения ASP.NET на Microsoft IIS, ваш хост, скорее всего, будет использовать Apache — наиболее распространенный и полнофункциональный доступный веб-сервер. Это проект с открытым исходным кодом, поэтому его загрузка или установка не требует дополнительных затрат.

Следующие инструкции описывают, как установить Apache в Windows. macOS поставляется с Apache и PHP. У большинства пользователей Linux предустановлен Apache или доступен в базовых репозиториях.

Пакеты «все в одном»

Существует несколько отличных универсальных дистрибутивов Windows, которые содержат Apache, PHP, MySQL и другие приложения в одном установочном файле, например XAMPP (для Windows, Linux и macOS), WampServer и WampDeveloper Pro. В использовании этих пакетов нет ничего плохого, хотя установка Apache вручную поможет вам больше узнать о системе и ее параметрах конфигурации.

Мастер установки Apache

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

Ручная установка

Ручная установка дает несколько преимуществ:

  • Резервное копирование, переустановка или перемещение веб-сервера может быть выполнено за секунды.
  • У вас больше контроля над тем, как и когда запускается Apache.
  • Вы можете установить Apache где угодно, например на переносной USB-накопитель (полезно для демонстрации клиентов).

Шаг 1. Настройка IIS

Apache прослушивает запросы на TCP / IP-порту 80. Вам необходимо удалить или отключить любую программу, которая использует этот порт. Если у вас установлена ​​профессиональная или серверная версия Windows, возможно, у вас уже установлен IIS. Если вы предпочитаете Apache, удалите IIS как компонент Windows или отключите его службы.

Шаг 2. Загрузите файлы

Мы собираемся использовать неофициальный двоичный файл Windows из Apache Lounge.В этой версии улучшены производительность и стабильность по сравнению с официальным дистрибутивом Apache, хотя я еще не заметил значительной разницы. Однако он предоставляется в виде устанавливаемого вручную ZIP-файла с сайта www.apachelounge.com/download/.

Вам также следует загрузить и установить среду выполнения Windows C ++ с сайта Microsoft.com. Возможно, он уже установлен, но повторная установка не повредит.

Как всегда, не забывайте проверять на вирусы все загрузки.

Мы установим Apache в C: / Apache24 , поэтому распакуйте ZIP-файл в корень диска C: / .Apache можно установить в любом месте вашей системы, но вам нужно будет изменить конфигурацию SVROOT , чтобы она указывала на ваше распакованное местоположение, например, E: / Apache24 .

Шаг 4. Настройте Apache

Apache настроен с использованием текстового файла conf / httpd. conf , содержащегося в папке Apache. Откройте его в своем любимом текстовом редакторе.

Обратите внимание, что во всех настройках пути к файлу используется косая черта (/), а не обратная косая черта Windows. Если вы установили Apache где-нибудь, кроме C: / Apache24 , сейчас хорошее время для поиска и замены всех ссылок на C: / Apache24 .

Есть несколько строк, которые вы должны изменить для своей производственной среды:

  • Строка 60, прослушиваем все запросы на порт 80:

      Слушайте *: 80
      
  • Строка 162, включите мод-перезапись, удалив # (необязательно, но полезно):

      LoadModule rewrite_module modules / mod_rewrite.so
      
  • Строка 227, укажите доменное имя сервера:

      Имя сервера localhost: 80
      
  • Строка 224, разрешить .htaccess отменяет:

      AllowOverride All
      

По умолчанию Apache возвращает файлы, найденные в его папке C: / Apache24 / htdocs . Хорошо использовать папку на другом диске или разделе, чтобы упростить резервное копирование и повторную установку. В этом примере мы создадим папку с именем D: WebPages и изменим httpd.conf соответственно:

Шаг 5. Проверьте установку

Теперь ваша конфигурация Apache может быть протестирована.Откройте командное окно (Пуск> Выполнить> cmd ) и введите:

 
cd / Apache24 / bin

httpd -t
  

Он должен сказать «Синтаксис ОК». Если нет, исправьте все ошибки конфигурации httpd.conf и повторите тестирование, пока они не появятся.

Шаг 6: установите Apache как службу Windows

Самый простой способ запустить Apache — это добавить его как службу Windows. Откройте новую командную строку от имени администратора и введите следующее:

  кд / Apache24 / bin
httpd -k установить
  

Откройте Панель управления, Администрирование, затем Службы и дважды щелкните Apache2. 4. Установите для параметра «Тип запуска» значение «Автоматический», чтобы обеспечить запуск Apache при каждой загрузке компьютера.

В качестве альтернативы установите Тип запуска «Вручную» и запускайте Apache всякий раз, когда выбираете, используя команду «net start Apache2.4».

Шаг 7. Протестируйте веб-сервер

Создайте файл с именем index.html в корне веб-страницы Apache ( htdocs или D: \ WebPages ) и добавьте небольшой HTML-код:

  
    
         Тестирование Apache 
    
    
        

Apache работает!

Убедитесь, что Apache успешно запущен, откройте веб-браузер и введите адрес http: // localhost / .Если все пойдет хорошо, должна появиться ваша тестовая страница.

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

Заключение

И все! Вот еще несколько руководств по теме:

Чтобы узнать больше о рабочих процессах, посмотрите наш скринкаст Что такое npm и как его использовать?

Пошаговая инструкция — DNSstuff

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

Существует множество хорошо известных альтернатив Apache — nginx, XAMPP, Caddy и Microsoft IIS и многие другие, — но ни одна из них не предлагает такой же широты использования, как Apache. Apache настолько широко используется, что занимает более 50% рынка коммерческих веб-серверов. Он особенно популярен для использования с Unix-подобными операционными системами, хотя поддерживает большинство платформ. Это включает в себя Windows, OS X, OS / 2 и другие.

Простое определение Apache
Как настроить сервер Apache
Как настроить сервер Apache в Linux
Как настроить виртуальные серверы Apache
Лучший инструмент мониторинга сервера Apache

Однако гибкость и широта использования Apache во многих случаях достигаются за счет простоты.Структура конфигурации сложна, и многие дополнительные функции трудно использовать. Это руководство по серверу Apache объяснит основы Apache, предоставив инструкции по настройке веб-сервера Apache в Linux, шаг за шагом. Цель состоит в том, чтобы помочь вам не только настроить сервер Apache, но и контролировать его. Для этой цели я рекомендую SolarWinds ® Server & Application Monitor для Apache.

Простое определение Apache

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

Как настроить сервер Apache

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

Вы можете установить и настроить сервер Apache двумя способами.

  1. Установка от поставщика. Поскольку это веб-приложение с открытым исходным кодом, любой может создать установщик для своей индивидуальной среды. Такие производители, как Red Hat, SUSE и Debian, использовали эту возможность для настройки конфигурации сервера Apache и расположения файлов с учетом базовой операционной системы и других установленных программ.
  2. Установка исходного кода. Альтернативой использованию установщика от поставщика является установка сервера Apache путем сборки и установки непосредственно из исходного кода.Такой подход позволяет настроить сервер Apache независимо от платформы, доступным для всех операционных систем.

При обоих вариантах установки модули могут быть скомпилированы в форме динамического общего объекта или DSO. DSO — это объектный файл, который может совместно использоваться и использоваться многочисленными приложениями. Модули DSO отделены от основного файла Apache. Подход DSO к компиляции модулей популярен, потому что он упрощает добавление, обновление и удаление модулей.

Как настроить сервер Apache в Linux

Это руководство по серверу Apache теперь будет содержать пошаговые инструкции по настройке веб-сервера Apache в Linux.

  1. Обновите системные репозитории. Это включает в себя загрузку самой последней версии программного обеспечения путем обновления локального индекса пакетов репозиториев Ubuntu. Для этого зайдите в терминал и введите в него команду «$ sudo apt update».
  2. Установите Apache с помощью команды «apt». В этом примере давайте использовать Apache2. Просто введите следующую команду — «$ sudo apt install apache2» — как sudo, которая установит Apache2 и все необходимые зависимости. На этом этапе вас могут спросить, хотите ли вы продолжить процесс установки.Введите «Y», чтобы указать, что вы хотите, и установка начнется.
  3. Убедитесь, что Apache успешно установлен. После завершения процедуры установки проверьте номер версии, чтобы убедиться, что Apache2 теперь установлен в вашей системе. Для этого введите «$ apache2 -version». Появится версия сервера, надеюсь, подтверждающая, что Apache2 установлен.

Как настроить виртуальные серверы Apache

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

  1. Сначала введите «$ sudo nano /etc/apache2/sites-available/example.com.conf», чтобы открыть файл конфигурации виртуального хоста.
  2. Замените «example.com» соответствующим образом. Затем вы сможете изменить следующее:
    ServerName example.com
    ServerAdmin admin @ example.com
    ServerAlias ​​www.example.com
    DocumentRoot /var/www/example.com/public_html Еще раз не забудьте заменить все примеры компонентов соответствующей информацией. После изменения конечный результат должен выглядеть следующим образом:

    ServerName example. com
    ServerAdmin [email protected]
    ServerAlias ​​www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog $ {APACHE_LOG_DIR} /error.log
    CustomLog $ {APACHE_LOG_DIR} /access.log вместе
  3. При возникновении ошибки обратитесь к этим инструкциям, чтобы убедиться, что ничего не было опечатано или введено неправильно.

После настройки веб-сервера Apache я настоятельно рекомендую использовать инструмент мониторинга, который поможет вам протестировать сервер Apache и эффективно контролировать его. На рынке есть несколько таких инструментов, но SolarWinds Server & Application Monitor (SAM) возглавляет мой список. Этот инструмент позволяет легко определять конкретные метрики производительности для упреждающего мониторинга Apache Cassandra, Apache Geronimo и Apache Tomcat. Единое приложение способно контролировать и управлять всей вашей средой Apache и базовой инфраструктурой сервера.

С помощью SAM легко контролировать время безотказной работы и производительность, а также диагностировать основные проблемы с производительностью. Приложение обеспечивает упреждающий мониторинг всех компонентов поддержки веб-сервера, участвующих в работе веб-сервера Apache, включая Linux и MySQL. Мониторинг приложений охватывает виртуальный уровень, серверы и приложения, такие как Microsoft SQL Server, Exchange и Active Directory. Система извлекает выгоду из настраиваемых предупреждений, отчетов и простых в навигации информационных панелей, готовых к использованию сразу после установки.Это означает, что вы можете приступить к работе после установки SAM без необходимости создавать или изменять информационные панели.

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

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

Благодаря единой централизованной панели управления и обширной поддержке, предлагаемой SolarWinds, использование этого приложения не может быть проще. SolarWinds SAM также служит более широким решением для мониторинга приложений и серверов, с его возможностями мониторинга, распространяющимися на Active Directory, серверы без агентов, зависимости приложений, AWS, Azure IaaS и многое другое.Что замечательно, вы можете загрузить 30-дневную бесплатную пробную версию без риска, чтобы опробовать полнофункциональное программное обеспечение, прежде чем брать на себя обязательства.

Обзор веб-серверов

| Netcraft News

В ходе опроса , октябрь 2020 года, мы получили ответы с 1 205 797 275 сайтов в 264 098 084 уникальных доменах и 10 449 223 компьютерах, подключенных к Интернету. Это отражает увеличение на 9,50 миллиона имен хостов и 111 000 компьютеров, но потерю 187 000 доменов.

nginx продемонстрировал наибольший рост доменов и компьютеров с выходом в Интернет, где он лидирует с 79,9 млн доменов и 3,58 млн компьютеров, что дает ему доли 30,2% и 34,2%. Тем не менее, рост nginx был опережает Google по количеству активных сайтов: Google получил 1,31 миллиона активных сайтов по сравнению с ростом nginx в 1,06 миллиона. Этот рост делает Google единственным крупным поставщиком, чья рыночная доля активных сайтов в этом месяце увеличилась, и сейчас она составляет чуть более 10%.Несмотря на падение на 0,79 процентных пункта, Apache по-прежнему лидирует с долей активных сайтов 25,7%.

Вопреки сильному росту других показателей, nginx продемонстрировал наибольшее падение своего присутствия среди миллиона веб-сайтов с наибольшим количеством сайтов: на 3030 сайтов меньше, что снизило его долю до 25,5%, в то время как Apache продолжает лидировать с 28,3%.

Другие заметные изменения в этом месяце включают сокращение на 8,10% количества доменов, обслуживаемых веб-серверами Microsoft, которое уменьшилось на 1,73 миллиона до 19. 6 миллионов. Во многом это было вызвано продолжением миграции припаркованных доменов GoDaddy с собственной инфраструктуры хостинга GoDaddy на серверы OpenResty в облаке Google, в результате чего количество доменов на базе OpenResty увеличилось на 1,92 миллиона до 36,4 миллиона. Единственный рынок, на котором Microsoft увеличила свою долю, — это один из миллионов веб-сайтов, на котором она получила 319 дополнительных сайтов, достигнув 7,20%.

Платформа приложений DigitalOcean

DigitalOcean вышла на арену «Платформа как услуга» (PaaS), запустив свой новый продукт «Платформа приложений», который можно использовать для создания, развертывания и масштабирования веб-приложений и статических веб-сайтов.Это полностью управляемый сервис, основанный на DigitalOcean Kubernetes и других открытых стандартах, предлагающий большую часть гибкости Kubernetes без связанной с этим сложности.

Конкурируя с такими сервисами, как AWS Elastic Beanstalk, Oracle Cloud Platform и Microsoft Azure App Service, DigitalOcean App Platform предлагает стартовый ценовой уровень, который позволяет клиентам ознакомиться с платформой путем бесплатного развертывания до трех статических сайтов, в то время как динамические приложения могут быть построенным и развернутым от 5 долларов в месяц. Платформа приложений «из коробки» поддерживает несколько популярных языков и фреймворков приложений, включая PHP, Docker, Go, Node.js, Python и Ruby.

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

Новые выпуски серверов

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

Также 29 сентября было выпущено

njs 0.4.4. Эта версия языка сценариев, расширяющего nginx, включает новый объект Buffer, а также несколько других новых функций и исправлений ошибок. Позже, 8 октября, был выпущен NGINX Unit 1.20.0, в котором представлены несколько новых функций, исправления ошибок и поддержка ASGI 3. 0.

Apache Tomcat 8.5.59, Tomcat 9.0.39 и Tomcat 10.0.0-M9 были выпущены 9 октября. Tomcat 10.0.0-M9 считается важным выпуском, поскольку он переключается с Java EE на Jakarta EE после передачи Java EE в Eclipse Foundation.Apache предоставил инструмент, который автоматически преобразует существующие проекты Java EE 8, работающие на Tomcat 9, в проекты Jakarta EE 9, которые будут работать на этой последней версии Tomcat 10.





90,968668 41221
Разработчик сентябрь 2020 процент октябрь 2020 процент изменение
nginx 407,086,442 34,03%
Apache 330,682,809 27,64% 326,050,973 27,04% -0,60
Microsoft 95,944,600 Google 45 689 961 3,82% 46 583 411 3,86% 0,04

Читать далее

Запуск базового веб-сервера Apache | Документация по Compute Engine

Установка Apache

  1. Используйте диспетчер пакетов Debian для установки пакета apache2 :

      sudo apt update && sudo apt -y install apache2
      

    После установки Apache операционная система автоматически запускает Сервер Apache.

  2. Перезаписать веб-страницу по умолчанию веб-сервера Apache с помощью следующей команды:

      echo '    

    Hello World!

    ' | sudo tee /var/www/html/index.html

Проверьте свой сервер

Убедитесь, что ваш экземпляр обслуживает трафик по внешнему IP-адресу.

  1. В консоли Google Cloud перейдите на страницу экземпляров ВМ .

    Перейти к экземплярам ВМ

  2. Скопируйте внешний IP-адрес для вашего экземпляра под Внешний IP-адрес столбец.
  3. В браузере перейдите по адресу http: // [EXTERNAL_IP] . Не подключайтесь с помощью https , поскольку сервер вернет ошибку Connection Refused .

Теперь вы должны увидеть «Hello World!» страница.

Очистить

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

Поиск и устранение неисправностей

Получение Соединение отклонено Ошибка

Если вы видите ошибку Connection Refused , возможно, что:

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

    • Экземпляр виртуальной машины не имеет правильного тега, который позволяет Compute Engine чтобы применить к вашему экземпляру соответствующие правила брандмауэра.
    • В вашем проекте нет правила брандмауэра, разрешающего трафик внешний IP-адрес вашего экземпляра.
  • Вы пытаетесь получить доступ к виртуальной машине, используя адрес https . Убедитесь, что ваш URL-адрес — http: // [EXTERNAL_IP] , а не https: // [EXTERNAL_IP] .

Чтобы убедиться, что ваш экземпляр виртуальной машины имеет правильные теги:

  1. В консоли Google Cloud перейдите на страницу экземпляров виртуальных машин .

    Перейти к экземплярам ВМ

  2. Щелкните имя экземпляра, к которому вы пытаетесь подключиться.
  3. Щелкните Изменить вверху страницы.
  4. Прокрутите вниз до Межсетевые экраны и убедитесь, что Разрешить HTTP-трафик проверено. Если он не отмечен, проверьте его.
  5. Сохраните изменения. Это гарантирует, что правильные теги будут добавлены в Экземпляр ВМ.

Чтобы убедиться, что существует правильное правило брандмауэра:

  1. В консоли Google Cloud перейдите на страницу Правила брандмауэра .

    Зайдите в Правила межсетевого экрана

  2. Найдите правило брандмауэра, разрешающее все диапазоны IP-адресов через tcp: 80. Обычно, это правило называется правилом default-allow-http .
  3. Если правила не существует, создайте его.
    1. Щелкните Создать правило брандмауэра .
    2. Введите имя правила, например default-allow-http .
    3. Ниже Диапазон IP-адресов источника , введите 0.0.0.0/0 , чтобы разрешить трафик от все источники.
    4. В разделе Протоколы и порты , проверьте Указанные протоколы и порты и введите tcp: 80 .
    5. Создайте правило брандмауэра.

Проверьте свой сервер еще раз, перейдя на внешний IP-адрес экземпляра:

  http: // [EXTERNAL_IP]
  

Что дальше

Узнайте, как разместить веб-сайт на Google Compute Engine.

Узнайте, как настроить LAMP на Google Compute Engine.

Попробуйте сами

Если вы новичок в Google Cloud, создайте учетную запись, чтобы оценить, как Compute Engine работает в реальном мире сценарии. Новые клиенты также получают 300 долларов в качестве бесплатных кредитов для запуска, тестирования и развертывать рабочие нагрузки.

Попробуйте Compute Engine бесплатно

apache / httpd: зеркало HTTP-сервера Apache.

Выпуски: http://issues.apache.org
                          HTTP-сервер Apache

  Что это такое?
  -----------

  HTTP-сервер Apache - это мощный и гибкий, совместимый с HTTP / 1.1.
  веб сервер. Первоначально разработан как замена NCSA HTTP
  Server, он стал самым популярным веб-сервером на
  Интернет. В рамках проекта Apache Software Foundation
  разработчики стремятся совместно разрабатывать и поддерживать надежную,
  коммерческий, стандартный сервер со свободно доступным
  исходный код.Последняя версия
  ------------------

  Подробную информацию о последней версии можно найти в Apache HTTP.
  страница серверного проекта по адресу http://httpd.apache.org/.

  Документация
  -------------

  Документация, доступная на дату выпуска этого выпуска:
  включены в формате HTML в каталог docs / manual /. Большинство
  актуальную документацию можно найти на
  http://httpd.apache.org/docs/trunk/.

  Установка
  ------------

  Пожалуйста, посмотрите файл под названием INSTALL.  Примечания для платформы могут быть
  найдено в README.платформы.

  Лицензирование
  ---------

  См. Файл LICENSE.

  Уведомление о криптографическом программном обеспечении
  -----------------------------

  Этот дистрибутив может включать программное обеспечение, которое было разработано для использования
  с криптографическим программным обеспечением. Страна, в которой вы сейчас проживаете
  могут иметь ограничения на ввоз, владение, использование и / или реэкспорт
  в другую страну, программного обеспечения для шифрования. ПЕРЕД использованием любого шифрования
  программное обеспечение, пожалуйста, ознакомьтесь с законами, правилами и политиками вашей страны
  в отношении импорта, владения, использования и реэкспорта шифрования
  программное обеспечение, чтобы узнать, разрешено ли это.См. 
  для дополнительной информации.

  Министерство торговли США, Бюро промышленности и
  Security (BIS) классифицировал это программное обеспечение как Export Commodity
  Контрольный номер (ECCN) 5D002. C.1, который включает информационную безопасность
  программное обеспечение, использующее или выполняющее криптографические функции с асимметричным
  алгоритмы. Форма и характер этого Apache Software Foundation
  распространение дает право на экспорт в соответствии с исключением из лицензии
  Исключение для неограниченного программного обеспечения ENC Technology (TSU) (см. BIS
  Правила экспортного контроля, статья 740.13) для обоих объектов
  код и исходный код.

  Ниже приводится более подробная информация о включенных файлах, которые
  может подпадать под экспортный контроль криптографического программного обеспечения:

    Apache httpd 2.0 и более поздние версии включают модуль mod_ssl в
       модули / ssl /
    для настройки и прослушивания соединений через зашифрованный SSL
    сетевые сокеты, выполняя вызовы универсального шифрования
    библиотека, такая как OpenSSL или зависящая от платформы ОС
    Возможности SSL.

    Кроме того, некоторые версии apr-util предоставляют абстрактный интерфейс. 
    для симметричных криптографических функций, которые используют
    библиотека шифрования общего назначения, такая как OpenSSL, NSS или
    средства операционной системы, зависящие от платформы.Этот интерфейс
    известный как интерфейс apr_crypto, с реализацией ниже
    / криптографический каталог. Интерфейс apr_crypto используется
    модуль mod_session_crypto доступен в
      модулей / сеанс
    для дополнительного шифрования информации о сеансе.

    Некоторые дистрибутивы объектного кода Apache httpd, обозначенные
    слово «крипто» в названии пакета может включать объектный код для
    Библиотека шифрования OpenSSL, распространяемая в форме с открытым исходным кодом от
    .

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

  Контакты
  --------

     o Если вы хотите получать информацию о новых выпусках кода, исправлениях ошибок,
       исправления безопасности, общие новости и информация о сервере Apache
       подпишитесь на список рассылки apache-announce, как описано в разделе
       

     o Если вам нужна бесплатная поддержка для запуска Apache, см.
       ресурсы на 

     o Если у вас есть конкретный отчет об ошибке для Apache, см. инструкции
       для сообщений об ошибках на 

     o Если вы хотите участвовать в активно развивающемся Apache, пожалуйста,
       подпишитесь на список рассылки `[email protected] ', как описано на
       

 
.