Разное

Установка web сервера: Установка веб-сервера Apache на Windows

27.06.2021

Содержание

Установка веб-сервера — Документация ISPmanager 5 Lite

Веб-сервер обслуживает запросы пользователей к сайтам на сервере с ISPmanager.

ISPmanager работает с веб-серверами:

  • Nginx — обслуживает запросы статического содержимого;
  • Apache — обслуживает запросы статического и динамического содержимого.

Рекомендуем использовать оба веб-сервера, т. к. Nginx лучше справляется с большой нагрузкой на сервер, чем Apache, но при этом не обрабатывает динамическое содержимое. Тогда Nginx будет обслуживать запросы статического содержимого, а Apache — динамического. Статическое содержимое передаётся пользователю в том же виде, в каком оно представлено на сервере. Динамическое содержимое перед отправкой пользователю изменяется скриптами.

Веб-серверы могут работать с несколькими WWW-доменами на одном IP-адресе. В Apache для этого используется механизм виртуальных хостов (VirtualHost), в Nginx — несколько секций server в конфигурационном файле.

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

Чтобы установить веб-сервер:

  1. Перейдите в Настройки → Возможности → выберите Веб-сервер (WWW)Изменить.
  2. Выберите тип установки Apache:
    • не использовать;
    • Apache MPM-Prefork — Apache с модулем Prefork. При запуске создаёт несколько процессов для обработки запросов. При большом количестве запросов это позволяет быстрее их обрабатывать. Процессы работают от имени пользователя, под которым запущен Apache. В связи с этим менее безопасен по сравнению с Apache MPM-ITK и требует больше прав на файлы сайтов;
    • Apache MPM-ITK — Apache с модулем ITK. Создаёт отдельный процесс на каждый запрос. Процесс запускается под отдельным пользователем (uid) и группой пользователя (gid). За счёт этого он более изолирован и позволяет избежать проблем с доступом процесса к файлам сайта пользователя.
  3. Установите для Apache необходимые модули:
    1. Модуль PHP для поддержки режимов PHP «модуль Apache» и «FastCGI (Apache)». Подробнее см. в статье Режимы работы PHP.
    2. Анализаторы статистических журналов: Веб-статистика awstats и Веб-статистика webalizer. Подробнее см. в статье Настройка сбора статистики запросов к сайтам.
  4. Включите опцию Nginx, чтобы установить его.
  5. Установите для Nginx PHP-FPM FastCGI, чтобы поддерживался режим работы PHP «FastCGI (Nginx + PHP-FPM)». Подробнее см. в статье Режимы работы PHP.
  6. Включите опцию Ротация логов для архивирования и удаления старых журналов веб-серверов. Подробнее см. в статье Настройка сбора статистики запросов к сайтам.
  7. Нажмите Применить изменения и дождитесь окончания установки.

Установка и настройка веб-сервера Apache

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

Установка PHP и веб-сервера Apache

Рассматриваемый веб-сервер был заказан с операционной системой Ubuntu 16.04. Весь процесс настройки будет соответствовать этой операционной системе. Мы установим и настроим веб-сервер Apache, интерпретатор PHP, фреймворк Symfony, а также обеспечим поддержку сервера баз данных MySQL. Другими словами, будет создана и настроена типичная конфигурация PHP-разработчика, предназначенная для разработки и тестирования PHP-приложений.

Итак, подключитесь к своему веб-серверу и первым делом обновите репозитарии apt (здесь и далее, поскольку мы работаем от root, команда sudo не требуется):

apt-get   update

Рис. 1. Успешное подключение по SSH к виртуальному серверу

Рис. 2. Обновление репозитариев

Далее установим PHP 7.0:

apt-get   install   php7.0-cli

Рис. 3. Установка и настройка PHP

После чего нужно ввести команду php -v, выводящую версию PHP и убедиться, что мы-таки установили седьмую версию.

Рис. 4. Версия PHP

Для упрощения навигации по файловой системе и редактирования файлов конфигурации установим файловый менеджер mc:

apt-get install mc

Далее нужно отредактировать и настроить файл /etc/php/7.0/cli/php.ini. Symfony требует, чтобы была включена опция date.timezone. Найдите ее в файле php.ini, раскомментируйте и поставьте актуальное значение, например, Europe/Moscow (см. рис. 5).

Рис. 5. Редактирование php. ini

После установки веб-сервера Apache нужно будет проделать то же самое, но с файлом /etc/php/7.0/apache2/php.ini, то есть с конфигурацией PHP при работе через сервер Apache.

Далее нужно настроить Apache:

apt-get install apache2 libapache2-mod-php

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

Если облака для вас
не просто теория

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

Конфигурация VPS и бесплатный тест уже через 2 минуты

Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Установка Symfony

Самый простой способ установки и настройки Symfony — использование Symfony Installer.

Сначала нужно получить сам инсталлятор. В Linux для этого нужно ввести команды:

curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony

chmod a+x /usr/local/bin/symfony

Создадим новый проект:

cd /var/www

symfony new myproject

Рис. 6. Процесс создания проекта

Рис. 7. Проект создан

Здесь желательно команды выполнять не от root’а, а от обычного пользователя. После создания проекта нужно проверить, соответствует ли наша система требованиям Symfony. 

Поэтому введите команды:

$ cd myproject

$ php bin/symfony_requirements

Рис. 8. Проверка системных требований

Как показано на рис. 8, на данный момент виртуальный сервер не соответствует требованиям Symfony. Нужно поставить расширения php-xml (DOM), php-intl (интернационализация), а также драйверы для PDO (драйверы БД).

Чтобы установить все необходимые для работы Symfony расширения, введите команду:

apt-get install php-xml php-intl php-mysql

Обратите внимание, что пакет php-mysql сейчас — это не старое расширение mysql, которое сейчас уже не поддерживается. Данный пакет содержит драйвер PDO MySQL, то есть обеспечивает поддержку MySQL в современных версиях PHP. Настройку самого сервера баз данных MySQL рассматривать не будем, поскольку он может быть удаленным. Если вам необходим локальный MySQL, тогда можно воспользоваться  статьей из раздела «помощь» на сайте ubuntu и настроить его самостоятельно.

Снова запустите проверку системы. На этот раз увидите заветное OK, хотя Symfony все еще немного ругается на пакет php-intl — ему не нравится его версия.

Рис. 9. Все в порядке

Итак, у нас инсталлирован Symfony и создан новый проект. Для запуска приложения введите команду (нужно находиться в каталоге проекта):

php bin/console server:run

Вывод команды будет примерно такой:

Server running on http://localhost:8000

Quit the server with CONTROL-C.

Рис. 10. Сервер запущен и работает

Что ж, осталось открыть браузер и ввести адрес http://localhost:8000 — вместо полноценного браузера у меня будет lynx, который также нужно ставить отдельно. Если вы все сделали правильно, то увидите страницу приветствия (рис. 11).

Рис. 11. Приложение развернуто!

Настройка Apache

