Как установить apache на debian: Как установить Apache на Debian 10 – База знаний Timeweb Community
Установка веб-сервера Apache в Debian 9
Введение
HTTP-сервер Apache — самый широко используемый веб-сервер в мире. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиа-форматов и интеграцию с другим популярным программным обеспечением.
В этом обучающем модуле мы расскажем, как установить веб-сервер Apache на сервере Debian 9.
Предварительные требования
Прежде чем начать прохождение настоящего обучающего модуля, необходимо настроить на сервере обычного пользователя без привилегий root и с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр для вашего сервера, следуя указаниям руководства Начальная настройка сервера Debian 9.
Создав учетную запись, войдите в систему как пользователь без привилегий root.
Шаг 1 — Установка Apache
Apache поставляется с используемыми по умолчанию хранилищами программного обеспечения Debian, что позволяет использовать для его установки инструменты управления из стандартных пакетов.
Для начала выгрузим указатель локальных пакетов, чтобы отразить последние изменения на предыдущих уровнях:
Затем установим пакет apache2
:
После подтверждения установки apt
выполнит установку Apache и всех требуемых зависимостей.
Шаг 2 — Настройка брандмауэра
Прежде чем тестировать Apache, необходимо изменить настройки брандмауэра, чтобы разрешить доступ к веб-портам по умолчанию. Если вы выполнили предварительные указания , у вас должен быть установлен брандмауэр UFW, настроенный для ограничения доступа к вашему серверу.
Во время установки Apache регистрируется в UFW, предоставляя несколько профилей приложений, которые можно использовать для включения или отключения доступа к Apache через брандмауэр.
Выведите список профилей приложений ufw
, введя следующую команду:
Вы увидите список профилей приложений:
Output
Available applications:
AIM
Bonjour
CIFS
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .
Профили Apache начинаются с WWW:
- WWW: этот профиль открывает только порт 80 (обычный веб-трафик без шифрования)
- WWW Cache: этот профиль открывает только порт 8080 (иногда используется для кэширования и веб-прокси)
- WWW Full: этот профиль открывает порт 80 (обычный веб-трафик без шифрования) и порт 443 (трафик TLS/SSL с шифрованием)
- WWW Secure: этот профиль открывает только порт 443 (трафик с шифрованием TLS/SSL)
Рекомендуется применять самый ограничивающий профиль, который будет разрешать заданный трафик. Поскольку в этом модуле мы еще не настроили SSL для нашего сервера, нам нужно будет только разрешить трафик на порту 80.
Для проверки изменений введите:
В результатах вы должны увидеть, что трафик HTTP разрешен:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)
Как видите, профиль был активирован для разрешения доступа к веб-серверу.
Шаг 3 — Проверка веб-сервера
В конце процесса установки Debian 9 запускает Apache. Веб-сервер уже должен быть запущен и работать.
Используйте команду systemd
init system, чтобы проверить работу службы:
- sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-09-05 19:21:48 UTC; 13min ago
Main PID: 12849 (apache2)
CGroup: /system.slice/apache2.service
├─12849 /usr/sbin/apache2 -k start
├─12850 /usr/sbin/apache2 -k start
└─12852 /usr/sbin/apache2 -k start
Sep 05 19:21:48 apache systemd[1]: Starting The Apache HTTP Server...
Sep 05 19:21:48 apache systemd[1]: Started The Apache HTTP Server.
Как видно из результатов, служба успешно запущена. Однако лучше всего протестировать ее запуск посредством запроса страницы из Apache.
Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес: Если вы не знаете IP-адрес вашего сервера, есть несколько способов узнать его с помощью командной строки.
Попробуйте ввести в командной строке сервера следующую команду:
Вы получите несколько адресов, разделенных пробелами. Вы можете попробовать каждый из них в браузере, чтобы убедиться в их работоспособности.
Альтернатива заключается в использовании инструмента curl
, который должен предоставить вам публичный IP-адрес, отображаемый в других местах в интернете.
Вначале выполните установку curl
с помощью apt
:
Затем используйте curl
для получения icanhazip.com с помощью IPv4:
Когда вы узнаете IP-адрес вашего сервера, введите его в адресную строку браузера:
http://your_server_ip
Вы увидите веб-страницу Debian 9 Apache по умолчанию:
Эта страница показывает, что Apache работает корректно. Также на ней содержится информация о важных файлах Apache и расположении каталогов.
Шаг 4 — Управление процессом Apache
Теперь ваш веб-сервер запущен и работает, и настало время изучить некоторые простые команды управления.
Чтобы остановить веб-сервер, введите:
- sudo systemctl stop apache2
Чтобы запустить остановленный веб-сервер, введите:
- sudo systemctl start apache2
Чтобы остановить и снова запустить службу, введите:
- sudo systemctl restart apache2
Если вы просто вносите изменения в конфигурацию, во многих случаях Apache может перезагружаться без отключения соединений. Для этого нужно использовать следующую команду:
- sudo systemctl reload apache2
По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если вы не хотите этого, отключите такое поведение с помощью следующей команды:
- sudo systemctl disable apache2
Чтобы перезагрузить службу для запуска во время загрузки, введите:
- sudo systemctl enable apache2
Теперь Apache должен запуститься автоматически при следующей загрузке сервера.
Шаг 5 — Настройка виртуальных хостов (рекомендуется)
При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен example.com, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени с помощью DigitalOcean, пройдите наш обучающий модуль Введение в DigitalOcean DNS.
В Apache в Debian 9 по умолчанию включен один серверный блок, настроенный на обслуживание документов из каталога /var/www/html
. Хотя это хорошо работает для отдельного сайта, при хостинге нескольких сайтов это неудобно. Вместо изменения /var/www/html
мы создадим в /var/www
структуру каталогов для нашего сайта example.com, оставив /var/www/html
как каталог по умолчанию для вывода в случае, если запросу клиента не соответствуют никакие другие сайты.
Создайте каталог для example.com следующим образом, используя опцию -p
для создания необходимых родительских каталогов:
sudo mkdir -p /var/www/example.com/html
Затем назначьте владение каталогом с помощью переменной среды $USER
:
- sudo chown -R $USER:$USER /var/www/example.com/html
Разрешения корневых каталогов веб-сервера должны быть правильными, если вы не изменяли значение unmask
. Тем не менее, вы можете проверить это с помощью следующей команды:
- sudo chmod -R 755 /var/www/example. com
Затем создайте в качестве примера страницу index.html
, используя nano
или свой любимый редактор:
- nano /var/www/example.com/html/index.html
Добавьте в страницу следующий образец кода HTML:
/var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h2>Success! The example.com virtual host is working!</h2>
</body>
</html>
Сохраните файл и закройте его после завершения.
Для обслуживания этого контента Apache необходимо создать файл виртуального хоста с правильными директивами. Вместо изменения файла конфигурации по умолчанию /etc/apache2/sites-available/000-default.conf
мы создадим новый файл /etc/apache2/sites-available/example.com.conf
:
- sudo nano /etc/apache2/sites-available/example. com.conf
Введите следующий блок конфигурации, который похож на заданный по умолчанию, но обновлен с учетом нового каталога и доменного имени:
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Обратите внимание, что мы изменили DocumentRoot
на новый каталог, а ServerAdmin
— на адрес электронной почты, доступный администратору сайта example.com. Также мы добавили две директивы: директиву ServerName
, которая устанавливает базовый домен и должна соответствовать определению виртуального хоста, и директиву ServerAlias
, которая задает дополнительные имена, которые должны давать совпадение, как если бы они были базовыми именами.
Сохраните файл и закройте его после завершения.
Активируем файл с помощью инструмента a2ensite
:
- sudo a2ensite example.com.conf
Отключите сайт по умолчанию, определеный в 000-default.conf
:
- sudo a2dissite 000-default.conf
Затем проверим ошибки конфигурации:
- sudo apache2ctl configtest
Вы должны увидеть следующий результат:
Output
Syntax OK
Перезапустие Apache для внесения изменений:
- sudo systemctl restart apache2
Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://example.com
, после чего должны увидеть примерно следующее:
Шаг 6 — Знакомство с важными файлами и каталогами Apache
Теперь вы научились управлять службой Apache, и настало время познакомиться с несколькими важными каталогами и файлами.
Контент
/var/www/html
: веб-контент, в состав которого по умолчанию входит только показанная ранее страница Apache по умолчанию, выводится из каталога/var/www/html
. Это можно изменить путем изменения файлов конфигурации Apache.
Конфигурация сервера
/etc/apache2
: каталог конфигурации Apache. Здесь хранятся все файлы конфигурации Apache./etc/apache2/apache2conf
: главный файл конфигурации Apache. Его можно изменить для внесения изменений в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации./etc/apache2/ports.conf
: этот файл задает порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порта 80, а если активирован модуль с функциями SSL, он также прослушивает порт 443./etc/apache2/sites-available/
: каталог, где можно хранить виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации из этого каталога, если они не будут связаны с каталогомsites-enabled
. Обычно все изменения конфигурации серверных блоков выполняются в этом каталоге, а затем активируются посредством ссылки на другой каталог с помощью командыa2ensite
./etc/apache2/sites-enabled/
: каталог, где хранятся активные виртуальные хосты для каждого сайта. Обычно они создаются посредством создания ссылок на файлы конфигурации из каталогаsites-available
с помощью командыa2ensite
. Apache считывает файлы конфигурации и ссылки из этого каталога при запуске или перезагрузке, когда компилируется полная конфигурация./etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
: эти каталоги имеют те же отношения, что и каталогиsites-available
иsites-enabled
, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальному хосту. Файлы из каталогаconf-available
можно активировать с помощью командыa2enconf
и отключить с помощью командыa2disconf
./etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: эти каталоги содержат доступны и активированные модули соответственно. Файлы с расширением.load
содержат фрагменты для загрузки определенных модулей, а файлы с расширением.conf
содержат конфигурации этих модулей. Модули можно активировать и отключать с помощью командa2enmod
иa2dismod
.
Журналы сервера
/var/log/apache2/access.log
: по умолчанию каждый запрос веб-сервера регистрируется в этом файле журналда, если Apache не настроен по другому./var/log/apache2/error.log
: по умолчанию все ошибки регистрируются в этом файле. ДирективаLogLevel
в конфигурации Apache указывает, насколько детальные записи регистрируются в журналах ошибок.
Заключение
Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.
Если вы хотите развернуть более полный комплекс приложений, ознакомьтесь с этой статьей Настройка набора LAMP в Debian 9.
Установка и настройка сервера Apache
Apache — это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.
Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.
Содержание статьи:
Установка Apache
На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:
sudo apt update
sudo apt upgrade
Затем установка apache2:
sudo apt install apache2
В других дистрибутивах пакет программы называется либо так, либо httpd и его установка у вас не вызовет трудностей.
После завершения установки нужно добавить веб-сервер в автозагрузку, чтобы не запускать его вручную после включения компьютера:
sudo systemctl enable apache2
Настройка Apache
Уже прошло то время, когда конфигурация Apache хранилась в одном файле. Но оно и правильно, когда все распределено по своим директориям, в конфигурационных файлах легче ориентироваться.
Все настройки содержатся в папке /etc/apache/:
- Файл /etc/apache2/apache2.conf отвечает за основные настройки
- /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
- /etc/apache2/mods-available/* — настройки модулей
- /etc/apache2/sites-available/* — настойки виртуальных хостов
- /etc/apache2/ports.conf — порты, на которых работает apache
- /etc/apache2/envvars
Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.
Сначала давайте рассмотрим главный файл конфигурации:
vi /etc/apache2/apache2.conf
Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.
KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.
MaxKeepAliveRequests 100 — максимальное количество запросов за одно соединение, чем больше, тем лучше.
KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.
User, Group — пользователь и группа, от имени которых будет работать программа.
HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.
LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error
Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.
Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:
<Directory /адрес/в/файловой/системе/>
Параметр значение
</Directory>
Здесь доступны такие основные опции:
AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.
DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю
Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.
Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.
Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.ru: Allow from losst.ru.
Здесь все эти директивы не используются, поскольку нас устраивают значения по умолчанию, но вот в файлах . htaccess они могут быть очень полезны.
У нас остался файл /etc/apache2/ports.conf:
В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.
Последний файл /etc/apache2/envvars, его вы вряд ли будете использовать, в нем указанны переменные, которые можно использовать в других конфигурационных файлах.
Дальше поговорим немного о htacess. Совсем немного.
Настройка сервера Apache через htaccess
Файлы .htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег <directory адрес_папки> если бы находились в основном файле.
Важно заметить, что для того, чтобы сервер читал инструкции из .htaccess настройки для этой папки в основном файле или файле виртуального хоста не должны содержать AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All. /\.]+)/?$ product.php?id=$1 [L]
Но это очень обширная тема и выходит за рамки этой статьи.
Настройка модулей Apache
Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.
Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:
apache2ctl -M
Включить модуль можно командой:
sudo a2enmod имя_модуля
А отключить:
sudo a2dismod имя_модуля
После включения или отключения модулей нужно перезагрузить apache:
sudo systemctl restart apache2
Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:
vi /etc/apache2/mods-available/deflate.load
Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.
Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:
vi /etc/apache2/mods-available/deflate.conf
Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:
a2enconf имя_модуля
a2disconf имя модуля
Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:
sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod ssl
Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.
Настройка виртуальных хостов Apache
Было бы не совсем удобно, если на одной физической машине можно было размещать только один сайт. Apache может поддерживать сотни сайтов на одном компьютере и выдавать для каждого из них правильное содержимое. Для этого используются виртуальные хосты. Сервер определяет к какому домену приходит запрос и отдает нужное содержимое из папки этого домена.
Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:
- ServerName — основное имя домена
- ServerAlias — дополнительное имя, по которому будет доступен сайт
- ServerAdmin — электронная почта администратора
- DocumentRoot — папка с документами для этого домена
Например:
vi /etc/apache2/sites-available/test.site.conf
<VirtualHost *:80>
ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:
sudo a2ensite test. site
Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:
sudo a2dissite test.site
Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:
vi /etc/hosts
127.0.0.1 test.site
127.0.0.1 www.test.site
Вот, ну теперь будет работать, открывайте браузер, проверяйте.
Выводы
Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!
Оцените статью:
Загрузка…
Как установить веб-сервер Apache в Debian 10
HTTP-сервер Apache является одним из самых популярных веб-серверов в мире. Это кросс-платформенный HTTP-сервер с открытым исходным кодом, который обслуживает большой процент веб-сайтов в Интернете. Apache предоставляет множество мощных функций, которые можно расширить с помощью дополнительных модулей.
В этой статье мы объясним, как установить Apache на Debian 10, Buster.
Предпосылки
Перед началом работы убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Установка Apache
Пакеты Apache доступны в репозиториях Debian по умолчанию.
Установка довольно проста. Обновите индекс пакета и установите веб-сервер Apache с помощью следующих команд:
sudo apt updatesudo apt install apache2
Вот и все, Apache установлен и автоматически запущен. Чтобы проверить тип статуса:
sudo systemctl status apache2
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: Active: active (running) since Sat 2019-07-27 13:55:49 PDT; 21s ago ...
Настройте брандмауэр
Пользователи UFW могут открывать порты HTTP ( 80) и HTTPS ( 443), включив профиль «Nginx Full»:
sudo ufw allow 'Apache Full'
Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимые порты, введя следующую команду:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Проверка установки Apache
Чтобы убедиться, что Apache работает правильно, откройте браузер, введите IP-адрес сервера или доменное имя, http://YOUR_IP_OR_DOMAIN/и вы увидите страницу приветствия Apache по умолчанию, как показано ниже:
Страница содержит основную информацию о файлах конфигурации Apache, вспомогательных сценариях и расположениях каталогов.
Структура файла конфигурации Apache и лучшие практики
- В системах на основе Debian файлы конфигурации Apache находятся в каталоге /etc/apache2.
- Основной файл конфигурации Apache /etc/apache2/apache2.conf.
- Порты, которые Apache будет прослушивать, указаны в файле /etc/apache2/ports.conf.
- Файлы Apache Virtual Hosts находятся в каталоге /etc/apache2/sites-available. Файлы конфигурации, найденные в этом каталоге, не используются Apache, если они не связаны с каталогом /etc/apache2/sites-enabled.
- Вы можете активировать директиву виртуального хоста, создав символическую ссылку, используя команду a2ensite из файлов конфигурации, найденных в каталоге sites-available и каталоге sites-enabled. Чтобы деактивировать виртуальный хост, используйте команду a2dissite.
- Настоятельно рекомендуется следовать стандартному соглашению об именах, например, если ваше доменное имя является, mydomain.comтогда файл конфигурации домена должен быть назван/etc/apache2/sites-available/mydomain. com.conf
- Файлы конфигурации, которые используются для загрузки различных модулей Apache, находятся в каталоге /etc/apache2/mods-available. Конфигурации в каталоге mods-available могут быть включены путем создания символической ссылки на каталог /etc/apache2/mods-enable с помощью команды a2enconf и отключены с помощью команды a2disconf.
- Файлы, содержащие фрагменты глобальной конфигурации, хранятся в каталоге /etc/apache2/conf-available. Файлы в conf-availableкаталоге могут быть включены путем создания символической ссылки /etc/apache2/conf-enabled с помощью команды a2enconf и отключены с помощью команды a2disconf.
- Файлы журнала Apache ( access.logи error.log) находятся в каталоге /var/log/apache. Рекомендуется использовать разные лог – файлы access и error для каждого виртуального хоста.
- Вы можете установить корневой каталог документа вашего домена в любое место, которое вы хотите. Наиболее распространенные места для webroot включают в себя:
- /home/<user_name>/<site_name>
- /var/www/<site_name>
- /var/www/html/<site_name>
- /opt/<site_name>
Заключение
Установка Apache в Debian – это запуск одной команды.
Теперь вы можете начать развертывание своих приложений и использовать Apache в качестве веб-сервера или прокси-сервера.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Установка Apache OpenMeetings на Debian 10
OpenMeetings – это бесплатное программное обеспечение, использующее браузер, которое позволяет мгновенно настроить конференцию в Интернете. Вы можете использовать свой микрофон или веб-камеру, делиться документами, показывать свой экран или записывать встречи. Он доступен как размещенный сервис, или как установленный пакет на свой сервер без ограничений в использовании или пользователях.
OpenMeetings содержит множество возможностей для проведения мероприятий, основные из которых:
- Личный и групповой чат;
- Создание неограниченного количества сессий для общения;
- Почтовый клиент;
- Интеграция с LDAP;
- Календарь с функцией планирования;
- Запись встречи во время проведения трансляции;
- Создание опросов и голосования в режиме реального времени между участниками;
- Редактирование документов участниками встречи;
- Приложение для ОС Android.
Также к основному достоинству OpenMeetings можно отнести гибкую настройку интерфейса и его брендирование и установка собственного дизайна пол стиль компании.
Требования к оборудованию
- Минимальные требования (без конвертеров документов, функции записи и загрузки) 2 ГГц ЦП 4 ГБ ОЗУ;
- Рекомендуемое требование 2x/4x 2 ГГц ++ CPU (32 или 64 бит) 8 ГБ ОЗУ. Если у вас есть 64-битная операционная система, проверьте, доступна ли 64-битная версия OpenOffice для вашей ОС;
- Рекомендации для гарнитуры/микрофона: Logitech ClearChat PC Wireless. Смотрите все рекомендации для камер, гарнитур и громкой связи.
Дальнейшие действия выполняется под пользователем root.
Обновление системы
apt-get update && apt-get upgrade
Установка OpenJava
Для работы OpenMeetings необходима Java 11, поэтому мы будем устанавливать Openjava 11.
apt-get install openjdk-11-jdk openjdk-11-jdk-headless vim checkinstall
Если у вас установлено более одной версии Java, необходимо выбрать основную:
update-alternatives --config java
Смотрим установленную Java версию:
root@debian:~# java -version openjdk version "11. 0.6" 2020-01-14 OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)
Установка LibreOffice
LibreOffice нужен для того, чтобы конвертировать в pdf загруженные офисные файлы. Но мы устанавливаем его специально для сервера iso:
apt-get install libreoffice apt-get install software-properties-common apt-get update
ImageMagick и SoX
apt-get install -y imagemagick libjpeg62 zlib1g-dev sox
Модифицируем ImageMagick, чтобы можно было загружать офисные файлы.
vim /etc/ImageMagick-6/policy.xml
Компиляция FFmpeg
add-apt-repository ppa:jonathonf/ffmpeg-4
apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1. 2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev nasm libx264-dev cmake mercurial libopus-dev curl git vlc unzip make build-essential wget nmap ffmpeg
echo "# FFmpeg compilation for Ubuntu 18.04, 18.10 and Debian 10. # Alvaro Bustos. Thanks to Hunter. # 8-3-2019 sudo apt update sudo apt -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev mercurial cmake libx264-dev libfdk-aac-dev libmp3lame-dev libvpx-dev libmp3lame-dev # Create a directory for sources. SOURCES=$(mkdir ~/ffmpeg_sources) cd ~/ffmpeg_sources # Download the necessary sources. wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz # wget -O fdk-aac. tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master wget https://netcologne.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz wget http://ffmpeg.org/releases/ffmpeg-4.1.tar.gz # Unpack files for file in `ls ~/ffmpeg_sources/*.tar.*`; do tar -xvf $file done cd yasm-*/ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && make && checkinstall && make distclean; cd .. cd fdk-aac-*/ autoreconf -fiv && ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make V=s -j$(($(getconf _NPROCESSORS_ONLN) + 1)) checkinstall && make distclean; cd .. cd ffmpeg-*/ PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree && PATH="$HOME/bin:$PATH" make && checkinstall && make distclean && hash -r; cd . . cd ~/bin cp ffmpeg ffprobe vsyasm yasm ytasm /usr/local/bin echo "FFmpeg Compilation is Finished!" " > /usr/src/ffmpeg.sh
chmod +x /usr/src/ffmpeg.sh ./usr/src/ffmpeg.s
Установка и настройка MySQL
apt-get install mariadb-server systemctl start mysql systemctl enable mysql mysql_secure_installation
Создаем БД
CREATE DATABASE open503 DEFAULT CHARACTER SET 'utf8'; GRANT ALL PRIVILEGES ON open503.* TO 'open'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; quit
- open503 – база данных;
- open – имя пользователя;
- password – пароль имени пользователя.
Установка OpenMeetings
cd /opt/ wget http://archive.apache.org/dist/openmeetings/5.0.0-M3/bin/apache-openmeetings-5.0.0-M3.tar.gz tar xzvf apache-openmeetings-5. 0.0-M3.tar.gz mv apache-openmeetings-5.0.0-M3 open503 mkdir -p /opt/open503/webapps/openmeetings/data/streams/{1,2,3,4,5,6,7,8,9,10,11,12,13,14} mkdir -p /opt/open503/webapps/openmeetings/data/streams/hibernate chmod -R 750 /opt/open503/webapps/openmeetings/data/streams chown -R nobody /opt/open503
Скачивание и установка коннектора между OpenMeetings и MariaDB
cd /opt/ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar cp /opt/mysql-connector-java-8.0.18.jar /opt/open503/webapps/openmeetings/WEB-INF/lib
Скрипт запуска TomCat-OpenMeetings
cd /opt/ wget https://cwiki.apache.org/confluence/download/attachments/27838216/tomcat3 cp tomcat3 /etc/init.d/ chmod +x /etc/init.d/tomcat3
Запускаем TomCat-OpenMeetings
/etc/init.d/tomcat3 start
Вывод будет следующим:
Using CATALINA_BASE: /opt/open503 Using CATALINA_HOME: /opt/open503 Using CATALINA_TMPDIR: /opt/open503/temp Using JRE_HOME: /usr Using CLASSPATH: /opt/open503/bin/bootstrap. jar:/opt/open503/bin/tomcat-juli.jar Tomcat started.
Далее переключаемся в установку через браузер, для этого переходим по адресу https://localhost:5443/openmeetings.
На следующем шаге необходимо выбрать Тип БД – MySQL. Далее указать имя БД и авторизационные данные.
- Имя базы данных – open503;
- Пользователь БД – open;
- Пароль пользователя БД – password.
Далее настраиваем административный доступ к системе:
И настраиваем соповещение для пользователей и настройки почтового сервера:
Далее настраиваем конверторы и пути:
Следующий этап – настройка SIP и комнат:
И, наконец, финальный этап установки:
После авторизации в системе вы увидите следующую страницу:
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
установка, настройка и способы защиты от атак
Веб-сервер 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 [email protected]
Знак #
помечает это как комментарий. Удалите его, затем замените [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, и теперь вы можете полноценно приступить к изучению его работы на практике.
Вадим Сычёв
Настройка Аpache на Debian | Xelent
Данную статью можно рассматривать как руководство по настройке debian web server. Мы настроим веб-сервер на VDS, работающем под управлением дистрибутива Debian.
Установка Apache
Apache — это программное обеспечение, реализующее функцию веб-сервера. Установить Apache можно следующей командой:
# apt install apache2
Установка Apache
Кроме Apache нужно установить еще и веб-браузер, поскольку нам нужно проверять работу веб-сервера:
# apt install w3m
После установки браузера введите команду:
# w3m 127.0.0.1
Вы должны увидеть страничку, изображенную ниже.
It works!
Для выхода из браузера нажмите q, а затем введите y для подтверждения выхода.
Настройка debian web server
После установки веб-сервера Debian можно приступить к его настройке. Веб-сервер редко используется для размещения одного сайта. Скорее всего, сайтов будет несколько. Далее будет показано, как создать два виртуальных узла — example1.com и example2.com. Чтобы не заморачиваться с настройкой DNS (это тема для отдельной статьи), добавьте в /etc/hosts строки:
127.0.0.1 www.example1.com
27.0.0.1 www.example2.com
Создайте пользователя hosting, в домашнем каталоге которого будут находиться файлы обоих сайтов:
# adduser hosting
Создание пользователя
Войдите как этот пользователь:
# su hosting
В домашнем каталоге пользователя создайте следующую структуру:
cd ~
mkdir www
mkdir www/example1
cd example1
mkdir htdocs
mkdir cgi-bin
mkdir logs
cd ~
cp -R www/example1 www/example2
exit
Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения
Мы создаем директорию веб-сервера, в ней два подкаталога — для каждого из сайтов. В каждом из них, в свою очередь, мы создаем каталоги htdocs, cgi-bin и logs. Первый будет содержать файлы конкретного сайта, второй — CGI-приложения, а третий — журналы. Теперь перейдем непосредственно к настройке веб-сервера. Начнем с ports.conf:
# nano /etc/apache2/ports.conf
Он должен выглядеть так, как показано на иллюстрации ниже. Директива NameVirtualHost *:80 нужна, чтобы на стандартном порту 80 можно было использовать виртуальные узлы, которые мы определим далее.
Файл /etc/apache2/ports.conf
Нажмите Ctrl + O, а затем — Ctrl + X — для сохранения и выхода из редактора.
Перейдите в директорию sites-available. В ней нужно создать два конфига конфигурации — для каждого из наших виртуальных узлов:
# cd /etc/apache2/sites-available
# nano example1.conf
# nano example2.conf
Далее будет приведена конфигурация для первого узла. Для второго она будет аналогичной, отличаться будут только пути (вместо X укажите номер узла — 1 или 2):
<VirtualHost *:80>
ServerAdmin hosting@localhost
ServerName www.exampleX.com
ServerAlias exampleX.com
# Путь к индексным файлам
DirectoryIndex index.html
DocumentRoot /home/hosting/www/exampleX/htdocs/
# Путь к CGI
ScriptAlias /cgi-bin/ /home/hosting/www/exampleX/cgi-bin
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Путь к файлам логов
ErrorLog /home/hosting/www/exampleX/logs/error.log
CustomLog /home/hosting/www/exampleX/logs/access.log combined
</VirtualHost>
Далее нужно создать индексные файлы для каждого из сайтов, чтобы проверить их работоспособность:
su hosting
cd /home/hosting/www
echo «example1.com works» > example1/htdocs/index.html
echo «example2.com works» > example2/htdocs/index.html
exit
Осталось активировать созданные виртуальные узлы и перезапустить веб-сервер. Чтобы активировать узлы, нужно создать ссылку на конфиг из каталога sites-available в каталоге sites-enabled:
# cd /etc/apache2/sites-available
# ln -s example1.conf /etc/apache2/sites-enabled/example1.conf
# ln -s example2.conf /etc/apache2/sites-enabled/example2.conf
Осталось перезапустить Apache:
# systemctl restart apache2.service
Подключимся к первому узлу:
# w3m www.example1.com
Если вы все сделали правильно, вы должны увидеть индексный файл для первого сайта. Аналогично все должно работать и для второго.
Первый открылся 🙂
На этом все. Настройка Apache и виртуальных узлов завершена.
Популярные услуги
Установка и отладка веб-сервера для сайта в UBUNTU
3 years ago |
44.5K
Настройка веб-сервера для локального веб-сайта в Ubuntu является не простой задачей, но как это делать должен знать любой профессиональный веб-разработчик.
LAMP – что это
LAMP – это сочетание технологий Linux, Apache, MySQL, PHP, которые используются программистами для запуска интернет ресурсов, как личной разработки, так и проектов, функционирующих на известных CMS.
Как установить APACHE
Apache представляет собой веб-сервер с открытым исходным кодом. Его функционирование может быть описано следующим образом: На любой из поступающих запросов, данный сервер выдает ответ соответствующий запросу.
Другими словами говоря, обратившись к человеку с каким-то вопросом, он может, как дать ответ, так и нет. Однако, задав человеку вопрос, на который он дать ответ не в силах, прозвучит ответ: не знаю. Аналогичным образом функционирует и Apache, например, сервер покажет 404 ошибку, если вы обращаетесь к несуществующей странице.
Установка Apache производится посредством команды через терминал:
sudo apt-get install apache2
Если вы совсем новичок в Linux/Ubuntu, вы можете пройти курс Linux/GIT и вы получите базовые знания по командам Linux, а также научитесь работать с контролем версий кода GIT и сервисом BitBucket.
По завершению установки, следует проверить правильность функционирования веб-сервера. Сделать это можно при помощи введения ip адреса сервера в любом из существующих браузеров. В случае, если пользователь производил установку Apache локально, к примеру, на домашний ПК, ему следует ввести в браузере следующие цифры: 127.0.0.1. После этого должна будет отобразиться страница приветствия Apache.
Как установить PHP
Пользователь, который хочет, установить PHP на свой сервер, должен ввести следующую команду:
sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql
По завершению выполнения команды, необходимо ввести в терминале php -v. Благодаря этой команде должна будет отобразиться текущая версия php:
PHP 5.5.9-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v5.5.9-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
Если пользователь наблюдает это в своем терминале, то это говорит о том, что php установлен правильно и готов к работе.
Кстати, если вы плохо знакомы с языком программирования PHP, посмотрите эти уроки PHP для начинающих с нуля — это самые основы PHP программирования.
Как установить MYSQL
MySQL представляет собой базу данных, предусмотренную для хранения информации веб-ресурса. SQL является языком запросов, которые производятся непосредственно к БД MySQL.
Чтобы произвести установку MySQL пользователю необходимо ввести следующую команду:
sudo apt-get install mysql-server mysql-client
В ходе установки БД нужно будет придумать логин и ввести пароль, для локального пользователя можно задать логин root в БД MySQL. После, потребуется повторное введение данного пароля, поэтому придуманный пароль лучше записать на листок бумаги или в блокнот.
Чтобы пользователю было комфортней работать с БД MySQL следует произвести установку графического веб-клиента — PhpMyAdmin. Для этого вводят следующую команду:
sudo apt-get install phpmyadmin
В ходе установки данного клиента пользователь может произвести отладку связки веб-сервера и phpmyadmin в автоматическом режиме.
По завершению установки и отладки phpmyadmin следует произвести проверку функциональности. Сделать это можно при помощи введения ip адреса веб-сервера, но при этом необходимо и в конце дописать phpmyadmin через слеш.
http://127.0.0.1/phpmyadmin/
Если вы все сделали правильно, вы должны увидеть страницу авторизации phpmyadmin:
Заполните форму авторизации и введите логин и пароль, которые вы задавали на предыдущем этапе.
Кстати, если вы хотите научиться работать с базой данных MySQL (MariaDB), составлять SQL-запросы — посмотрите уроки MySQL для начинающих в курсе программирования PHP/MySQL.
Как настроить конфиг APACHE
Как правило, когда пользователь занимается созданием сайта, он хочет иметь возможность просмотра его ресурса на своем ПК в таком виде, как видят его в браузере другие люди, то есть чтобы локальный сайт был доступен не по IP-адресу, а через доменное имя. В этом случае обычной установки Apache будет недостаточно и для этого потребуется произвести настройку конфига Apache2.
На первом этапе отладки конфига пользователь должен создать каталог для своего интернет проекта на сервере. Сделать это можно перейдя в основной каталог apache:
cd /var/www/html/
Затем, создайте каталог для вашего сайта командой:
sudo mkdir superdomain
Чтобы пользователь мог корректировать каталог, следует поменять имя владельца каталога с пользователя root на свое имя пользователя или, предпочтительно, на имя пользователя для apache.
Выполнить это можно посредством введения в терминале следующих команд:
cd ..
Затем введите команду:
sudo chown -R user:user superdomain
Теперь перейдите в ваш каталог superdomain:
cd superdomain
Введите команду:
nano index.php
После ввода команды выше, вы откроете текстовый редактор nano. Давайте напишем простой PHP-скрипт:
<?php
echo "Это мой сайт superdomain!";
?>
Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, после этого нажмите на клавишу enter.
Далее рассмотрим, как отладить конфиг apache2. Произвести настройку можно посредством введения команды:
sudo nano /etc/apache2/sites-available/superdomain.com.conf
и вставить текст следующего содержания:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName superdomain.com
DocumentRoot /var/www/html/superdomain
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/superdomain/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
На следующем этапе пользователю необходимо выполнить нажатие сочетание клавиш ctr+x и букву y, а после нажать enter.
После этого следует перейти в каталог apache, посредством введения следующей команды:
cd /etc/apache2/sites-available/
и ввести еще одну команду:
sudo a2ensite superdomain.com.conf
В случае правильного введения команд на экране отобразится следующее:
Enabling site superdomain.com.
To activate the new configuration, you need to run:
service apache2 reload
Чтобы запустить новый конфиг apache на веб-ресурсе необходимо ввести команду:
service apache2 reload
Свидетельством правильного запуска команды станет полное отсутствие ошибок.
На последнем этапе запуска веб-ресурса на своем локальном домене пользователю необходимо в документе hosts ввести ip-адрес сервера и указать имя своего локального домена:
127.0.0.1 superdomain.com
Сам файл hosts в Linux находится в
/etc/hosts
в Windows вы его сможете найти по такому адресу:
C:\Windows\System32\drivers\etc\hosts
Все готово! Теперь осталось лишь сохранить файл hosts, и в браузере указать имя своего локального домена superdomain.com.
В результате на экране должно будет отобразиться результат выполнения файла index.php.
Выводы
Умение устанавливать и настраивать веб-сервер для сайта вам очень пригодится как в операционной системе Ubuntu, так и в Windows.
О том как устанавливать и настраивать локальный сервер для сайта всего несколькими кликами мыши в Windows 10, вы можете посмотреть видеоуроки PHP в курсе PHP/MySQL.
Как установить веб-сервер Apache в Debian 9
Не используете Debian 9?
Выберите другую версию или дистрибутив.
Debian 9
Введение
HTTP-сервер Apache — самый широко используемый веб-сервер в мире. Он предоставляет множество мощных функций, включая динамически загружаемые модули, надежную поддержку мультимедиа и обширную интеграцию с другим популярным программным обеспечением.
В этом руководстве мы объясним, как установить веб-сервер Apache на ваш сервер Debian 9.
Предварительные требования
Перед тем, как приступить к работе с этим руководством, у вас должен быть обычный пользователь без полномочий root с привилегиями sudo, настроенными на вашем сервере. Кроме того, вам нужно будет включить базовый брандмауэр, чтобы блокировать второстепенные порты. Вы можете узнать, как настроить учетную запись обычного пользователя и настроить брандмауэр для своего сервера, следуя нашему руководству по начальной настройке сервера для Debian 9.
Когда у вас есть доступная учетная запись, войдите в систему как пользователь без полномочий root, чтобы начать.
Шаг 1. Установка Apache
Apache доступен в репозиториях программного обеспечения Debian по умолчанию, что позволяет установить его с помощью обычных инструментов управления пакетами.
Давайте начнем с обновления локального индекса пакета, чтобы отразить последние изменения в восходящем направлении:
Затем установите apache2
package:
После подтверждения установки apt
установит Apache и все необходимые зависимости.
Шаг 2 — Настройка межсетевого экрана
Перед тестированием Apache необходимо изменить настройки брандмауэра, чтобы разрешить внешний доступ к веб-портам по умолчанию.Предполагая, что вы следовали инструкциям в предварительных условиях, у вас должен быть настроен брандмауэр UFW для ограничения доступа к вашему серверу.
Во время установки Apache регистрируется в UFW, чтобы предоставить несколько профилей приложений, которые можно использовать для включения или отключения доступа к Apache через брандмауэр.
Перечислите профили приложений ufw
, набрав:
Вы увидите список профилей приложений:
Выход
Доступные приложения:
ЦЕЛЬ
Bonjour
CIFS
.. .
WWW
WWW-кеш
WWW Полный
WWW Secure
. . .
Профили Apache начинаются с WWW:
- WWW : этот профиль открывает только порт 80 (обычный незашифрованный веб-трафик)
- WWW Cache : этот профиль открывает только порт 8080 (иногда используется для кеширования и веб-прокси)
- WWW Full : этот профиль открывает порт 80 (обычный незашифрованный веб-трафик) и порт 443 (трафик с шифрованием TLS / SSL)
- WWW Secure : этот профиль открывает только порт 443 (трафик с шифрованием TLS / SSL)
Рекомендуется включить профиль с наиболее строгими ограничениями, который по-прежнему будет разрешать трафик, который вы настроили.Поскольку в этом руководстве мы еще не настроили SSL для нашего сервера, нам нужно будет разрешить трафик только на порт 80:
.
Вы можете проверить изменение, набрав:
Вы должны увидеть разрешенный HTTP-трафик в отображаемом выводе:
Выход
Статус: активен
К действию от
- ------ ----
OpenSSH РАЗРЕШИТЬ В любом месте
WWW ALLOW Anywhere
OpenSSH (v6) РАЗРЕШИТЬ В любом месте (v6)
WWW (v6) РАЗРЕШИТЬ В любом месте (v6)
Как видите, профиль был активирован, чтобы разрешить доступ к веб-серверу.
Шаг 3 — Проверка вашего веб-сервера
В конце процесса установки Debian 9 запускает Apache. Веб-сервер уже должен быть запущен.
Проверьте систему инициализации systemd
, чтобы убедиться, что служба запущена, набрав:
- sudo systemctl статус apache2
Вывод
● apache2.service - HTTP-сервер Apache
Загружен: загружен (/ lib / systemd / system / apache2.услуга; включено; предустановка поставщика: включена)
Активен: активен (работает) с среды 2018-09-05 19:21:48 UTC; 13мин назад
Основной PID: 12849 (apache2)
CGroup: /system.slice/apache2.service
├─12849 / usr / sbin / apache2 -k start
├─12850 / usr / sbin / apache2 -k start
└─12852 / usr / sbin / apache2 -k start
05 сен, 19:21:48 apache systemd [1]: запуск HTTP-сервера Apache ...
05 сен, 19:21:48 apache systemd [1]: запущен HTTP-сервер Apache.
Как видно из этих выходных данных, служба, похоже, была запущена успешно.Однако лучший способ проверить это — запросить страницу у Apache.
Вы можете получить доступ к целевой странице Apache по умолчанию, чтобы убедиться, что программное обеспечение работает правильно через ваш IP-адрес. Если вы не знаете IP-адрес своего сервера, вы можете получить его несколькими способами из командной строки.
Попробуйте ввести в командной строке вашего сервера:
Вы получите несколько адресов, разделенных пробелами. Вы можете попробовать каждый из них в своем веб-браузере, чтобы проверить, работают ли они.
Альтернативой является использование инструмента curl
, который должен предоставить вам ваш общедоступный IP-адрес, видимый из другого места в Интернете.
Сначала установите curl
, используя apt
:
Затем используйте curl
для получения icanhazip.com с использованием IPv4:
Когда у вас есть IP-адрес вашего сервера, введите его в адресную строку браузера:
http: // ваш_сервер_ip
Вы должны увидеть веб-страницу Debian 9 Apache по умолчанию:
Эта страница указывает на то, что Apache работает правильно.Он также включает некоторую базовую информацию о важных файлах Apache и расположении каталогов.
Шаг 4. Управление процессом Apache
Теперь, когда ваш веб-сервер настроен и работает, давайте рассмотрим некоторые основные команды управления.
Чтобы остановить ваш веб-сервер, введите:
- sudo systemctl stop apache2
Чтобы запустить веб-сервер, когда он остановлен, введите:
- sudo systemctl start apache2
Чтобы остановить, а затем снова запустить службу, введите:
- sudo systemctl перезапустить apache2
Если вы просто вносите изменения в конфигурацию, Apache часто может перезагружаться, не разрывая соединения.Для этого используйте эту команду:
- sudo systemctl перезагрузить apache2
По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если это не то, что вам нужно, отключите это поведение, набрав:
- sudo systemctl отключить apache2
Чтобы снова включить запуск службы при загрузке, введите:
- sudo systemctl включить apache2
Apache теперь должен запускаться автоматически при повторной загрузке сервера.
Шаг 5 — Настройка виртуальных хостов (рекомендуется)
При использовании веб-сервера Apache вы можете использовать виртуальных хостов (аналогично серверным блокам в Nginx) для инкапсуляции деталей конфигурации и размещения более одного домена с одного сервера. Мы создадим домен под названием example.com , но вы должны заменить его своим собственным доменным именем . Чтобы узнать больше о настройке доменного имени с помощью DigitalOcean, см. Наше Введение в DigitalOcean DNS.
В Apache в Debian 9 по умолчанию включен один серверный блок, который настроен для обслуживания документов из каталога / var / www / html
. Хотя это хорошо работает для одного сайта, это может стать громоздким, если вы размещаете несколько сайтов. Вместо того, чтобы изменять / var / www / html
, давайте создадим структуру каталогов в / var / www
для нашего сайта example.com , оставив / var / www / html
на месте в качестве каталога по умолчанию. обслуживается, если запрос клиента не соответствует ни одному другому сайту.
Создайте каталог для example.com следующим образом, используя флаг -p
для создания любых необходимых родительских каталогов:
судо mkdir -p /var/www/example.com/html
Затем назначьте владение каталогом с помощью переменной среды $ USER
:
- sudo chown -R $ USER: $ USER /var/www/example.com/html
Разрешения ваших корневых веб-сайтов должны быть правильными, если вы не изменили значение unmask
, но вы можете убедиться, набрав:
- sudo chmod -R 755 / var / www / example.ком
Затем создайте образец страницы index.html
с помощью nano
или вашего любимого редактора:
- нано /var/www/example.com/html/index.html
Внутри добавьте следующий образец HTML:
/var/www/example.com/html/index.html
Добро пожаловать на Example.com!
Успех! Пример.com виртуальный хост работает!
Сохраните и закройте файл, когда закончите.
Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо прямого изменения файла конфигурации по умолчанию, расположенного по адресу /etc/apache2/sites-available/000-default.conf
, давайте создадим новый по адресу /etc/apache2/sites-available/example.com.conf
:
- sudo nano / etc / apache2 / sites-available / example.com.conf
Вставьте следующий блок конфигурации, который аналогичен блоку по умолчанию, но обновлен для нашего нового каталога и имени домена:
/etc/apache2/sites-available/example.com.conf
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log объединены
Обратите внимание, что мы обновили DocumentRoot
для нашего нового каталога и ServerAdmin
для электронной почты, которая в примере .com администратор сайта может получить доступ. Мы также добавили две директивы: ServerName
, которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и ServerAlias
, который определяет дополнительные имена, которые должны совпадать, как если бы они были базовым именем.
Сохраните и закройте файл, когда закончите.
Давайте включим файл с помощью инструмента a2ensite
:
- sudo a2ensite example.com.conf
Отключить сайт по умолчанию, определенный в 000-default.конф
:
- sudo a2dissite 000-default.conf
Теперь давайте проверим ошибки конфигурации:
- sudo apache2ctl configtest
Вы должны увидеть следующий результат:
Выход
Синтаксис ОК
Перезапустите Apache, чтобы изменения вступили в силу:
- sudo systemctl перезапустить apache2
Apache теперь должен обслуживать ваше доменное имя.Вы можете проверить это, перейдя на http://example.com
, где вы должны увидеть что-то вроде этого:
Шаг 6. Знакомство с важными файлами и каталогами Apache
Теперь, когда вы знаете, как управлять самой службой Apache, вам следует потратить несколько минут, чтобы ознакомиться с несколькими важными каталогами и файлами.
Содержимое
-
/ var / www / html
: фактический веб-контент, который по умолчанию состоит только из страницы Apache по умолчанию, которую вы видели ранее, обслуживается из каталога/ var / www / html
.Это можно изменить, изменив файлы конфигурации Apache.
Конфигурация сервера
-
/ etc / apache2
: Каталог конфигурации Apache. Здесь находятся все файлы конфигурации Apache. -
/etc/apache2/apache2.conf
: основной файл конфигурации Apache. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации. -
/ и т. Д. / Apache2 / ports.conf
: этот файл определяет порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порт 80 и дополнительно прослушивает порт 443, когда включен модуль, обеспечивающий возможности SSL. -
/ etc / apache2 / sites-available /
: каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации, найденные в этом каталоге, если они не связаны с каталогом с поддержкой сайтов . Обычно вся конфигурация серверного блока выполняется в этом каталоге, а затем включается путем связывания с другим каталогом с помощью командыa2ensite
. -
/ etc / apache2 / sites-enabled /
: каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Обычно они создаются путем связывания с файлами конфигурации, находящимися в каталогеsite-available
, с помощьюa2ensite
. Apache читает файлы конфигурации и ссылки, найденные в этом каталоге, при запуске или перезагрузке для компиляции полной конфигурации. -
/ etc / apache2 / conf-available /
,/ etc / apache2 / conf-enabled /
: Эти каталоги имеют те же отношения, что и каталоги , доступные для сайтов и, доступные для сайтов
, но используются для хранить фрагменты конфигурации, не принадлежащие виртуальному хосту.Файлы в каталоге, доступном для conf-available, можно включить с помощью команды
a2enconf
и отключить с помощью командыa2disconf
. -
/ etc / apache2 / mods-available /
,/ etc / apache2 / mods-enabled /
: Эти каталоги содержат доступные и включенные модули соответственно. Файлы, оканчивающиеся на.load
, содержат фрагменты для загрузки определенных модулей, а файлы, заканчивающиеся на.conf
, содержат конфигурацию для этих модулей.Модули можно включать и отключать с помощью командa2enmod
иa2dismod
.
Журналы сервера
-
/var/log/apache2/access.log
: по умолчанию каждый запрос к вашему веб-серверу записывается в этот файл журнала, если Apache не настроен на иное. -
/var/log/apache2/error.log
: По умолчанию все ошибки записываются в этот файл. ДирективаLogLevel
в конфигурации Apache указывает, насколько подробно будут содержаться журналы ошибок.
Заключение
Теперь, когда у вас установлен веб-сервер, у вас есть много вариантов для типа контента, который вы можете обслуживать, и технологий, которые вы можете использовать для создания более насыщенного опыта.
Если вы хотите создать более полный стек приложений, вы можете прочитать в этой статье о том, как настроить стек LAMP в Debian 9.
Как установить и настроить веб-сервер Apache в Debian 10
Сервер Apache - один из самых популярных веб-серверов с открытым исходным кодом, разработанный и поддерживаемый Apache Software Foundation.Apache, безусловно, является наиболее часто используемым приложением веб-сервера в операционных системах Linux, но его можно использовать практически на всех платформах ОС Windows, MAC OS, OS / 2 и т. Д. Он позволяет разработчикам публиковать свой контент в Интернете
В этой статье мы объясним, как установить и настроить веб-сервер Apache в ОС Debian 10.
Установите Apache 2 в Debian Linux
Выполните следующие действия, чтобы установить Apache2 в вашей системе с использованием официальных репозиториев Ubuntu.
Шаг 1. Обновление системных репозиториев
Во-первых, нам нужно будет обновить репозитории пакетов в нашей ОС. Для этого выполните следующую команду в Терминале от имени sudo:
$ sudo apt update
При запросе пароля введите пароль sudo.
Шаг 2: Установите Apache 2 с помощью команды apt
Затем на этом шаге установите веб-сервер Apache2, используя следующую команду:
$ sudo apt install apache2
Вам будет предоставлен Y / n , чтобы продолжить установку.Нажмите y , чтобы продолжить.
Шаг 3. Проверка установки Apache
После завершения установки вы можете просмотреть установленную версию Apache, выполнив следующую команду в Терминале. Таким образом вы также можете убедиться, что Apache успешно установлен в вашей системе.
$ apache2 -version
Сконфигурируйте настройки брандмауэра
Если брандмауэр работает в вашей системе, вам необходимо разрешить определенные веб-порты, чтобы внешние пользователи могли получить к нему доступ.Для этого выполните в Терминале следующие команды:
$ sudo ufw allow 80 / tcp $ sudo ufw allow 443 / tcp
Затем выполните следующую команду, чтобы проверить, разрешены ли порты.
$ sudo ufw status
Настройте параметры веб-сервера Apache
Шаг 1. Убедитесь, что служба Apache работает.
После установки веб-служба Apache запускается автоматически. Однако, чтобы убедиться, выполните следующую команду в Терминале:
$ sudo systemctl status apache2
Шаг 2: Проверьте веб-сервер Apache
Вы можете проверить, нормально ли работает веб-сервер Apache, запросив веб-страницу из сети Apache. сервер.
Выполните следующую команду в Терминале, чтобы узнать IP-адрес вашего сервера.
$ hostname -I
После того, как вы найдете IP-адрес, введите http: // , а затем IP-адрес вашего веб-сервера, как показано ниже:
http: // server_IP
Введя указанный выше IP-адрес, вы увидите следующую страницу Apache по умолчанию.
Настройка виртуальных хостов в Apache
Виртуальные хосты в Apache позволяют запускать несколько веб-сайтов на одном сервере.Мы настроим здесь виртуальный хост на веб-сервере Apache. Для этого мы сначала создадим веб-сайт с именем testdomain.info , используя серверный блок, который по умолчанию доступен в Apache.
Шаг 1: Настройте доменное имя
Сначала мы создадим каталог по адресу / var / www для нашего виртуального хоста testdomain.info . Для этого мы будем использовать следующую команду:
(Примечание : Замените testdomain.info своим собственным доменным именем.)
$ sudo mkdir -p / var / www / testdomain.info / html
Теперь измените владельца и разрешения, используя следующие команды:
$ sudo chown -R $ USER: $ USER /var/www/testdomain.info / html
$ sudo chmod -R 755 / var / www /testdomain.info
Теперь мы создадим образец страницы индекса для тестирования нашего сайта testdomain.info. Для этого мы создадим HTML-файл с помощью редактора nano следующим образом:
$ nano /var/www/testdomain.info/html/index.html
Добавьте следующие строки для страницы индекса:
Добро пожаловать на страницу testdomain.информация! Тебе повезло! Ваш сервер testdomain.info заблокирован!
После завершения нажмите Ctrl + O для сохранения, а затем Ctrl + X для выхода из файла.
Теперь мы создадим файл виртуального хоста, который будет обслуживать содержимое вашего сервера, используя следующую команду:
$ sudo nano /etc/apache2/sites-available/testdomain.info.conf
Теперь добавьте следующие детали конфигурации для вашего доменного имени:
ServerAdmin [адрес электронной почты защищен] ServerName testdomain.Информация ServerAlias www.testdomain.info DocumentRoot /var/www/testdomain.info/html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log объединены
После этого нажмите Ctrl + O, чтобы сохранить, а затем Ctrl + X, чтобы выйти из файла.
Шаг 2: Включите файл конфигурации домена
Теперь включите файл виртуального хоста с помощью следующей команды:
$ sudo a2ensite testdomain.info.conf
Теперь давайте отключим конфигурации Apache по умолчанию с помощью следующей команды:
$ sudo a2dissite 000-default.conf
Чтобы применить изменения, перезапустите службу Apache2, используя следующую команду:
$ sudo systemctl restart apache2
Шаг 3: Проверка на наличие ошибок
Теперь проверьте конфигурацию на наличие любых синтаксических ошибок:
$ sudo apache2ctl configtest
Если ошибки нет, вы получите следующий вывод.
В некоторых случаях может появиться следующая ошибка:
Чтобы устранить эту ошибку, отредактируйте имя сервера .conf , выполнив следующую команду:
$ sudo nano /etc/apache2/conf-available/servername.conf
Добавьте в него следующую строку:
ServerName testdomain.info
После завершения нажмите Ctrl + O для сохранения, а затем Ctrl + X для выхода из файла.
После этого выполните следующую команду:
$ sudo a2enconf servername
Теперь перезагрузите Apache2:
$ systemctl reload apache2
После этого снова запустите следующую команду для проверки файла конфигурации:
$ sudo apache2ctl configtest
Теперь вы увидите, что ошибка была удалена.
Шаг 4. Проверьте, обслуживает ли Apache ваше доменное имя.
Теперь откройте браузер и перейдите по адресу:
http://testdomain.info
Замените testdomain.info своим собственным доменным именем.
На следующей странице указателя показано, что теперь вы можете получить доступ ко всем своим веб-сайтам.
Некоторые общие команды управления Apache
Вот некоторые из наиболее распространенных команд, которые можно использовать для управления службами Apache:
Используйте следующую команду для запуска сервера Apache:
$ sudo systemctl start apache2
Используйте следующая команда для остановки сервера Apache:
$ sudo systemctl stop apache2
Используйте следующую команду для перезапуска сервера Apache:
$ sudo systemctl restart apache2
Используйте следующую команду для перезагрузки сервера Apache:
$ sudo systemctl reload apache2
Используйте следующую команду, чтобы всегда запускать службу при загрузке:
$ sudo systemctl enable apache2
Используйте следующую команду для отключения сервера Apache:
$ sudo systemctl disable apache2
В этой статье, мы узнали, как установить и настроить веб-сервер Apache в ОС Debian.Мы выполнили некоторые базовые настройки, которые включают изменения в брандмауэре, настройку виртуального хоста и способы управления службами Apache с помощью некоторых команд. Я надеюсь, что он дал вам базовый обзор того, как использовать Apache для правильного размещения веб-сайтов.
Как установить Apache с виртуальными хостами в Debian 10
Apache , обычно называемый HTTP-сервером Apache , представляет собой бесплатный кроссплатформенный веб-сервер с открытым исходным кодом, поддерживаемый Apache Foundation .Это ведущий веб-сервер, занимающий 35%, рыночную долю в Интернете, на втором месте - Nginx и 24% .
Apache отличается высокой надежностью, гибкостью, простотой установки и содержит множество функций, которые делают его популярным среди разработчиков и энтузиастов Linux. Кроме того, он регулярно поддерживается и обновляется Apache Foundation, что помогает исправлять ошибки программного обеспечения и повышать его общую эффективность. На момент написания этой статьи последняя версия Apache - 2.4,39 .
Читайте также : установка Nginx с серверными блоками (виртуальными хостами) в Debian 10
В этом руководстве мы расскажем, как установить веб-сервер Apache на Debian 10 .
Предварительные требования
Прежде чем мы начнем, убедитесь, что выполняются следующие требования:
- Экземпляр Debian 10.
- Полное доменное имя ( FQDN ), указывающее на сервер.
- В этом руководстве мы используем домен
tecmint.com
, указывающий на систему Debian 10 с IP-адресом 192.168.0.104 . - Хорошее подключение к Интернету.
Завершив предполетную проверку, приступим.
Шаг 1. Обновите системный репозиторий Debian 10
Первым шагом при установке Apache на Debian 10 является обновление системных репозиториев. Для этого войдите в систему как обычный пользователь и, используя привилегии sudo, запустите команду.
$ sudo apt update -y
Обновление репозитория Debian 10
Шаг 2. Установите Apache на Debian 10
Установить Apache несложно и довольно просто. После успешного обновления системных репозиториев выполните приведенную ниже команду, чтобы установить Apache на Debian 10 .
$ sudo apt install apache2 -y
Установите Apache в Debian 10
Шаг 3. Проверка статуса веб-сервера Apache
После успешной установки веб-сервера Apache всегда рекомендуется проверять, запущена ли служба.Большинство систем systemd Linux запускают службу автоматически после установки.
Чтобы проверить состояние веб-сервера Apache , выполните команду.
$ sudo systemctl status apache2
Проверьте статус Apache
. Если служба не запущена, запустите ее с помощью команды.
$ sudo systemctl start apache2
Чтобы включить сервер Apache Web при загрузке, выполните команду.
$ sudo systemctl включить apache2
Для перезапуска Apache запустите.
$ sudo systemctl перезапустить apache2
Шаг 4. Настройте брандмауэр, чтобы разрешить HTTP-порт
Если брандмауэр UFW уже настроен, нам необходимо разрешить службе Apache через брандмауэр, чтобы внешние пользователи могли иметь доступ к веб-серверу.
Для этого нам нужно разрешить трафик на порт 80 на брандмауэре.
$ sudo ufw разрешить 80 / tcp
Чтобы проверить, разрешен ли порт на брандмауэре, запустите.
$ sudo ufw статус
Откройте порт 80 на брандмауэре UFW Firewall
. Кроме того, вы можете использовать команду netstat для проверки порта, как показано.
$ sudo netstat -pnltu
Проверьте порт прослушивания Apache
Шаг 5. Проверьте веб-сервер Apache HTTP
После установки всех настроек откройте свой любимый веб-браузер и просмотрите IP-адрес или полное доменное имя вашего сервера, как показано.
http: // IP-адрес сервера ИЛИ ЖЕ http: // имя-домена-сервера
Проверьте веб-страницу Apache
Шаг 6. Настройка веб-сервера Apache
Когда веб-сервер Apache уже настроен, самое время разместить образец веб-сайта.
Файл веб-страницы Apache по умолчанию index.html
находится в / var / www / html /
, который является каталогом webroot . Вы можете разместить один сайт или создать файлы виртуального хоста для размещения нескольких сайтов.
Чтобы разместить один сайт, вы можете изменить файл index.html
, расположенный в каталоге webroot .
Но сначала сделайте резервную копию файла, как показано.
$ sudo mv /var/www/html/index.html / var / www / html / index.html.bak
Теперь создадим новый файл index.html
.
$ судо нано /var/www/html/index.html
Давайте добавим образец содержимого HTML, как показано.
Добро пожаловать в crazytechgeek Привет, выродки! Веб-сервер Apache запущен и работает
Выйдите из текстового редактора и перезапустите веб-сервер.
$ sudo systemctl перезапустить apache2
Теперь перезагрузите ваш веб-браузер и обратите внимание на изменения на вашем новом сайте.
Проверьте веб-сайт Apache
Шаг 7. Создание виртуальных хостов на Apache
Если вы хотите, чтобы на вашем веб-сервере размещалось несколько сайтов, лучший способ обойти это - создать виртуальные хосты на веб-сервере Apache. Виртуальные хосты пригодятся, если вы хотите разместить несколько доменов на одном сервере
Во-первых, нам нужно создать каталог webroot для домена tecmint.com
.
$ sudo mkdir -p /var/www/html/tecmint.com/
Затем мы назначим необходимые разрешения для каталога с помощью переменной $ USER
.
$ sudo chown -R $ ПОЛЬЗОВАТЕЛЬ: $ ПОЛЬЗОВАТЕЛЬ /var/www/html/tecmint.com/
Затем назначьте необходимые разрешения корневому веб-каталогу для домена.
$ sudo chmod -R 755 /var/www/html/tecmint.com
Теперь, используя ваш любимый текстовый редактор, перейдите и создайте образец индекса .html
файл.
$ судо нано /var/www/html/tecmint.com/index.html
Давайте добавим образец содержимого HTML, как показано.
Добро пожаловать на TecMint.com Привет, выродки!
Сохраните и выйдите из текстового редактора.
Теперь создайте файл виртуального хоста для домена, используя команду, показанную ниже.
$ судо нано /etc/apache2/sites-available/tecmint.com.conf
Теперь скопируйте и вставьте содержимое ниже и замените домен tecmint.com
своим собственным доменом.
ServerAdmin [адрес электронной почты защищен] Имя сервера tecmint.com ServerAlias www.tecmint.com DocumentRoot /var/www/html/tecmint.com/ ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log объединены
Сохраните и выйдите.
На этом этапе активируйте файл виртуального хоста, как показано.
$ sudo a2ensite tecmint.com.conf
Теперь отключим сайт по умолчанию
$ sudo a2dissite 000-default.conf
Чтобы изменения вступили в силу, перезагрузите веб-сервер apache.
$ sudo systemctl перезапустить apache2
Теперь перезагрузите ваш веб-сервер и обратите внимание на изменения для вашего домена.
Проверка виртуального хоста на Apache
Если вы хотите включить HTTPS на своем веб-сайте, прочтите эту статью: Как установить бесплатный сертификат SSL для Apache в Debian 10.
Заключение
Мы подошли к концу урока. В этом руководстве вы узнали, как установить Apache на Debian 10 , а также настроить виртуальные хосты для размещения других доменов. Пожалуйста, поделитесь с нами своим мнением.
Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:
TecMint - это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! искать или просматривать тысячи опубликованных статей, доступных БЕСПЛАТНО для всех.
Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.
Мы благодарны вам за постоянную поддержку.
Как установить веб-сервер Apache на Debian 10
Веб-сервер Apache HTTP (Apache) - это веб-приложение с открытым исходным кодом для развертывания веб-серверов. В этом руководстве объясняется, как установить и настроить веб-сервер Apache в Debian 10.
Если вместо этого вы хотите установить полный стек LAMP (Linux, Apache, MySQL и PHP), см.
Руководство по установке стека LAMP в Debian 10.
Примечание Это руководство написано для пользователя без полномочий root. Команды, требующие повышенных привилегий, имеют префикс
sudo
. Если вы не знакомы с командойsudo
, вы можете проверить наши
Руководство по пользователям и группам.
Перед началом работы
Установите линод в
Начало работы и
Обеспечение безопасности вашего сервера руководств.Если вам нужно собственное доменное имя для своего сайта, вы можете настроить его, используя нашу
Руководство по DNS Manager.Примечание
Это руководство написано для пользователя без полномочий root. Команды, требующие повышенных привилегий, имеют префикс
sudo
. Если вы не знакомы с командойsudo
, посетите наш
Руководство по пользователям и группам.Все файлы конфигурации следует редактировать с повышенными привилегиями. Не забудьте включить
sudo
перед запуском текстового редактора.
Установить Apache
Установить Apache 2.4:
sudo apt-get install apache2
Многопроцессорные модули
Apache 2.4 предлагает несколько многопроцессорных модулей (MPM) для обработки соединений. В Debian 10 MPM по умолчанию - это модуль событий , хотя модуль предварительной вилки по-прежнему рекомендуется, если вы используете стандартный PHP. Ниже приведены основные настройки по умолчанию. Подробные объяснения и расширенные настройки для этих модулей см. В
Руководство по настройке сервера Apache.
Вы можете проверить, какой MPM настроен в настоящее время, с помощью следующей команды:
sudo apachectl -V | grep -i mpm
Сервер MPM: событие
Модуль Prefork
Модуль Prefork идеально подходит для однопоточных приложений.Это один родительский объект с несколькими разветвленными дочерними серверами, которые представляют собой идентичные процессы, ожидающие входящих запросов. Каждый дочерний процесс обрабатывает один запрос. Модуль Prefork требует значительных ресурсов, но необходим для приложений, не поддерживающих многопоточность, таких как PHP.
Откройте
/etc/apache2/mods-available/mpm_prefork.conf
в текстовом редакторе и при необходимости отредактируйте значения. Ниже приведены значения по умолчанию:- Файл: / etc / apache2 / mods-available / mpm_prefork.conf
# prefork MPM # StartServers: количество запускаемых серверных процессов # MinSpareServers: минимальное количество серверных процессов, которые остаются резервными # MaxSpareServers: максимальное количество серверных процессов, которые остаются резервными # MaxRequestWorkers: максимальное количество серверных процессов, разрешенных для запуска # MaxConnectionsPerChild: максимальное количество запросов, обслуживаемых серверным процессом
StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 MaxConnectionsPerChild 0 # vim: syntax = apache ts = 4 sw = 4 sts = 4 sr noet
В Debian 10 модуль событий включен по умолчанию.Отключите его и включите модуль предварительной вилки :
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
Перезапустить Apache:
sudo service apache2 restart
Рабочий модуль
Рабочий модуль - это гибридный многопоточный многопроцессорный модуль Prefork. Он похож на модуль Prefork, но каждый дочерний элемент является многопоточным.
Откройте
/ etc / apache2 / mods-available / mpm_worker.conf
в текстовом редакторе и при необходимости отредактируйте значения. Ниже приведены значения по умолчанию:- Файл: /etc/apache2/mods-available/mpm_worker.conf
StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 Темы для ребенка 25 MaxRequestWorkers 150 MaxConnectionsPerChild 0 # vim: syntax = apache ts = 4 sw = 4 sts = 4 sr noet
В Debian 10 модуль событий включен по умолчанию.Отключите его и включите рабочий модуль :
sudo a2dismod mpm_event sudo a2enmod mpm_worker
Перезапустить Apache:
sudo service apache2 restart
Модуль событий
Модуль событий аналогичен рабочему модулю, за исключением того, что у каждого потока есть выделенный прослушиватель, поэтому потоки не блокируются в ожидании. Начиная с Apache 2.4, модуль событий считается стабильным для версий до 2.4 используйте
Рабочий модуль.
Если вы решите оставить модуль событий включенным, откройте
/etc/apache2/mods-available/mpm_event.conf
в текстовом редакторе и отредактируйте значения по мере необходимости. Ниже приведены значения по умолчанию:- Файл: /etc/apache2/mods-available/mpm_event.conf
# event MPM # StartServers: начальное количество серверных процессов для запуска # MinSpareThreads: минимальное количество рабочих потоков, которые остаются резервными # MaxSpareThreads: максимальное количество рабочих потоков, которые остаются резервными # ThreadsPerChild: постоянное количество рабочих потоков в каждом серверном процессе # MaxRequestWorkers: максимальное количество рабочих потоков # MaxConnectionsPerChild: максимальное количество запросов, обслуживаемых серверным процессом
StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 Темы для ребенка 25 MaxRequestWorkers 150 MaxConnectionsPerChild 0 # vim: syntax = apache ts = 4 sw = 4 sts = 4 sr noet
Перезапустить Apache:
sudo service apache2 restart
Настройка виртуального хостинга
Apache поддерживает виртуальный хостинг на основе имен , что позволяет размещать несколько доменов на одном сервере с одним IP.Несмотря на то, что существуют разные способы настройки виртуальных хостов, рекомендуется использовать приведенный ниже метод.
Отключить виртуальный хост Apache по умолчанию:
sudo a2dissite 000-default.conf
Создайте файл
example.com.conf
в/ etc / apache2 / sites-available
с помощью текстового редактора, заменив экземплярыexample.com
на URL вашего собственного домена как в файле конфигурации, так и в в имени файла:- Файл: / etc / apache2 / sites-available / example.com.conf
1 2 3 4 5 6 7 8
ServerAdmin [адрес электронной почты защищен] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html/ ErrorLog /var/www/example.com/logs/error.log CustomLog /var/www/example.com/logs/access.log в сочетании
Повторите этот процесс для любых других доменов, которые вы размещаете.
Примечание
Если вы хотите включить поддержку Perl, добавьте следующие строки над закрывающим тегом
Файл: /etc/apache2/sites-available/example.com.conf
1 2
Опции ExecCGI AddHandler cgi-script .pl
Создайте каталоги для ваших веб-сайтов и журналы веб-сайтов, заменив
пример.com
с информацией о вашем собственном домене:sudo mkdir -p /var/www/example.com/public_html sudo mkdir /var/www/example.com/logs
Создайте простую страницу для своего
index.html
.- Файл: /var/www/example.com/public_html/index.html
1 2 3 4 5 6 7 8 9
Привет, мир Привет, мир! Это мой образец веб-сайта с Apache на Debian!
Включить сайт:
sudo a2ensite example.com.conf
Перезапустить Apache:
sudo service apache2 restart
Посетите свой сайт, перейдя к своему доменному имени в веб-браузере.
Моды и сценарии Apache
Установка модулей Apache
Одной из сильных сторон Apache является его способность настраиваться с помощью модулей. Каталог установки по умолчанию для модулей Apache - это каталог / etc / apache2 / mods-available /
.
Список доступных модулей Apache:
sudo apt-cache search libapache2 *
Установите любые желаемые модули:
sudo apt-get install [имя-модуля]
Все моды находятся в каталоге
/ etc / apache2 / mods-avaiable
. При необходимости отредактируйте файл.conf
любого установленного модуля, затем включите модуль:sudo a2enmod [имя-модуля]
Чтобы отключить модуль, который в настоящее время включен:
a2dismod [имя-модуля]
Необязательно: Установка поддержки сценариев
Следующие команды устанавливают поддержку Apache для серверных сценариев на Perl, Python и PHP.Поддержка этих языков не является обязательной в зависимости от среды вашего сервера.
Для установки:
Поддержка Perl:
sudo apt-get install libapache2-mod-perl2
Поддержка Python:
sudo apt-get install libapache2-mod-python
Поддержка PHP:
sudo apt-get install php7.2 php-pear
Проверить статус сервера
Вы можете проверить статус своего веб-сервера Apache с помощью следующей команды:
sudo systemctl status apache2
Результат будет примерно таким:
● apache2.service - HTTP-сервер Apache
Загружено: загружено (/lib/systemd/system/apache2.service; включено; предустановка поставщика: включено)
Активный: активен (работает) с понедельника 2020-03-02 18:41:24 UTC; 9с назад
Документы: https://httpd.apache.org/docs/2.4/
Основной PID: 1543 (apache2)
Задач: 55 (лимит: 1149)
Память: 12,8 МБ
CGroup: /system.slice/apache2.service
├─1543 / usr / sbin / apache2 -k start
├─1545 / usr / sbin / apache2 -k start
└─1546 / usr / sbin / apache2 -k start
Отсюда видно, что сервер работает успешно.Однако, если что-то не работает, вы можете проверить журналы на наличие ошибок. Расположение журналов определяется для каждого виртуального хоста, который вы настроили в
Настроить виртуальный хостинг.Обычно они находятся по адресу
/var/www/example.com/logs/error.log
и/var/www/example.com/logs/access.log
, гдеexample.com
- ваш доменное имя.
Управление Apache
Вы можете управлять сервером следующими способами.
Остановка сервера во время его работы:
sudo systemctl stop apache2
Запустить сервер, когда он остановлен:
sudo systemctl start apache2
Остановить и запустить сервер, когда он работает:
sudo systemctl restart apache2
Перезагрузите конфигурации, пока сервер работает, не останавливая его:
sudo systemctl reload apache2
Вы можете отключить Apache, чтобы он останавливался и не перезапускался снова при перезагрузке системы:
sudo systemctl disable apache2
Для повторного включения Apache, если он был отключен.Это также позволит перезапустить его при перезагрузке системы:
sudo systemctl enable apache2
Дополнительно: брандмауэр
В зависимости от конфигурации брандмауэра вам может потребоваться изменить настройки, чтобы разрешить доступ к веб-портам. Популярным брандмауэром для Debian является
UFW.
Если у вас был установлен UFW до установки Apache, Apache будет зарегистрирован в UFW во время установки и предоставит несколько простых в использовании конфигураций.
Чтобы просмотреть эти параметры, выполните следующую команду:
sudo ufw app list
Доступные приложения: Apache Apache Full Apache Secure OpenSSH
Чтобы просмотреть, что делают эти различные конфигурации, выполните следующую команду:
sudo ufw app info 'Apache'
Замените
Apache
наApache Full
илиApache Secure
, чтобы просмотреть информацию об этих приложениях.Ниже приводится сводная таблица.Профиль Заголовок Порты Apache Веб-сервер 80 / tcp Apache Full 926 9124 926 Webc, HTTP-сервер
Apache Secure Веб-сервер (HTTPS) 443 / tcp Чтобы включить профиль, используйте следующую команду:
sudo ufw allow 'Apache'
Правила обновлены Правила обновлены (v6)
Убедитесь, что правила обновлены следующим образом:
sudo ufw status
Статус: активный К действию от - ----- ---- Apache РАЗРЕШИТЬ В любом месте Apache (v6) ALLOW Anywhere (v6)
Дополнительная информация
Вы можете обратиться к следующим ресурсам для получения дополнительной информации по этой теме.Хотя они предоставляются в надежде, что они будут полезны, обратите внимание, что мы не можем поручиться за точность или своевременность материалов, размещенных на внешних серверах.
Как установить и настроить Apache в Debian 10 - TecAdmin
Предварительные требования
У вас должен быть SSH с привилегиями sudo для доступа к серверу для установки веб-сервера Apache на Debian 10.
Установите Apache на Debian 10
Прежде всего , Войдите в свою систему Debain 10 через SSH и обновите кеш Apt.Затем установите пакеты HTTP-сервера Apache2, как показано ниже:
sudo apt update sudo apt установить apache2
Управление службой Apache
Служба Apache управляется с помощью командной строки systemctl. После установки используйте следующую команду, чтобы проверить состояние службы Apache.
sudo systemctl status apache2.service
Вот другие команды для остановки, запуска или перезапуска службы Apache через командную строку.
sudo systemctl stop apache2.услуга sudo systemctl start apache2.service sudo systemctl перезапустить apache2.service
Тестовая установка Apache
Вы можете просмотреть сведения об установленной версии Apache, используя следующую команду.
apache2 -v Версия сервера: Apache / 2.4.38 (Debian) Сервер построен: 2019-10-15T19: 53: 42
Теперь войдите в свой сервер Apache, используя IP-адрес сервера или домен, указанный на IP-адрес сервера. Вы увидите страницу Apache по умолчанию в веб-браузере. Это означает, что веб-сервер Apache успешно установлен в вашей системе Debian 10.
Создание виртуальных хостов
Давайте создадим первый виртуальный хост на вашем сервере Apache. В качестве учебного пособия мы используем образец домена «example.com». Здесь мы создадим виртуальный хост для example.com на порту 80.
Создайте образец файла индекса в каталоге:
sudo mkdir -p /var/www/example.com sudo echo "hello example.com"> /var/www/example.com/index.html
Затем создайте файл конфигурации Virtualhost и отредактируйте в редакторе:
sudo vim / etc / apache2 / sites-available / example.com.conf
Добавьте следующее содержимое в файл конфигурации. Вы можете изменить доменное имя в соответствии с вашим доменом.
ServerAdmin [email protected]
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Каталог /var/www/example.com>
#Allowoverride all ### При необходимости раскомментируйте
ErrorLog $ {APACHE_LOG_DIR} /example.com_error.log
CustomLog $ {APACHE_LOG_DIR} / пример.com_access.log вместе
ServerAdmin [email protected] DocumentRoot /var/www/example.com ServerName example.com ServerAlias www.example.com #Allowoverride all ### При необходимости раскомментируйте
ErrorLog $ {APACHE_LOG_DIR} / example.com_error.log CustomLog $ {APACHE_LOG_DIR} /example.com_access.log в сочетании
|
Сохраните файл конфигурации Virtualhost, затем включите Virtualhost и перезагрузите службу Apache, используя следующие команды:
sudo a2ensite example.com sudo systemctl перезагрузить apache2.service
Настройка SSL VirtualHost
Вы можете пропустить этот шаг, если вам не нужен SSL. Но безопасность всегда является приоритетом для любого веб-сайта.
По умолчанию Apache https прослушивает порт 443. Убедитесь, что другие службы не используют тот же порт. Теперь вам нужно включить модуль Apache ssl, который по умолчанию отключен.
sudo a2enmod SSL
Для этого руководства я выполнил эти инструкции, чтобы сгенерировать самоподписанный сертификат SSL для нашего домена.
Затем создайте новый файл виртуального хоста и отредактируйте его:
sudo vim /etc/apache2/sites-available/example.com_ssl.conf
со следующим содержанием:
ServerAdmin admin @ example.ком
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Каталог /var/www/example.com>
#Allowoverride all ### При необходимости раскомментируйте
SSLEngine включен
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key
ErrorLog $ {APACHE_LOG_DIR} /example.com_ssl-error.log
CustomLog $ {APACHE_LOG_DIR} /example.com_ssl-access.log в сочетании
1 2 3 4 5 6 7 8 9 10 11 000 11 000 15 16 17 18 | ServerAdmin admin @ пример.com DocumentRoot /var/www/example.com ServerName example.com ServerAlias www.example.com #Allowoverride all ### Раскомментируйте, если необходимо
SSLEngine на SSLCertificateFile /etc/pki/tls/certs/example.com.crt SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key {APACHE_LOG_DIR} / пример.com_ssl-error.log CustomLog $ {APACHE_LOG_DIR} /example.com_ssl-access.log в сочетании
|
Вот три термина, используемые для настройки виртуального хоста SSL:
- SSLEngine - SSLEngine это на «на»
- SSLCertificateFile - Задайте путь к вашему сертификату SSL
- SSLCertificateKeyFile - Это файлы закрытого ключа, используемые для создания сертификата SSL.
После этого включите Virtualhost и перезагрузите службу Apache, используя следующие команды:
sudo a2ensite example.com_ssl sudo systemctl перезагрузить apache2.service
Secure Apache Server
Отредактируйте файл конфигурации безопасности Apache
sudo vim /etc/apache2/conf-enabled/security.conf
Вот несколько настроек, связанных с безопасностью. Добавьте или обновите следующие настройки. Мы не будем подробно описывать это, но эти настройки очень полезны для производственных серверов.
ServerTokens Prod
Сервер Подпись Выкл. (.(. *) $ 1; HttpOnly; Secure
Теперь отредактируйте файл конфигурации SSL. Здесь вы можете настроить общесерверный протокол SSL и SSLCipherSuite для использования безопасных шифраторов для обслуживания вашего веб-сайта.
судо vim /etc/apache2/mods-enabled/ssl.conf
SSLProtocol -все + TLSv1.2
SSLCipherSuite HIGH:! ANULL:! MD5
SSLProtocol -all + TLSv1.2 SSLCipherSuite HIGH:! ANULL:! MD5 |
После внесения изменений перезапустите службу Apache.
sudo systemctl перезагрузить apache2.service
Заключение
Все готово, у вас есть защищенный сервер Apache, работающий в вашей системе Debian 10 Linux.
Компиляция и установка - HTTP-сервер Apache версии 2.4
Этот документ описывает компиляцию и установку HTTP-сервера Apache.
только в Unix и Unix-подобных системах. Для составления и
установку в Windows, см. Использование HTTP-сервера Apache с Microsoft
Windows и компиляция Apache для Microsoft Windows.Для других платформ см. Документацию по платформе.
Apache httpd использует libtool
и autoconf
для создания среды сборки, похожей на многие другие Open Source
проекты.
Если вы обновляете одну минорную версию до следующей (для
например, с 2.4.8 по 2.4.9), перейдите к разделу обновления.
См. Также
- Установка в Fedora / CentOS / Red Hat Enterprise Linux
sudo yum установить httpd sudo systemctl включить httpd sudo systemctl start httpd
- Установка в Ubuntu / Debian
sudo apt установить apache2 sudo service apache2 start
- Установка из исходников
NN необходимо заменить на текущую версию
номер, а ПРЕФИКС необходимо заменить на
путь файловой системы, под которым должен быть установлен сервер.Если
ПРЕФИКС не указан, по умолчанию
/ usr / местные / apache2
.Каждый раздел процесса компиляции и установки
более подробно описано ниже, начиная с требований
для компиляции и установки Apache httpd.
Для сборки Apache httpd:
существуют следующие требования.
- APR и APR-Util
- Убедитесь, что у вас уже установлены APR и APR-Util на
ваша система.Если вы этого не сделаете или предпочитаете не использовать предоставленные системой
версий, загрузите последние версии APR и APR-Util
из Apache APR, распаковать
их в/ httpd_source_tree_root / srclib / apr
и/ httpd_source_tree_root / srclib / apr-util
(убедитесь, что в именах каталогов нет номеров версий; например,
распределение APR должно находиться в / httpd_source_tree_root / srclib / apr /) и использовать
./configure
's--with-included-apr
вариант.На некоторых платформах вам может потребоваться установить
соответствующие пакеты-dev
, чтобы httpd мог строить
против вашей установленной копии APR и APR-Util. - Perl-совместимая библиотека регулярных выражений (PCRE)
- Эта библиотека требуется, но больше не входит в комплект httpd.
Загрузите исходный код с http://www.pcre.org,
или установите порт или пакет. Если ваша система сборки не может найти
скрипт pcre-config, установленный сборкой PCRE, укажите на него
используя параметр--with-pcre
.На некоторых платформах
возможно, вам придется установить соответствующий-dev
пакет, чтобы позволить httpd строить против вашей установленной копии
PCRE. - Дисковое пространство
- Убедитесь, что у вас есть как минимум 50 МБ временного свободного диска
доступное пространство. После установки сервер занимает
примерно 10 МБ дискового пространства. Фактическое дисковое пространство
требования будут значительно отличаться в зависимости от выбранного вами
параметры конфигурации, любые сторонние модули и, конечно же,
размер веб-сайта или сайтов, которые у вас есть на сервере. - Компилятор и система сборки ANSI-C
- Убедитесь, что у вас установлен компилятор ANSI-C. GNU C
компилятор (GCC) от Free Software Foundation (FSF)
Рекомендовано. Если у вас нет GCC
то, по крайней мере, убедитесь, что компилятор вашего поставщика - ANSI
совместимый. Кроме того, вашPATH
должен содержать
базовые инструменты сборки, такие как, делают
. - Точное время
- Элементы протокола HTTP выражаются как время
день.Итак, пришло время исследовать настройку некоторое время
средство синхронизации в вашей системе. Обычно
ntpdate
илиxntpd
программы используются для
для этой цели, которые основаны на протоколе сетевого времени (NTP).
См. NTP
домашняя страница для получения дополнительной информации о программном обеспечении NTP и общедоступных
серверы времени. - Perl 5
[ДОПОЛНИТЕЛЬНО] - Для некоторых сценариев поддержки, таких как
apxs
илиdbmmanage
(которые
написан на Perl) требуется интерпретатор Perl 5 (версии
5.003 или новее). Если интерпретатор Perl 5 не найден
настроить скрипт
, вы не сможете использовать
затронутые сценарии поддержки. Конечно, вы все равно сможете
соберите и используйте Apache httpd.
HTTP-сервер Apache можно загрузить с HTTP-сервера Apache.
сайт загрузок, на котором перечислены несколько зеркал. Большинство пользователей
Apache в unix-подобных системах будет лучше скачать и
компиляция исходной версии.Процесс сборки (описанный ниже)
легко, и это позволяет вам настроить ваш сервер в соответствии с вашими потребностями.
Кроме того, бинарные выпуски часто не обновляются до последней версии.
исходные релизы. Если вы загружаете двоичный файл, следуйте инструкциям
в файле INSTALL.bindist
внутри дистрибутива.
После загрузки важно убедиться, что у вас есть
полная и неизмененная версия HTTP-сервера Apache. Этот
может быть выполнено путем тестирования загруженного архива на соответствие
Подпись PGP.Подробности о том, как это сделать, доступны для скачивания.
странице и доступен расширенный пример, описывающий использование
PGP.
Извлечение исходного кода из архива HTTP-сервера Apache - это
простой вопрос распаковки, а затем распаковки:
$ gzip -d httpd- NN .tar.gz
$ tar xvf httpd- NN .tar
Это создаст новый каталог в текущем каталоге.
содержащий исходный код дистрибутива.Вам следует
cd
в этот каталог, прежде чем продолжить
компилируем сервер.
Следующим шагом является настройка дерева исходных текстов Apache для вашего
конкретная платформа и личные требования. Это делается с помощью
скрипт настройки
включен в
корневой каталог дистрибутива. (Разработчики скачивают
невыпущенная версия дерева исходных текстов Apache должна иметь
autoconf
и libtool
установлены и будут
необходимо запустить buildconf
, прежде чем переходить к следующему
шаги.Для официальных выпусков это не обязательно.)
Чтобы настроить дерево источников с использованием всех параметров по умолчанию,
просто введите ./configure
. Чтобы изменить значение по умолчанию
опции, configure
принимает множество переменных
и параметры командной строки.
Самая важная опция - это расположение --prefix
где Apache будет установлен позже, потому что Apache должен быть
настроен для правильной работы в этом месте. Более точная настройка
контроль расположения файлов возможен при дополнительной настройке
параметры.
Также здесь вы можете указать, какие функции вы
хотите включить в Apache, включив и отключив модули. Apache поставляется с широким набором модулей
включен по умолчанию. Они будут скомпилированы как
общие объекты (DSO), которые могут быть загружены
или выгружается во время выполнения.
Вы также можете выбрать статическую компиляцию модулей, используя опцию
- включить- модуль = статический
.
Дополнительные модули включаются с помощью
- включить- модуль
опция, где
модуль - это имя модуля с
mod_
строка удалена и с преобразованием любого подчеркивания
в тире.Точно так же вы можете отключить модули с помощью
--disable- модуль
опция. Будьте осторожны, когда
используя эти параметры, так как configure
не может вас предупредить
если указанный вами модуль не существует; он просто проигнорирует
вариант.
Кроме того, иногда необходимо предоставить
настроить сценарий
с дополнительной информацией о
расположение вашего компилятора, библиотек или файлов заголовков. Это
выполняется путем передачи переменных среды или командной строки
опции для настроить
.Для получения дополнительной информации см.
настроить страницу справочника
. Или вызвать
настройте
с помощью параметра --help
.
Краткое описание имеющихся у вас возможностей см. Здесь.
типичный пример компиляции Apache для установки
дерево / sw / pkg / apache
с определенным компилятором и флагами
плюс два дополнительных модуля mod_ldap
и
mod_lua
:
$ CC = "pgcc" CFLAGS = "- O2" \
./ configure --prefix = / sw / pkg / apache \
--enable-ldap = общий \
--enable-lua = общий
При запуске configure
потребуется несколько минут, чтобы
протестируйте доступность функций в вашей системе и соберите
Make-файлы, которые позже будут использоваться для компиляции сервера.
Подробная информация обо всех различных вариантах конфигурации и
приведена ниже.
доступно на странице руководства configure
.
Теперь вы можете создавать различные части, из которых состоит Apache.
пакет, просто выполнив команду:
Пожалуйста, проявите терпение, так как базовая конфигурация требует
несколько минут на компиляцию, и время будет широко варьироваться
в зависимости от вашего оборудования и количества модулей, которые вы
включены.
Теперь пора установить пакет под настроенный
установка PREFIX (см. опцию --prefix
выше), запустив:
Для этого шага обычно требуются права root, так как
ПРЕФИКС - обычно каталог с ограничением записи
разрешения.
При обновлении установка не будет перезаписана
ваши файлы конфигурации или документы.
Теперь вы можете запустить свой Apache
HTTP-сервер при немедленном запуске:
$ ПРЕФИКС / bin / apachectl -k start
После этого вы сможете запросить свой первый документ.
по URL-адресу http: // localhost /
.Веб-страница, которую вы видите, находится
под DocumentRoot
,
обычно это ПРЕФИКС / htdocs /
.
Затем снова остановите сервер,
беговая:
$ ПРЕФИКС / bin / apachectl -k stop
Первый шаг в обновлении - прочитать объявление о выпуске
и файл ИЗМЕНЯЕТ
в исходном дистрибутиве на
найдите любые изменения, которые могут повлиять на ваш сайт. При переключении между
основные выпуски (например, из 2.От 0 до 2,2 или от 2,2 до 2,4),
вероятно, будут существенные различия во времени компиляции и
конфигурация времени выполнения, которая потребует ручной настройки. Все
модули также необходимо будет обновить, чтобы учесть изменения в
модуль API.
Обновление с одной минорной версии до следующей (например, с
2.2.55 - 2.2.57) проще. make install
процесс не перезапишет ни один из ваших существующих документов, журнал
файлы или файлы конфигурации.Кроме того, разработчики делают
все усилия, чтобы избежать несовместимых изменений в
настроить параметры
, конфигурацию времени выполнения или
модуль API между минорными версиями. В большинстве случаев вы сможете
использовать идентичную настроить командную строку
, идентичную
файл конфигурации, и все ваши модули должны продолжить
Работа.
Чтобы обновить дополнительные версии, начните с поиска файла
config.nice
в каталоге build
установленный сервер или в корне дерева исходных текстов для вашего
старая установка.Это будет содержать точный
настроить командную строку
, которую вы использовали для
настроить исходное дерево. Затем для обновления с одной версии на
затем вам нужно только скопировать файл config.nice
в
дерево исходных текстов новой версии, отредактируйте его, чтобы сделать любое желаемое
изменений, а затем запустите:
$ ./config.nice
$ make
$ make install
$ PREFIX / bin / apachectl -k graceful-stop
$ PREFIX / bin / apachectl -k start
Вы всегда должны тестировать любую новую версию в своем
окружающей среды перед запуском в производство.Например, вы
можно установить и запустить новую версию вместе со старой,
используя другой - префикс
и
другой порт (путем настройки директивы Listen
) для проверки любых
несовместимости перед окончательным обновлением.
Вы можете передать дополнительные аргументы в config.nice
,
который будет добавлен к исходной конфигурации
варианты:
$ ./config.nice --prefix = / home / test / apache --with-port = 90
Большое количество третьих лиц предоставляют свои собственные упакованные
дистрибутивы HTTP-сервера Apache для установки на
конкретные платформы.Это включает в себя различные дистрибутивы Linux,
различные сторонние пакеты Windows, Mac OS X, Solaris и многие другие
более.
Наша лицензия на программное обеспечение не только разрешает, но и поощряет подобные
перераспределения. Однако это приводит к ситуации, когда
макет конфигурации и значения по умолчанию на вашей установке сервера
может отличаться от того, что указано в документации. Пока
к сожалению, эта ситуация вряд ли когда-нибудь изменится
скоро.
Описание
этих сторонних дистрибутивов поддерживается в HTTP
Серверная вики, и должна отражать текущее состояние этих
сторонние дистрибутивы.Однако вам нужно будет ознакомиться
самостоятельно с помощью управления пакетами вашей конкретной платформы и
процедуры установки.
Apache Скачать зеркала
Мы предлагаем следующее зеркало
сайт для загрузки:
https://apache-mirror.rbc.ru/pub/apache/
Другие зеркальные сайты предлагаются ниже.
Очень важно проверить целостность загруженного файла, используя
подпись PGP (файл .asc,
) или хеш (.md5
или файл .sha *
).
Используйте только резервные зеркала для загрузки КЛЮЧЕЙ, подписей PGP и хэшей (SHA * и т. Д.)
- или если не работают другие зеркала.
https://apache-mirror.rbc.ru/pub/apache/
https://mirror.linux-ia64.org/apache/
Используйте только резервные зеркала для загрузки КЛЮЧЕЙ, подписей PGP и хэшей (SHA * и т. Д.)
- или если не работают другие зеркала.
https: // загрузки.apache.org/
Полный список зеркальных сайтов также
имеется в наличии.
Процедура установки новых зеркал описана в разделе Как стать
зеркало.
Очень важно проверить целостность загруженного файла, используя
подпись PGP (файл .asc,
) или хеш (файл .md5,
или .sha *
). Пожалуйста, прочтите "Проверка программного обеспечения Apache"
Foundation Releases для получения дополнительной информации о том, почему
вам следует проверить наши выпуски.
Подпись PGP может быть проверена с помощью PGP или GPG.Сначала загрузите
KEYS
, а также файл подписи asc
для соответствующего дистрибутива.
Убедитесь, что вы получаете эти файлы с основного сайта распространения, а не с
из зеркала. Затем проверьте подписи с помощью
% gpg - импорт КЛЮЧЕЙ % gpg - проверить загруженный_файл.asc загруженный_файл
или
% pgpk -a КЛЮЧИ % pgpv загруженный_файл.asc
или
% pgp -ka КЛЮЧИ % pgp загруженный_файл.asc
В качестве альтернативы вы можете проверить хэш файла.
Хэшей можно рассчитать с помощью GPG:
% gpg --print-md SHA256 загруженный_файл
Вывод следует сравнить с содержимым файла SHA256.
Аналогично для других хэшей (SHA512, SHA1, MD5 и т. Д.), Которые могут быть предоставлены.
Windows 7 и более поздние версии теперь должны иметь certUtil:
% certUtil -hashfile pathToFileToCheck
Выбор алгоритма HashAlgorithm: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
Unix-подобных систем (и macOS) будет иметь утилиту под названием
md5, md5sum или shasum
.