При наличии доменного имени можно «прикрутить» наше приложение к конфигурации Apache. Для этого нужно в каталог /etc/apache2/sites-available/ добавить файл конфигурации виртуального хоста для нашего Symfony-приложения. Его настройка и конфигурация будет выглядеть примерно так:

 

<VirtualHost *:80>

    ServerName test. (.*)$ app.php [QSA,L]

        </IfModule>

    </Directory>

 

    ErrorLog /var/log/apache2/myproject_error.log

    CustomLog /var/log/apache2/myproject_access.log combined

</VirtualHost>

 

После этого не забудьте включить веб-сайт и перезапустить Apache (перечитать файл конфигурации):

$ sudo a2ensite test.example.com

$ sudo service apache2 reload

Собственно, на этом все. Как видите, на разворачивание серьезного фреймворка на платформе xelent.cloud было потрачено совсем немного времени.

Популярные услуги

Установка веб-сервера Apache в Ubuntu 20.04 [Краткое руководство]

Введение

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

В этом обучающем руководстве мы расскажем, как установить веб-сервер Apache на сервере Ubuntu 20.04. Более подробную версию этого обучающего руководства можно найти в документе Установка веб-сервера Apache в Ubuntu 20.04.

Предварительные требования

Для прохождения этого обучающего модуля вам потребуется следующее:

  • Один сервер Ubuntu 20.04 и обычный пользователь без прав root с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр для вашего сервера, следуя указаниям руководства Начальная настройка сервера Ubuntu 20.04.

Создав учетную запись, войдите в систему как пользователь без прав root.

Шаг 1 — Установка Apache

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

Обновите локальный индекс пакетов:

Установите пакет apache2:

Шаг 2 — Настройка брандмауэра

Проверьте доступные профили приложений ufw:

Output

Available applications: Apache Apache Full Apache Secure OpenSSH

Мы активируем профиль с наибольшими ограничениями, который будет разрешать заданный трафик, а именно трафик на порту 80 (обычный веб-трафик без шифрования):

Проверьте изменения:

Output

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Шаг 3 — Проверка веб-сервера

Используйте команду systemd init system, чтобы проверить работу службы:

  • sudo systemctl status apache2

Output

apache2. service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese> Active: active (running) since Tue 2020-04-28 23:06:40 UTC; 56s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 13785 (apache2) Tasks: 55 (limit: 1137) Memory: 5.3M CGroup: /system.slice/apache2.service ├─13785 /usr/sbin/apache2 -k start ├─13787 /usr/sbin/apache2 -k start └─13788 /usr/sbin/apache2 -k start

Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:

http://your_server_ip

Вы должны получить веб-страницу Ubuntu 20.04 Apache по умолчанию:

Шаг 4 — Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. Дополнительную информацию о настройке доменного имени с помощью платформы DigitalOcean можно найти в нашей статье Введение в DigitalOcean DNS.

Создайте каталог для your_domain:

sudo mkdir /var/www/your_domain

Назначьте владельца каталога:

  • sudo chown -R $USER:$USER /var/www/your_domain

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

  • sudo chmod -R 755 /var/www/your_domain

Создайте в качестве примера страницу index.html, используя nano или свой любимый редактор:

  • nano /var/www/your_domain/index. html

Добавьте в страницу следующий образец кода HTML:

/var/www/your_domain/index.html

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h2>Success!  The your_domain virtual host is working!</h2>
    </body>
</html>

Сохраните файл и закройте его после завершения.

Создайте новый файл виртуального хоста в /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

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

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error. log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраните файл и закройте его после завершения.

Активируйте файл с помощью команды a2ensite:

  • sudo a2ensite your_domain.conf

Отключите сайт по умолчанию, определеный в 000-default.conf:

  • sudo a2dissite 000-default.conf

Проверьте наличие ошибок конфигурации:

  • sudo apache2ctl configtest

Вы должны получить следующий результат:

Output

Syntax OK

Перезапустие Apache для внесения изменений:

  • sudo systemctl restart apache2

Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://your_domain, после чего должны получить примерно следующее:

Заключение

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

Если вы хотите развернуть более сложный набор обслуживания приложений, ознакомьтесь со статьей Настройка стека LAMP в Ubuntu 20.04.

Установка веб-сервера 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, один из самых используемых веб-серверов в мире. Рассмотрим, как его установить и как настроить конфигурацию брандмауэра для разрешения 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, и теперь вы можете полноценно приступить к изучению его работы на практике.

Вадим Сычёв

Включение HTTPS на вашем веб-сервере—Руководства по установке

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

HTTPS позволяет защитить имена, пароли и другую важную информацию от дешифровки в канале связи между ArcGIS Web Adaptor и сервером. При использовании HTTPS подключение к веб-страницам и ресурсам осуществляется по протоколу HTTPS, а не HTTP.

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

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

Создайте сертификат сервера

Для создания HTTPS-соединения между ArcGIS Web Adaptor и сервером, веб-серверу требуется сертификат сервера. Сертификат – это цифровой файл, содержащий информацию об удостоверении веб-сервера. Он также содержит метод шифрования, который используется при создании защищенного канала между веб-сервером и ArcGIS Server. Сертификат должен создаваться владельцем веб-сайта и иметь цифровую подпись. Существует три типа сертификатов, подписанные центром сертификации (CA), домена и самозаверенный, которые описываются ниже.

До версии 10.6, ArcGIS Server не поддерживал сертификаты, использующие Server Name Indication (SNI), расширение протокола TLS, применяющееся клиентом для сообщения веб-браузеру имени хоста, с которым он соединяется. Portal for ArcGIS поддерживает SNI, начиная с 10.5.1.

Сертификаты, подписанные центром сертификации (CA)

Сертификаты, подписанные центром сертификации (CA), следует использовать для производственных систем, особенно если к развертыванию ArcGIS Server предполагается доступ пользователей извне вашей организации. Например, если сервер не защищен файрволом и доступен через Интернет, использование сертификата, подписанного центром сертификации (CA) гарантирует пользователям вне организации, что идентичность веб-сайта подтверждена.

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

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

Сертификаты домена

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

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

Создайте доменный сертификат в IIS

В 2017 году Chrome начал работать только с доверенными сертификатами с параметром Subject Alternative Name (SAN), которые не может быть настроен, если сертификат был создан в приложении IIS Manager.

В Manager IIS выполните следующие шаги, чтобы создать сертификат домена:

  1. На панели Подключения выберите ваш сервер в дереве каталога и дважды щелкните Сертификаты сервера.

  2. На панели Действия щелкните Создать сертификат домена.

  3. В диалоговом окне Свойства отличительного имени введите обязательную для сертификата информацию:
    1. В поле Общее имя введите полное доменное имя компьютера, например, gisserver.domain.com.
    2. Заполните другие параметры, указав данные вашей организации и расположения.
  4. Нажмите Далее.
  5. В диалоговом окне Cертифицирующая организация щелкните Выбрать и выберите сертифицирующую организацию в пределах домена, которая будет подписывать сертификат. Если эта опция не доступна, введите сертифицирующую организацию домена в поле Укажите сертифицирующую организацию, например, City Of Redlands Enterprise Root\REDCASRV.empty.local. Если вам необходима помощь в этом шаге, обратитесь к системному администратору.

  6. Введите удобное имя сертификата домена и щелкните Завершить.

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

Самозаверенные сертификаты

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

Создание самозаверенного сертификата в IIS

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

  1. На панели Подключения выберите ваш сервер в дереве каталога и дважды щелкните Сертификаты сервера.

  2. На панели Действия щелкните Создать самозаверенный сертификат.

  3. Введите удобное имя для нового сертификата и нажмите OK.

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

Привязка сертификата к веб-сайту

После создания сертификата SSL необходимо привязать его к веб-сайту, на котором установлен ArcGIS Web Adaptor. Привязка означает процесс настройки сертификата для использования порта 443 на веб-сайте. Инструкции по привязке сертификата к веб-сайту отличаются в зависимости от платформы и версии веб-сервера. Если вам необходимы инструкции, обратитесь к системному администратору или изучите документацию веб-сервера. Пример шагов для привязки сертификата в IIS см. ниже.

Привязка сертификата к порту 443 в IIS

В Manager IIS выполните следующие шаги, чтобы связать сертификат с HTTPS-портом 443:

  1. Выберите ваш сайт в дереве каталога и на панели Действия щелкните Связи.
    • Если порт 443 отсутствует в списке Связи, щелкните Добавить. В ниспадающем списке Тип выберите https. Оставьте порт 443.

    • Если порт 443 имеется в списке, выберите его и щелкните Редактировать.
  2. В ниспадающем списке сертификата выберите имя вашего сертификата и щелкните OK.

Проверка вашего сайта

После привязки сертификата и веб-сайта, вы можете настроить Web Adaptor на работу с сервером. Вам понадобится открыть страницу настройки ArcGIS Web Adaptor с использованием URL по протоколу HTTPS, например, https://webadaptorhost.domain.com/webadaptorname/webadaptor.

После настройки Web Adaptor следует проверить, что HTTPS работает правильно, сделав HTTPS-запрос к ArcGIS Server Manager, например, https://webadaptorhost.domain.com/webadaptorname/manager.

Установка веб сервера 1С

Веб клиент 1С позволяет работать с базой 1С через обычный браузер, без установки каких-либо дополнительных плагинов.

Исключение – если в браузере требуется работать с файлами (что не так часто ипользуется в 1С).

На сервере где будет установлена 1С Вам необходимо произвести установку веб сервера (MS IIS или Apache), после этого, к нему устанавливается плагин от 1С, который передает запросы пользователей на сервер 1С.

То есть операции физически выполняет сервер 1С, а веб сервер (веб-сервис) служит просто передающим звеном.

Итак, производим установку веб сервера 1С.

Установим веб сервер Microsoft Information Services (IIS)
Установку веб сервера можно произвести из Панели управления Windows (варианты):

  • Установка и удаление программ/Компоненты Windows/IIS
  • Program and features/Turn windows features on or off/Add features.

В Windows 8 перейдите на закладку Roles, выберите Add Roles (откроется мастер).

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

  • Web Server (IIS)
  • Application Development/ISAPI Extensions.

В других версиях Windows первая галочка может называться «Internet Information Services», вторая так же, или «Расширения ISAPI».

Установим платформу 1С Предприятие (после IIS)
На этот же сервер (компьютер) требуется установить сервер 1С и толстый клиент платформы 1С.

Установка платформы 1С производится самым обыкновенным образом, как описано ранее, но обязательно выберите галочки:

  • Адаптер Web-сервисов 1С:Предприятие
  • Компоненты доступа к серверам 1С:Предприятие.

При использовании 64разрядной Windows рекомендуется использовать 64разрядную версию сервера 1С.

Проведем настройку IIS (после установки 1С)
Настройку можно проводить в «Диспетчере служб IIS (IIS manager)», который находится в Панели управления Windows/Администрирование.

В ветке «Узлы (Web Sites)» находится веб-узел по-умолчанию, нажмите на него правой кнопкой и выберите «Добавить виртуальный каталог».
Выделим курсором созданный каталог (левой кнопкой мыши), справа отобразятся различные его настройки. Выберите «Сопоставление обработчиков (Handler mappings)».

Справа появятся доступные действия. Выберите «Добавить сопоставление сценария (Add script map)».

Введите путь запроса «*», выберите исполняемый файл «wsisapi.dll» в каталоге bin соответствующей версии 1С:Предприятие, установленной на этом сервере (не забываем про права, если они у Вас специально ограничены).

По кнопке «Ограничение запроса (Request Restrictions)» там же, необходимо установить разрешающую галочку. После создания этого обработчика, установите на него курсор мыши, выберите «Проверка подлинности (Edit handler permissions)», разрешите его выполнение (Execute). Если база файловая, необходимо дать доступ к папке базы.

Далее правой кнопкой на созданный каталог, пункт «Преобразовать в приложение (Convert to Application)».

Публикация веб сервиса конкретной базы
Зайдите в конфигуратор требуемой базы данных на этом сервере (компьютере).

В меню Администрирование/Публикация на веб-сервере выберите каталог (обычно это «C:\Intetpub\wwwroot\ИмяДобавленногоВIISКаталога\»), нажмите кнопку «Опубликовать».

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

Проверяем брандмауэр (фаервол), антивирус и фильтры трафика
Требуется поставить или разрешение (закладка exceptions) для порта 80 (TCP).

Установите веб-сервер WEB1

  • 2 минуты на чтение

В этой статье

Применимо к: Windows Server (полугодовой канал), Windows Server 2016

Роль веб-сервера (IIS) в Windows Server 2016 предоставляет безопасную, простую в управлении, модульную и расширяемую платформу для надежного размещения веб-сайтов, служб и приложений.С помощью IIS вы можете обмениваться информацией с пользователями в Интернете, интрасети или экстрасети. IIS — это унифицированная веб-платформа, которая объединяет IIS, ASP.NET, службы FTP, PHP и Windows Communication Foundation (WCF).

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

Если сертификат находится в CRL как отозванный, проверка подлинности не выполняется, и ваш компьютер защищен от доверия к объекту, имеющему сертификат, который больше не действителен.

Перед установкой роли веб-сервера (IIS) убедитесь, что вы настроили имя сервера и IP-адрес и присоединили компьютер к домену.

Для установки роли сервера веб-сервера (IIS)

Для выполнения этой процедуры вы должны быть членом группы «Администраторы ».

Примечание

Чтобы выполнить эту процедуру с помощью Windows PowerShell, откройте PowerShell, введите следующую команду и нажмите клавишу ВВОД. Install-WindowsFeature Web-Server -IncludeManagementTools

  1. В диспетчере сервера щелкните Управление , а затем щелкните Добавить роли и компоненты . Откроется мастер добавления ролей и компонентов.
  2. В Перед началом работы щелкните Далее .

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

  1. На странице Тип установки щелкните Далее .
  2. На странице Выбор сервера щелкните Далее .
  3. На странице Роли сервера выберите Веб-сервер (IIS) , а затем щелкните Далее .
  4. Нажмите Далее , пока не примете все настройки веб-сервера по умолчанию, а затем нажмите Установить .
  5. Убедитесь, что все установки прошли успешно, и нажмите Закрыть .

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

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

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

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

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

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

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

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

Почему Apache?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      AllowOverride All
      

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

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

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

 
cd / Apache24 / bin

httpd -t
  

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

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

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

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

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

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

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

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

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

Apache работает!

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

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

Заключение

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

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

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

Введение

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

В этом руководстве мы объясним, как установить веб-сервер Apache на ваш сервер Ubuntu 20.04.

Предварительные требования

Прежде чем вы начнете это руководство, у вас должен быть обычный пользователь без полномочий root с привилегиями sudo, настроенными на вашем сервере.Кроме того, вам нужно будет включить базовый брандмауэр, чтобы блокировать второстепенные порты. Вы можете узнать, как настроить учетную запись обычного пользователя и настроить брандмауэр для своего сервера, следуя нашему руководству по начальной настройке сервера для Ubuntu 20.04.

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

Шаг 1. Установка Apache

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

Давайте начнем с обновления локального индекса пакетов, чтобы отразить последние изменения в восходящем направлении:

  

Затем установите apache2 package:

  

После подтверждения установки apt установит Apache и все необходимые зависимости.

Шаг 2 — Настройка межсетевого экрана

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

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

Перечислите профили приложений ufw , набрав:

  

Вы получите список анкет:

  

Выход

Доступные приложения: Apache Apache Full Apache Secure OpenSSH

Как видно из вывода, для Apache доступно три профиля:

  • Apache : этот профиль открывает только порт 80 (нормальный незашифрованный веб-трафик)
  • Apache Full : этот профиль открывает порт 80 (обычный незашифрованный веб-трафик) и порт 443 (трафик с шифрованием TLS / SSL)
  • Apache Secure : этот профиль открывает только порт 443 (трафик с шифрованием TLS / SSL)

Рекомендуется включить профиль с наиболее строгими ограничениями, который по-прежнему будет разрешать трафик, который вы настроили.Поскольку в этом руководстве мы еще не настроили SSL для нашего сервера, нам нужно будет разрешить трафик только на порт 80:

.
  

Вы можете проверить изменение, набрав:

  

В выходных данных будет представлен список разрешенного HTTP-трафика:

  

Выход

Статус: активен К действию от - ------ ---- OpenSSH РАЗРЕШИТЬ В любом месте Apache РАЗРЕШИТЬ В любом месте OpenSSH (v6) РАЗРЕШИТЬ В любом месте (v6) Apache (v6) РАЗРЕШИТЬ В любом месте (v6)

Как указано в выходных данных, профиль был активирован, чтобы разрешить доступ к веб-серверу Apache.

Шаг 3. Проверка вашего веб-сервера

В конце процесса установки Ubuntu 20.04 запускает Apache. Веб-сервер уже должен быть запущен.

Проверьте систему инициализации systemd , чтобы убедиться, что служба запущена, набрав:

  
  • sudo systemctl статус apache2
  

Выходные данные

● apache2.service - HTTP-сервер Apache Загружен: загружен (/ lib / systemd / system / apache2.услуга; включено; предустановка поставщика: включена) Активен: активен (работает) с Чт 2020-04-23 22:36:30 UTC; 20ч назад Документы: https://httpd.apache.org/docs/2.4/ Основной PID: 29435 (apache2) Задач: 55 (лимит: 1137) Память: 8,0 МБ CGroup: /system.slice/apache2.service ├─29435 / usr / sbin / apache2 -k start ├─29437 / usr / sbin / apache2 -k start └─29438 / usr / sbin / apache2 -k start

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

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

Попробуйте ввести это в командной строке вашего сервера:

  

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

Другой вариант — использовать инструмент Icanhazip, который должен предоставить вам ваш общедоступный IP-адрес, прочитанный из другого места в Интернете:

  

Когда у вас есть IP-адрес вашего сервера, введите его в адресную строку браузера:

  http: // ваш_сервер_ip
  

Вы должны увидеть веб-страницу Apache Ubuntu 20.04 по умолчанию:

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

Шаг 4. Управление процессом Apache

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

Чтобы остановить ваш веб-сервер, введите:

  
  • 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) для инкапсуляции деталей конфигурации и размещения более одного домена с одного сервера. Мы создадим домен под названием your_domain , но вы должны заменить его на свое собственное доменное имя . Если вы настраиваете доменное имя в DigitalOcean, обратитесь к нашей сетевой документации.

В

Apache в Ubuntu 20.04 по умолчанию включен один серверный блок, который настроен для обслуживания документов из каталога / var / www / html . Хотя это хорошо работает для одного сайта, это может стать громоздким, если вы размещаете несколько сайтов. Вместо изменения / var / www / html , давайте создадим структуру каталогов в / var / www для сайта your_domain , оставив / var / www / html на месте в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует ни одному другому сайту.

Создайте каталог для your_domain следующим образом:

  
  • sudo mkdir / var / www / your_domain

Затем назначьте владение каталогом с помощью переменной среды $ USER :

  
  • sudo chown -R $ USER: $ USER / var / www / your_domain

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

  
  • sudo chmod -R 755 / var / www / your_domain

Затем создайте образец страницы index.html с помощью nano или вашего любимого редактора:

  
  • sudo nano /var/www/your_domain/index.html

Внутри добавьте следующий образец HTML:

/ var / www / ваш_домен / индекс.html

  
    
         Добро пожаловать в Ваш_домен! 
    
    
         

Успех! Виртуальный хост your_domain работает!

Сохраните и закройте файл, когда закончите.

Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо изменения файла конфигурации по умолчанию, расположенного по адресу / etc / apache2 / sites-available / 000-default.conf напрямую, давайте создадим новый по адресу /etc/apache2/sites-available/your_domain.conf :

  
  • sudo nano /etc/apache2/sites-available/your_domain.conf

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

/etc/apache2/sites-available/your_domain.conf

  
    ServerAdmin веб-мастер @ localhost
    ServerName your_domain
    ServerAlias ​​www.ваш_домен
    DocumentRoot / var / www / ваш_домен
    ErrorLog $ {APACHE_LOG_DIR} /error.log
    CustomLog $ {APACHE_LOG_DIR} /access.log объединены

  

Обратите внимание, что мы обновили DocumentRoot до нашего нового каталога и ServerAdmin на адрес электронной почты, доступ к которому имеет администратор сайта your_domain . Мы также добавили две директивы: ServerName , которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и ServerAlias ​​, который определяет дополнительные имена, которые должны совпадать, как если бы они были базовым именем.

Сохраните и закройте файл, когда закончите.

Давайте включим файл с помощью инструмента a2ensite :

  
  • sudo a2ensite your_domain.conf

Отключить сайт по умолчанию, определенный в 000-default.conf :

  
  • sudo a2dissite 000-default.conf

Теперь давайте проверим ошибки конфигурации:

  
  • sudo apache2ctl configtest

Вы должны получить следующий результат:

  

Вывод

Синтаксис ОК

Перезапустите Apache, чтобы изменения вступили в силу:

  
  • sudo systemctl перезапустить apache2

Apache теперь должен обслуживать ваше доменное имя.Вы можете проверить это, перейдя по адресу http: // your_domain , где вы должны увидеть что-то вроде этого:

Шаг 6. Знакомство с важными файлами и каталогами Apache

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

Содержимое

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

Конфигурация сервера

  • / etc / apache2 : Каталог конфигурации Apache. Здесь находятся все файлы конфигурации Apache.
  • /etc/apache2/apache2.conf : основной файл конфигурации Apache. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации.
  • / etc / apache2 / ports.conf : этот файл определяет порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порт 80 и дополнительно прослушивает порт 443, когда включен модуль, обеспечивающий возможности SSL.
  • / etc / apache2 / sites-available / : каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации, найденные в этом каталоге, если они не связаны с каталогом с поддержкой сайтов . Обычно вся конфигурация серверных блоков выполняется в этом каталоге, а затем включается путем связывания с другим каталогом с помощью команды a2ensite .
  • / etc / apache2 / sites-enabled / : каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Как правило, они создаются путем связывания с файлами конфигурации, находящимися в каталоге sites-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 в Ubuntu 20.04

Установка веб-сервера

Развертывание> Установки> Установка сервера> Другие серверные пакеты> Установка веб-сервера

По умолчанию веб-сервер устанавливается как часть установки CommServe, когда на компьютере включен IIS.

Если вы не установили веб-сервер во время установки CommServe или если вы хотите установить дополнительные веб-серверы на других компьютерах, вы можете сделать это с помощью установочного пакета, созданного из приложения Download Manager.

Прежде чем начать

Подготовьте среду, выполнив следующие задачи:

Процедура

  1. Войдите в систему как администратор или как член группы администраторов на этом компьютере.
  2. Запустите Setup.exe из установочного пакета.

    Откроется мастер установки.

  3. На странице приветствия установите флажок Я принимаю и переходите к следующей странице.
  4. На странице «Выбор типа установки» щелкните «Установить пакеты на этот компьютер» и перейдите на следующую страницу.
  5. На странице «Выбор пакетов» установите флажок «Веб-сервер» и перейдите к следующей странице.
  6. Следуйте инструкциям мастера установки.

    Примечание:

    • Установка веб-сервера не поддерживается с использованием кода авторизации. При установке веб-сервера вы должны использовать имя пользователя и пароль.
    • Чтобы помочь вам устранить ошибки, возникающие до появления страницы «Сводная информация об установке», проверьте файл % allusersprofile% \ Commvault Systems \ Galaxy \ LogFiles \ Install.log . Если после появления страницы «Сводная информация об установке» возникают ошибки, проверьте журналы установки в каталоге Software_Installation_Directory \ Log Files .

Что делать дальше

  • Просмотрите задачи после установки, которые вам, возможно, придется выполнить для завершения установки:
  • Если вы установили веб-сервер для поиска соответствия, мы рекомендуем вам запланировать регулярное резервное копирование базы данных DM2 на веб-сервере. Для получения дополнительной информации см. Резервное копирование базы данных веб-сервера.

Связанные темы

Настройка защищенного доступа к веб-службе

Последнее изменение: 30.10.2020 21:02:45

Как создать собственный веб-сервер дома

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

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

В этом руководстве мы установим все компоненты, необходимые для настройки веб-сервера на сервере ServerMania. Это настроит все основные компоненты веб-сервера. Если вы будете размещать много сайтов или хотите более надежное управление сайтом, вам следует вместо этого установить панель управления, такую ​​как cPanel.

См. Также: Как использовать Magento для электронной коммерции

Почему я должен использовать внешний сервер для своего веб-сервера вместо компьютера в моем доме?

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

  • Стоимость: Хотя может показаться дешевле использовать этот компьютер, лежащий без дела, ничего при создании веб-сервера, когда вы учитываете стоимость питания старого компьютера 24 часа в сутки, это может стать очень дорогим.Настольный компьютер мощностью 250 Вт, работающий 24 часа в сутки по цене 12 центов за кВт / ч, — это колоссальные 262 доллара в год! Не говоря уже о расходах на Интернет, замену оборудования и т. Д. В долгосрочной перспективе гораздо дешевле арендовать сервер ServerMania каждый месяц.
  • Надежность: Интернет и компьютерное оборудование потребительского класса не рассчитано на круглосуточное использование и подключение по всему миру. ServerMania, с другой стороны, использует оборудование и соединения корпоративного уровня, чтобы каждый мог подключиться к вашему серверу на молниеносной скорости.
  • Поддержка: Одним из основных недостатков хостинга собственного веб-сайта является то, что вы несете ответственность за любые вопросы поддержки. С ServerMania вы получаете круглосуточную поддержку, включенную в каждый сервер, поэтому вы знаете, что мы всегда здесь, если вам понадобится помощь.

СКАЧАТЬ СЕЙЧАС: календарь управления сервером

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

Компоненты веб-сервера

Есть несколько основных компонентов для настройки веб-сервера: Это часто называют стеком LAMP.

Linux: За стеком LAMP стоит операционная система Linux. Это легкая и безопасная ОС, что делает ее одним из самых популярных вариантов для лучших веб-серверов.

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

MySQL: Популярный механизм базы данных, используемый для веб-сайтов, управляемых базами данных.

PHP: PHP — популярный язык многих веб-сайтов, он требуется для таких популярных веб-скриптов, как WordPress.

Что вам понадобится

Начните с заказа гибридного или выделенного сервера ServerMania. Вы можете использовать код купона KB4KDO0L9 для пожизненной скидки 10%.

Системные требования

Системные требования для настройки личного веб-сервера зависят от типа сайтов, которые вы собираетесь запускать. Минимальные требования:

  • Гибридный или выделенный сервер ServerMania
  • CentOS 7+
  • 512 МБ ОЗУ
  • 2 ГБ дискового пространства

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

Linux

Эти инструкции будут работать в Ubuntu / Debian Linux. Команды могут отличаться в других дистрибутивах.

Инструкции по установке

Шаг 1: Подключитесь к вашему серверу ServerMania через SSH.
 ssh root @ IP-адрес 
Шаг 2: Установите утилиты wget, screen и unzip, необходимые для выполнения сценария установки:
 apt-get -y install wget screen git 
Шаг 3: Загрузите Скрипт установки LAMP из github с использованием wget:
 git clone https: // github.com / teddysun / lamp.git 
Шаг 4: Перейдите в папку lamp-master:
 cd lamp 
Шаг 5: Сделайте сценарий установки исполняемым:
 chmod + x * .sh 
Шаг 6: Откройте экран, чтобы начать процесс установки:
 screen -S lamp 
Шаг 7: Выполните сценарий установки:
 ./lamp.sh 
Шаг 8: Выполните следующие шаги в процессе установки:
  1. Выберите версию apache.Мы рекомендуем последнюю версию из списка.
  2. Выберите базу данных, которую вы хотите установить. Мы рекомендуем MySQL и выбираем последнюю версию.
  3. Нажмите Enter, чтобы использовать каталог данных MySQL по умолчанию.
  4. Введите пароль root для MySQL.
  5. Выберите версию PHP. Рекомендуем выбрать самую последнюю версию.
  6. Установите все необходимые модули PHP. php-imagick — хороший вариант, если вы не знаете, что вам нужно.
  7. Выберите 1, чтобы установить PHPMyAdmin
  8. Нажмите любую клавишу, чтобы начать процесс установки

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

Теперь, когда ваш стек LAMP установлен, вы можете использовать эти команды для запуска, остановки и перезапуска компонентов Интернета. server:

Apache

 service httpd (start | stop | status | restart) 

MySQL

 service mysqld (start | stop | status | restart) 

Создание нового сайта

Теперь, когда стек LAMP установлен, Теперь вы можете настроить свой первый веб-сайт на веб-сервере.

Следующая команда добавит сайт в ваш файл конфигурации apache:

 lamp add 

Следуйте инструкциям в сценарии, указав имя домена и информацию о базе данных (при необходимости).

Теперь вы можете добавлять файлы в каталог вашего сайта. Каталог по умолчанию:

 data / www / domain.com 

Вы можете использовать команду scp со своего локального компьютера для загрузки файлов в каталог:

Windows

Для тех, кто хочет настроить веб-сервер на Windows Server 2012 , Windows Server 2016 или Windows Server 2019 можно выполнить следующие действия.

Инструкции по установке

Шаг 1: Откройте Диспетчер серверов

Шаг 2: Щелкните Управление> Добавить роли и компоненты

Шаг 3: Нажмите Далее

Шаг 4: Нажмите Далее

Шаг 5 : Выберите сервер и нажмите Далее

Шаг 6: Выберите Веб-сервер и нажмите Далее

Шаг 7: Нажмите Далее

Шаг 8: Нажмите Далее

Шаг 9: Нажмите Далее

Шаг 10: Щелкните Установить

Управление сервером

Теперь вы можете открыть диспетчер IIS.Если вы щелкните ссылку «Сайты» и нажмите «Обзор», вы сможете просмотреть корневую веб-папку и переместить любые файлы сайта в это место.

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

Указание домена на веб-сервер

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

Просто скопируйте IP-адрес вашего сервера в запись A файла зоны DNS доменного имени.

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

Заключение

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

[Глава 12] 12.2 Установка и настройка веб-сервера

Установить и настроить веб-сервер не намного сложнее, чем установить FTP-сервер. После того, как ваш веб-сервер будет запущен, другие пользователи Интернета смогут просматривать документы, которые вы публикуете в своей системе Linux.

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

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

Файлы конфигурации Apache находятся в каталоге . / и т.д. / apache . По историческим причинам, которые больше не применяются, Apache имеет три файла конфигурации:

access.conf

Указывает, какие хосты и пользователи имеют доступ к каким документам и службам

httpd.conf

Определяет параметры, управляющие работой httpd демон

srm.конф

Определяет, как документы вашего сервера организованы и отформатированы

В настоящее время вы можете размещать команды конфигурации Apache в любом из этих файлов. Однако каждый из этих файлов должен существовать, даже если он пуст; в противном случае Демон httpd откажется запускаться. При распространении файлы содержат конфигурацию по умолчанию. Перед запуском веб-сервера вам следует пересмотреть ServerName вариант httpd.conf файл.В трех следующих подразделах описаны другие параметры, которые вы можете указать. Вы можете сканировать их, чтобы увидеть, какие варианты доступны, и указать варианты, которые вас интересуют. Более полное описание параметров доступно в онлайн-документации Apache. Кроме того, веб-сайт Apache ( http://www.apache.org/) предоставляет руководство по настройке Apache. Чтобы изменить параметр, просто откройте связанный файл с помощью вашего любимого текстового редактора, измените файл по своему усмотрению и сохраните файл.

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

12.2.1.1 Файл access.conf

Файл access.conf определяет набор разрешений по умолчанию, которые управляют доступом к документам и службам. Затем он определяет наборы разрешений, которые переопределяют разрешения по умолчанию для определенных документов и служб. Обычная практика — указать довольно ограниченный набор разрешений по умолчанию, ослабляя эти разрешения для предоставления доступа к определенным документам и службам.

Файл содержит смесь комментариев (строки, начинающиеся с #) и директив. Комментарии игнорируются сервером.

Разрешения по умолчанию указаны следующим образом:

<Каталог />
Опции Нет
AllowOverride Нет
 

Парные теги <Каталог> и содержит список параметров, относящихся к / , каталог, указанный в Тег .Возможные варианты:

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

  • AllowOverride Нет , который указывает, что спецификации доступа не могут быть отменены с помощью Файл .htaccess .

В Табл. 12.2 описаны доступные специальные функции сервера.


Таблица 12.2: Специальные функции сервера

Вариант

Описание

ExecCGI

В этом каталоге разрешено выполнение сценариев CGI.

FollowSymLinks

Сервер будет переходить по символическим ссылкам в этом каталоге.

Включает

Разрешены включения на стороне сервера.

Включает NOEXEC

Серверные включают, кроме #exec и #include , разрешены в этом каталоге.

Индексы

Если в каталоге нет индексного файла (например, индекс.html ), сервер подготовит отформатированный индекс.

MultiViews

В этом каталоге разрешены согласованные по содержимому MultiView. MultiViews позволяет, например, клиентскому браузеру выбирать документ на определенном языке из набора документов.

SymLinksIfOwnerMatch

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

Если в спецификации каталога не указано AllowOverride Нет , вы можете переопределить указанные параметры, поместив .htaccess в каталоге или в одном из его подкаталогов. Файл .htaccess может содержать спецификации того же типа, что и . файл access.conf ; сервер применяет спецификации .htaccess вместо файлов, указанных в . доступ.conf файл.

После ограничительных спецификаций по умолчанию идут еще несколько смягченных спецификаций:

<Каталог / домашний / httpd / html>
Индексы опций включают FollowSymLinks
AllowOverride Нет
заказ разрешить, запретить
разрешить от всех
 

Эти спецификации относятся к каталогу / home / httpd / html и его подкаталоги. Здесь, модель Индексы , Включает и Указаны параметры FollowSymLinks .Для корневой каталог, использование Файлы .htaccess запрещено, через AllowOverride Нет . Здесь, в отличие от спецификация для корневого каталога, хосты, которым разрешен доступ документы услуги указаны. Модель заказывать Директива allow, deny указывает, что любой Директивы deny будут применяться после любого разрешить директив и, следовательно, примет приоритет. Нет запретить директивы появляются в этом Технические характеристики; модель разрешить из всех разрешений директивы любой хост для доступа к документам и услугам в пределах / home / httpd / html и его подкаталоги.

Другая спецификация позволяет выполнять сценарии CGI в пределах Каталог / home / httpd / cgi-bin и его подкаталоги:

<Каталог / домашний / httpd / cgi-bin>
AllowOverride Нет
Параметры ExecCGI
 

Окончательная спецификация в конфигурации по умолчанию позволяет локальному хосту получать доступ к HTML-документам внутри . Каталог / usr / doc и его подкаталоги:

<Каталог / usr / doc>
заказ отклонить, разрешить
отрицаю от всех
разрешить с localhost
Индексы опций FollowSymLinks
 
12.2.1.2 Файл srm.conf

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

Модель Директива DocumentRoot указывает каталог, содержащий ваши файлы HTML. Когда веб-клиент обращается к корневому каталогу, сервер фактически выбирает файлы из каталога, указанного как . DocumentRoot :

DocumentRoot / home / httpd / html 

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

UserDir public_html 

Эта директива указывает, что ссылка на ~ пользователь будет переведен на ссылку на / home / user / public_html .

Модель Директива DirectoryIndex указывает имя файла (или имена файлов), в которых используются индексы каталога:

DirectoryIndex index.html index.shtml index.cgi 

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

FancyIndexing на 

Модель AddIcon и Директивы AddIconByType связывают значки с файлами заданных типов:

AddIconByType (TXT, / icons / text.gif) текст / *
AddIcon /icons/binary.gif .bin .exe 

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

Директива DefaultIcon определяет значок, используемый для типов файлов, которые явно не связаны со значком:

DefaultIcon /icons/unknown.gif 

Модель Директива ReadmeName указывает имя файла, используемого сервером для создания записей readme:

ReadmeName README 

Сервер сначала будет искать файл README.html, а затем для файла README.

Аналогичный Директива HeaderName указывает имя файла, который сервер добавит к сгенерированному индексу:

HeaderName HEADER 

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

IndexIgnore. ?? * * ~ * # ЗАГОЛОВОК * README * RCS 

Модель Директива AccessFileName указывает имя файла, который, если он присутствует, отменяет спецификации управления доступом для каталога:

AccessFileName.htaccess 

Модель Директива TypesConfig идентифицирует Файл mime.types , описывающий мультимедийные файлы:

ТипыConfig /etc/mime.types 

Модель Директива DefaultType определяет тип MIME по умолчанию для документов:

DefaultType текст / простой 

Модель Директива AddEncoding предписывает совместимым браузерам распаковывать информацию по мере ее загрузки:

AddEncoding x-compress Z
AddEncoding x-gzip gz 

Модель Директива Redirect позволяет указать адрес пересылки для перемещенных документов.Конфигурация по умолчанию не включает Перенаправить s, которые имеют эту простую форму:

Перенаправить старый URL на новый URL 

Модель Директива Alias ​​ позволяет ссылаться на каталог с помощью псевдонима. Например, следующая директива обеспечивает более удобный способ ссылки на Каталог / home / httpd / icons:

Псевдоним / icons / / home / httpd / icons / 

Модель Директива ScriptAlias ​​ позволяет пользователям обращаться к каталогу CGI просто как / cgi-bin /:

ScriptAlias ​​/ cgi-bin / / home / httpd / cgi-bin / 

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

BrowserMatch "Mozilla / 2" nokeepalive
BrowserMatch "MSIE 4 \ .0b2;" nokeepalive downgrade-1.0 force-response-1.0 

Последние директивы заставляют использовать ответы HTTP версии 1.0 для нескольких браузеров, не поддерживающих HTTP 1.1:

BrowserMatch "RealPlayer 4 \ .0" force-response-1.0
BrowserMatch "Java / 1 \ .0" force-response-1.0
BrowserMatch "JDK / 1 \ .0" force-response-1.0 
12.2.1.3 Файл httpd.conf

Файл httpd.conf определяет параметры, относящиеся к httpd демон. Вы должны указать ServerName перед запуском вашего веб-сервера.

Модель Каталог ServerType указывает, запускается ли веб-сервер через . inetd или автономный:

Автономный ServerType 

Модель Директива port указывает порт, на котором веб-сервер прослушивает клиентские запросы:

Порт 80 

Модель Директива HostnameLookups указывает, регистрируются ли клиенты по IP-адресу (выкл.) Или имени хоста (вкл.):

HostnameLookups off 

Модель Пользователь и Директивы группы определяют идентификатор пользователя и группу, в которой Запускается демон httpd .Первоначально демон запускается как root , а затем переключается на указанный идентификатор пользователя и группу. В конфигурации по умолчанию используется идентификатор пользователя . none , стандартный идентификатор пользователя Unix с очень ограниченными разрешениями. Пользователь или процесс, работающий как никто не может получить доступ к файлам только способами, разрешенными для всех пользователей; как правило, это означает, что пользователь или процесс не могут изменять файлы. Группа никто из не имеет таких же ограниченных привилегий:

Пользователь никто
Группа никто 

Модель Директива ServerAdmin указывает адрес электронной почты администратора сервера:

ServerAdmin root @ localhost 

Модель Директива ServerRoot указывает каталог, содержащий файлы конфигурации, ошибок и журналов:

ServerRoot / и т. Д. / Httpd 

Модель Директива BindAddress обеспечивает виртуальные хосты.Он указывает IP-адрес, который должен прослушивать сервер. Обычно он отключается токеном комментария:

#BindAddress * 

Модель Директива ErrorLog указывает расположение файла журнала ошибок:

Журналы ErrorLog / error_log 

Модель Директива LogLevel определяет степень детализации журнала сервера. Возможные значения включают отладка , инфо , уведомление , предупредить , ошибка , крит , оповещение и Emerg :

Предупреждение LogLevel 

Модель Директива LogFormat определяет имена форматов, которые могут использоваться с Директива CustomLog :

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ ""
комбинированный LogFormat "% h% l% u% t \"% r \ "%> s% b" общий
LogFormat "% {Referer} i ->% U" referer
LogFormat агент "% {User-agent} i"
CustomLog logs / access_log общий 

Для получения дополнительной информации о LogFormat и CustomLog , см. Документацию Apache.

Модель Директива PidFile указывает файл, в котором сервер должен регистрировать свой идентификатор процесса:

PidFile /var/run/httpd.pid 

Модель Директива ScoreBoardFile указывает имя файла, используемого для хранения внутренних данных процесса сервера:

ScoreBoardFile /var/run/httpd.scoreboard 

Модель Директива LockFile указывает файл, используемый для обеспечения блокировки. Вам нужно будет изменить этот параметр, только если вы смонтируете NFS каталог, используемый сервером для ведения журнала:

#LockFile / var / lock / httpd.замок 

Модель Директива ServerName указывает имя хоста системы, в которой работает ваш сервер. В зависимости от конфигурации вашей сети, вам может не потребоваться указывать эту директиву:

ServerName host.domain.com 

Модель Директива UseCanonicalName указывает, будет ли сервер возвращать канонический URL-адрес, сформированный из ServerName и Директивы порта (вкл.) Или имя хоста и порт, предоставленные клиентом (выкл.):

UseCanonicalName на 

Модель Директива CacheNegotiatedDocs предписывает браузерам не кэшировать документы; обычно он отключается путем добавления к нему токена комментария (#):

#CacheNegotiatedDocs 

Модель Директива Timeout указывает максимальное количество секунд, в течение которых сервер будет ожидать определенных ответов, таких как следующий пакет в последовательности пакетов TCP:

Тайм-аут 300 

Модель Директива KeepAlive указывает, что соединения являются постоянными; то есть клиент может делать несколько запросов за одно соединение:

KeepAlive на 

Модель Директива MaxKeepAliveRequests определяет максимальное количество запросов, разрешенных во время постоянного соединения:

MaxKeepAliveRequests 100 

Значение 0 означает неограниченное количество запросов.

Модель Директива KeepAliveTimeout указывает максимальное количество секунд, в течение которых сервер будет ожидать следующего запроса:

KeepAliveTimeout 15 

Модель MinSpareServers и Директивы MaxSpareServers соответственно фиксируют минимальное и максимальное количество резервных серверных процессов, которые сервер создаст. Наличие доступного сервера ускоряет обработку входящего запроса:

MinSpareServers 8
MaxSpareServers 20 

Модель Директива StartServers указывает начальное количество серверных процессов:

StartServers 10 

Модель Директива MaxClients определяет максимальное количество одновременных серверных процессов.При достижении этого числа запросы от дополнительных клиентов блокируются:

MaxClients 150 

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

MinSpareServers 3
MaxSpareServers 6
StartServers 3
MaxClients 20 

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

MaxRequestsPerChild 100 

Модель Директива ProxyRequests указывает, включен ли прокси-сервер; обычно отключено:

#ProxyRequests на 

Когда прокси-сервер активен, следующие директивы определяют различные параметры кэширования. Обычно они отключены:

#CacheRoot / var / cache / httpd
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com 

Модель Директива Listen позволяет привязать Apache к конкретный IP-адрес или порт в дополнение к IP-адресу по умолчанию и порт. Он вообще отключен:

# Слушайте 3000
#Listen 12.34.56.78:80 

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

# 
#ServerAdmin [email protected]_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs / host.some_domain.com-error_log
#TransferLog logs / host.some_domain.com-access_log
#  

Как использовать веб-сервер Apache для установки и настройки веб-сайта

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

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

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

Как установить и настроить сервер? Где вы размещаете файлы?

Давайте пройдемся по этому, шаг за шагом. Я буду демонстрировать на Ubuntu Server 20.04.

Но сначала немного дополнительной информации.

СМОТРЕТЬ: Шпаргалка по телефонному собеседованию: Разработчик программного обеспечения (TechRepublic Premium)

Разница между Apache на Ubuntu и дистрибутивами на основе Red Hat

Причина, по которой я должен указывать, в каком дистрибутиве Linux я Использование связано с тем, что варианты Apache на основе Ubuntu и Red Hat по-разному — от установки до конфигурации.Например, в дистрибутивах на основе Red Hat Apache устанавливается через пакет httpd, тогда как в дистрибутивах на основе Ubuntu пакет apache2 подойдет. Еще одно отличие заключается в том, где и как настроен Apache. В дистрибутивах на основе Red Hat большая часть вашей конфигурации Apache будет происходить в /etc/httpd/conf/httpd.conf. В дистрибутивах на основе Ubuntu конфигурации находятся в /etc/apache2/apache2.conf и / etc / apache2 / sites-available /. Есть еще много различий, но вы уловили идею.

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

 sudo systemctl enable apache2 

Вы можете проверить свою установку, открыв веб-браузер и указав его на http: // SERVER_IP (где SERVER_IP — это IP-адрес сервера, на котором размещен Apache). Вас должна приветствовать страница приветствия Apache (, рис. A, ).

Рисунок A

Официальная страница приветствия Apache, работающая на сервере Ubuntu.

Какую страницу обслуживает Apache? Если вы заглянете в / var / www / html, вы найдете файл index.html — давайте изменим его.

Вернувшись в окно терминала, переименуйте этот файл index.html с помощью команды:

 sudo mv /var/www/html/index.html /var/www/html/index.html.bak 

Теперь давайте создадим новый файл приветствия. Введите команду:

 sudo nano / var / www / html / index.HTML 

В этот файл вставьте следующее:

 


 

Здравствуйте, TechRepublic!

Как дела?

Сохраните и закройте файл. Перезагрузите веб-страницу в браузере, и вы должны увидеть изменения (, рис. B, ).

Рисунок B

Наша новая страница index.html обслуживается Apache.

Как создать сайт для Apache

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

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

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

 sudo mkdir -p / var / www / html / test 

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

 sudo chown -R $ USER: $ USER / var / www / html / test 

Наконец, мы предоставим соответствующие разрешения с помощью команды:

 sudo chmod -R 755 / var / www / html / test 

Скопируйте наш новый index.html в тестовый каталог с помощью команды:

 sudo cp /var/www/html/index.html / var / www / html / test / 

Теперь нам нужно создать конфигурацию виртуального хоста, чтобы Apache знал, где находится тест. Он будет размещен в / etc / apache / sites-available. Для этого мы создадим файл test.conf с помощью команды:

 sudo nano /etc/apache2/sites-available/test.conf 

В этот файл вставьте следующее:

 
    ServerAdmin admin @ example.ком
    ServerName example.com
    ServerAlias ​​www.example.com
    DocumentRoot / var / www / html / test
    ErrorLog $ {APACHE_LOG_DIR} /error.log
    CustomLog $ {APACHE_LOG_DIR} /access.log объединены
 

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

На этом этапе мы создали каталог для размещения файлов, предоставив ему надлежащие права собственности и разрешения, и создали конфигурацию для виртуального хоста.Однако Apache до сих пор не знает о новом сайте. Почему? Поскольку файл конфигурации находится в узлах-доступных . Что нам нужно сделать, так это создать ссылку из этой конфигурации в каталог / etc / apache2 / sites-enabled . На сервере Apache активны только конфигурации, найденные в с поддержкой сайтов.

На серверах, отличных от Ubuntu, для этого необходимо использовать команду ln (для ссылка ). Однако в Ubuntu есть удобная утилита, которая создаст этот сайт за вас.Утилита a2ensite . Если мы запустим команду:

 sudo a2ensite test.conf 

После этого будет включен наш тестовый виртуальный хост.

После успешного выполнения этой команды вы должны перезагрузить Apache (который только перезагрузит файлы конфигурации, но не перезапустит веб-сервер) с помощью команды:

 sudo systemctl reload apache2 

Теперь, если вы укажете в своем браузере http: // SERVER_IP / test (где SERVER_IP — это IP-адрес сервера), вы должны увидеть такое же приветствие Hello, TechRepublic, как и с базовым индексом.html, только он обслуживается нашим вновь созданным виртуальным хостом.

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

Подпишитесь на TechRepublic’s How To Make Tech Work on YouTube для получения всех последних технических советов для бизнес-профессионалов от Джека Уоллена.

Еженедельный бюллетень с открытым исходным кодом

Вы не хотите пропустить наши советы, руководства и комментарии по ОС Linux и приложениям с открытым исходным кодом.

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

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