Разное

Апачи сервер: Как установить и настроить веб-сервер Apache

18.07.2023

Перенаправление Apache и Nginx | FirstVDS

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

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

  • Apache
  • Подключения модуля mod_rewrite
  • Правила Redirect
  • Redirect или RedirectPermanent
  • RedirectMatch
  • RewriteRule
  • Редирект с одного сайта на другой
  • Редирект с www на без www
  • Редирект с без www на www
  • Перенаправление домена с https на http
  • Перенаправление домена с http на https
  • Nginx
  • Редирект 301 с www.domain.com на domain.com
  • Редирект 301 с domain.
    com на www.domain.com
  • Редирект 301 с https на http
  • Редирект 301 с http на https

Apache

Подключения модуля mod_rewrite

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

Для ОС Ubuntu, Debian:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Для ОС CentOS, RedHat, AlmaLinux нужно проверить, чтобы в файле /etc/httpd/conf.modules.d/00-base.conf была строка:

LoadModule rewrite_module modules/mod_rewrite.so

Если ее нет, то нужно добавить ее в конец файла. Если она закомментирована (в начале строки знак

#) — нужно раскомментировать строку.

Для того чтобы директивы mod_rewrite можно было использовать в .htaccess, надо в конфигурационном файле Apache, в соответствующем разделе <Directory /путь/до/директории> прописать:

AllowOverride all

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

Для ОС Ubuntu, Debian:

systemctl restart apache2 

Для ОС CentOS, RedHat, AlmaLinux:

systemctl restart httpd

В .htaccess для работы перенаправления нужно указать следующую директиву:

RewriteEngine On

Правила Redirect

Эти директивы вы можете прописывать как в конфиге Apache для нужного virtualhost, так и в файле .htaccess.

Redirect или RedirectPermanent

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

Redirect 301 /old-page.html http://new-domain.ru/new-page.html

или

Redirect permanent /old-page.html http://new-domain.ru/new-page.html

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

Redirect 301 / http://new-domain.ru/

или

Redirect permanent / http://new-domain. (.*)$ https://www.domain.com/$1 [R=301,L]

Nginx

Модуль ngx_http_rewrite_module, необходимый для настройки перенаправлений, устанавливается автоматически вместе с Nginx.

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

nginx -t

Редирект 301 с www.domain.com на domain.com

Для Nginx вам нужно создать две секции server в конфигурационном файле, одну для домена с www, вторую для домена без www:

Секция server для редиректа:

server {
     listen  80;
     server_name www.domain.com;
     return 301 $scheme://domain.com$request_uri;
}

Секция server, где находятся основные настройки домена:

server {
     listen  80;
     server_name domain.com;
.....
}

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

nginx -s reload

или

systemctl reload nginx

Редирект 301 с domain.com на www.domain.com

Для Nginx вам нужно создать две секции server в конфигурационном файле, одну для домена с www, вторую для домена без www:

Секция server для редиректа:

server {
     listen  80;
     server_name domain.ru;
     return 301 http://www.$host$request_uri;
}

Секция server, где находятся основные настройки домена.

server {
     listen  80;
     server_name www.domain.com;
.....
}

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

nginx -s reload

или

systemctl reload nginx

Редирект 301 с https на http

Для Nginx вам нужно создать две секции server в конфигурационном файле, одну для https (443 порт), вторую для http (80 порт).

Секция server для открытия по https (443 порт) и настройки редиректа:

server {
    listen  443;
    server_name domain.ru www.domain.ru;
    return 301 http://$host$request_uri;
}

Секция 

server для открытия по http (80 порт), где находятся основные настройки домена.

server {
   listen  80;
   server_name www.domain.com;
.....
}

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

nginx -s reload

или

systemctl reload nginx

Редирект 301 с http на https

Для Nginx вам нужно создать две секции server в конфигурационном файле, одну для http (80 порт), вторую для https (443 порт).

Для нового домена в конф. файле nginx

Секция server для открытия по http (80 порт) и настройки перенаправления:

server {
    listen  80;
    server_name domain. com www.domain.com;
    return 301 https://$host$request_uri;
}

Секция server для открытия по https (443 порт), где находятся основные настройки домена.

server {
    listen  IP.се.рве.ра:443;
    server_name www.domain.com;
.....
}

Для существующего домена в конф. файле nginx

Если вы вносите изменения в существующую секцию конф. файла nginx делайте это так:

из основной секции домена удалите строку вида

     listen  IP.се.рве.ра:80;

и создайте новую секцию server такого вида:

server {
    listen  80;
    server_name domain.com www.domain.com;
    return 301 https://$host$request_uri;
}

После внесения изменений в конфигурационный файл Nginx, для вступления в силу этих изменений, нужно его перезапустить так:

nginx -s reload

или

systemctl reload nginx

Аналоги Apache HTTP Server — 4 похожие программы и сервисы для замены

Аналоги Apache HTTP Server — 4 похожие программы и сервисы для замены
  • 226

  • nginx

    Nginx [engine x] — это HTTP и обратный прокси-сервер, а также почтовый прокси-сервер.

    • Бесплатная
    • Windows
    • Mac OS

    Nginx [engine x] — это HTTP и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Он работает более пяти лет на многих сильно загруженных российских сайтах, включая Rambler (RamblerMedia.com).

  • 100

  • Serva 32/64

    Serva — это автоматизированный PXE-серверный ускоритель решений, основанный на портативном мультисервере &quot;все в одном&quot;.

    • Условно бесплатная
    • Windows

    Serva — это автоматизированный сервер PXE Solution Solution Accelerator, основанный на универсальном портативном многосерверном механизме, включающем протоколы BINL (RIS / WDS), HTTP, FTP, TFTP, DHCP, proxyDHCP, DNS, SNTP и SYSLOG.

  • 24

  • Microsoft IIS

    Информационные службы Интернета (IIS) для Windows® Server — это гибкий, безопасный и простой веб-сервер.

    • Платная
    • Windows

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

  • 11

  • Winginx

    Winginx — удобный инструмент для веб-разработки с сервером nginx.

    • Бесплатная
    • Windows

    Winginx — это комплекс локальных веб-серверов под управлением Windows (Vista и выше) для разработки на PHP и Node. js с использованием баз данных MySQL, MongoDB, Redis, memcached.

Загрузка двоичных файлов и модулей Apache VS17

Apache 2.4 VS17 Двоичные файлы и модули Windows

Apache Lounge предоставляет актуальные двоичные файлы Windows и популярные сторонние модули уже более 15 лет. У нас сотни тысяч довольных пользователей: маленькие и большие компании, а также домашние пользователи. Всегда стройте с актуальными зависимостями и последними компиляторами и тщательно тестируйте. На двоичные файлы ссылаются ASF, Microsoft, PHP и т. д., и все больше и больше программного обеспечения упаковывается с нашими двоичными файлами и модулями.

Двоичные файлы, собранные из исходников из ASF на httpd.apache.org, содержат последние исправления и последние зависимости, такие как zlib, openssl и т. д., что делает загрузку здесь в основном более актуальной, чем загрузку из других мест. Бинарники не запускают на XP и 2003. Работает на: 7 SP1, Vista SP2, 8/8.1, 10, 11 Server 2008 SP2/R2 SP1, Server 2012/R2, Server 2016/2019/2022.

Сборка с использованием последней версии Windows Visual Studio C++ 2022, также известной как VS17. Имеет улучшения, исправления и оптимизации по сравнению с VC16 в таких областях, как производительность, управление памятью, новые стандартные функции соответствия, генерация кода и стабильность. Например, настройка качества кода и улучшения, сделанные в различных областях генерации кода для «скорости». И больше использует новейшие процессоры и внутренние функции поддерживаемых выпусков Windows (win7 и выше).

VS17 обратно совместим. Это означает, что модуль VS16/15/14 можно использовать внутри бинарного файла VS17.

Убедитесь, что Вы установили последнюю 14.36.32532 Visual C ++ Redistibulable Visual Studio 2015-2022: VC_REDIST_X64 или VC_REDIST_X86 См. Средственно или


Двоичные файлы Apache 2.4 VS17

Информация и журнал изменений

Апач 2. 4.57 Win64
 httpd-2.4.57-win64-VS17.zip 31 мая 23 11.220k

    Подпись PGP  (Открытый ключ PGP  ), SHA1-SHA512  Контрольные суммы  
Чтобы убедиться, что загрузка не повреждена и не была подделана, используйте PGP, см. Подпись PGP

Модули Apache 2.4 VS17


Почта для подписей PGP и/или контрольных сумм SHA для проверки содержимого файла.

Примечание: вы можете использовать модуль VS17-Win64 с VS16

mod_jk
Соединитель Tomcat

mod_jk-1.2.48-win64-VS17.zip информация 18 янв.
 
mod_wasm
Для запуска двоичных файлов WebAssembly
mod_wasm-0.12.0-win64-VS17.zip информация 02 июн.

 
mod_qos
Модуль Quality Of Service, способен защитить ваш сервер от
различные виды вредоносного доступа или атак, таких как slowloris, DDos
mod_qos-11.74-win64-VS17.zip информация 03 июня 23 1.094К

 
mod_fcgid
Модуль FastCGI ASF
mod_fcgid-2. 3.10-win64-VS17.zip информация 08 нояб. 22 45K
 

мод_безопасность
Брандмауэр приложений, механизм обнаружения и предотвращения вторжений
mod_security-2.9.7-win64-VS17.zip информация 09 янв.
 

mod_xsendfile
Обрабатывает заголовки X-SENDFILE, зарегистрированные исходным обработчиком вывода.
Это полезно для обработки вывода сценария, например. php, perl или любой cgi.
mod_xsendfile-1.0-P1-win64-VS17.zip информация 08 нояб. 22 15K
 

mod_log_rotate
внутрипроцессная ротация серверных журналов
mod_log_rotate-1.0.2-win64-VS17.zip информация 08 нояб. 22 11K
 

dbd_modules
Виртуальный хост DBD и ведение журнала DBD из/в базу данных (My)SQL

dbd_modules-1.0.6-win64-VS17.zip информация 08 нояб. 22 24K
 

mod_bw
Ограничитель пропускной способности
mod_bw-0.92-win64-VS17.zip информация 08 нояб. 22 29K
 

mod_view
Отображение заголовка, хвоста или всего содержимого файла, для удаленного просмотра файлов журнала.
mod_view-2.2-win64-VS17.zip информация 08 ноя 22 21K
 

mod_watch
Интерфейс мониторинга Vhost. Смотреть и собирать байты, запросы,
входящие и исходящие документы для каждого виртуального хоста, владельца файла, удаленного IP-адреса,
каталог или расположение и сервер в целом.
mod_watch-4.3-win64-VS17.zip информация 08 нояб. 22 26K
 

mod_evasive
Помогает предотвратить атаки HTTP DoS (DDoS) или атаки грубой силы сервера.
mod_evasive-2.2.0-win64-VS17.zip информация 08 ноя 22 18K
 

Пошаговое руководство. Настройка веб-сервера Apache и обслуживание файлов Amazon EFS

Пошаговое руководство. Настройка веб-сервера Apache и обслуживание файлов Amazon EFS — Amazon Elastic File System

Один экземпляр EC2, обслуживающий файлыНесколько экземпляров EC2, обслуживающие files

У вас могут быть инстансы EC2, на которых работает веб-сервер Apache, обслуживающий файлы, хранящиеся в вашей файловой системе Amazon EFS. файловая система. Это может быть один экземпляр EC2, или, если это необходимо вашему приложению, вы можете иметь несколько экземпляров EC2. экземпляры, обслуживающие файлы из вашей файловой системы Amazon EFS. Следующие процедуры описано.

  • Настройте веб-сервер Apache на EC2 пример.

  • Настройте веб-сервер Apache на нескольких экземпляров EC2, создав группу Auto Scaling. Вы можете создать несколько EC2 экземпляров с помощью Amazon EC2 Auto Scaling — сервиса AWS, позволяющего увеличивать или уменьшать количество экземпляров EC2 в группе в соответствии с потребностями вашего приложения. Когда у вас несколько веб-сайтов серверов, вам также нужен балансировщик нагрузки для распределения трафика запросов между ними.

Примечание

Для обеих процедур вы создаете все ресурсы в регионе Запад США (Орегон). ( сша-запад-2 ).

Один экземпляр EC2, обслуживающий файлы

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

  1. Следуйте инструкциям в упражнении «Начало работы», чтобы у вас конфигурация, состоящая из следующего:

    Инструкции см. в разделе Начало работы с Amazon Elastic File System. Выполняя шаги, записывайте далее:

  2. (необязательно) Вы можете размонтировать файловую систему из созданной вами точки монтирования. в упражнении «Начало работы».

     $ sudo umount ~/  efs-точка монтирования  

    В этом пошаговом руководстве вы создадите еще одну точку монтирования для файловой системы.

  3. В вашем экземпляре EC2 установите веб-сервер Apache и настройте его как следует:

    1. Подключитесь к своему экземпляру EC2 и установите веб-сервер Apache.

        $  sudo yum -y установить httpd 
    2. Запустить службу.

        $  служба sudo httpd start 
    3. Создать точку монтирования.

      Обратите внимание, что DocumentRoot в /etc/httpd/conf/httpd.conf файл указывает на /var/www/html ( DocumentRoot "/var/www/html" ).

      Вы смонтируете файловую систему Amazon EFS в подкаталог в корне документа.

      Создайте подкаталог с именем efs-mount-point для использования в качестве точки монтирования вашей файловой системы в /var/www/html .

        $  sudo mkdir /var/www/html/efs-mount-point 
    4. Смонтируйте файловую систему Amazon EFS с помощью следующей команды. замените идентификатор файловой системы на идентификатор вашей файловой системы.

        $  sudo mount -t efs  идентификатор файловой системы ://var/www/html/efs-точка монтирования 
  4. Проверьте установку.

    1. Добавьте правило в группу безопасности экземпляра EC2, которую вы создали в разделе Получение Начал упражнение, чтобы разрешить HTTP-трафик на TCP-порту 80 из любого места.

      После добавления правила группа безопасности экземпляра EC2 будет иметь следующие входящие правила.

      Инструкции см. в разделе Создание групп безопасности с помощью Консоль управления AWS.

    2. Создайте образец HTML-файла.

      1. Изменить каталог на точку монтирования.

         $ cd /var/www/html/efs-точка монтирования 
      2. Создайте подкаталог с именем sampledir и измените владение.

          $  sudo mkdir образец каталога
          $  sudo chown ec2-user sampledir
          $  sudo chmod -R o+r выборка каталога 

        Измените каталог, чтобы вы могли создавать файлы в подкаталоге sampledir .

          $  компакт-диск образец каталог 
      3. Создайте образец файла hello.html .

         $ echo " 

        Привет от Amazon EFS

        " > hello.html
    3. Откройте окно браузера и введите URL-адрес для доступа к файлу (это общедоступный DNS-сервер). имя экземпляра EC2, за которым следует имя файла). Например:

       http://  EC2-instance-public-DNS  /efs-mount-point/sampledir/hello.html 

    Теперь вы обслуживаете веб-страницы, хранящиеся в файловой системе Amazon EFS.

Примечание

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

Обслуживание нескольких экземпляров EC2 files

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

  1. Выполните действия, описанные в Шаге 1. Создайте файл Amazon EFS. системное упражнение, чтобы у вас была файловая система Amazon EFS создан и испытан.

    Важно

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

  2. Создайте балансировщик нагрузки в своем облаке VPC, выполнив следующие действия.

    1. Определение балансировщика нагрузки

      В разделе Basic Configuration выберите VPC, в котором вы также создайте экземпляры EC2, на которых вы монтируете файловую систему.

      В разделе Select Subnets выберите все доступные подсети . Подробнее см. cloud-config скрипт в следующем разделе.

    2. Назначение групп безопасности

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

      Примечание

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

    3. Настройка проверки работоспособности

      Установите для параметра Ping Path значение /efs-точка-монтирования/test. html . efs-mount-point — это подкаталог, в котором у вас смонтирована файловая система. Вы добавляете test.html страницу в нем позже в этой процедуре.

    Примечание

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

    Инструкции по созданию балансировщика нагрузки см. в разделе Начало работы с эластичной нагрузкой. Балансировка в руководстве пользователя Elastic Load Balancing .

Создайте группу Auto Scaling с двумя экземплярами EC2. Сначала вы создаете запуск конфигурация, описывающая экземпляры. Затем вы создаете группу Auto Scaling, указание конфигурации запуска. Следующие шаги предоставляют информацию о конфигурации которые вы укажете для создания группы Auto Scaling из консоли Amazon EC2.

  1. Выберите Запуск конфигураций под АВТО МАСШТАБИРОВАНИЕ из левой навигационной панели.

  2. Выберите Создать группу автоматического масштабирования , чтобы запустить мастер.

  3. Выберите Создать конфигурацию запуска .

  4. Из Quick Start выберите последнюю версию Amazon Linux 2 AMI. Это тот же AMI, который вы использовали на шаге 2: создайте ресурсы EC2 и запустите свой экземпляр EC2 в разделе «Начало работы» упражнение.

  5. В разделе Advanced выполните следующие действия:

    • Для Тип IP-адреса выберите Назначить общедоступный IP-адрес адрес для каждого экземпляра .

    • Скопируйте/вставьте следующий сценарий в поле Данные пользователя .

      Вы должны обновить сценарий, указав значения для идентификатор файловой системы и aws-region (если вы следовали инструкциям по началу работы упражнения, вы создали файловую систему в регионе us-west-2).

      В скрипте обратите внимание на следующее:

      • Сценарий устанавливает клиент NFS и веб-сервер Apache.

      • Команда echo записывает следующую запись в /etc/fstab файл, идентифицирующий DNS-имя файловой системы и подкаталог, в который его монтировать. Эта запись гарантирует, что файл монтируется после каждой перезагрузки системы. Обратите внимание, что DNS-имя файловой системы динамически построенный. Дополнительные сведения см. в разделе Подключение к Amazon EC2 с использованием DNS-имени.

          идентификатор файловой системы  .efs.  aws-region  .amazonaws.com:/ /var/www/html/efs-mount-point nfs4 по умолчанию 
      • Создает подкаталог efs-mount-point и монтирует файловую систему на это.

      • Создает страницу test.html , чтобы проверка работоспособности ELB могла найти файл (когда при создании балансировщика нагрузки вы указали этот файл в качестве точки пинга).

      Дополнительные сведения о сценариях пользовательских данных см. в разделе Добавление Пользовательские данные в Руководстве пользователя Amazon EC2 для инстансов Linux .

       #облачная-конфигурация
      package_upgrade: правда
      пакеты:
      - нфс-утилиты
      - httpd
      выполнить команду:
      - echo "$(curl -s http://169. 254.169.254/latest/meta-data/placement/availability-zone).  идентификатор файловой системы  .efs.  aws-region  .amazonaws.com:/ /var/www/html/efs-точка монтирования nfs4 по умолчанию" >> /etc/fstab
      - mkdir /var/www/html/efs-точка монтирования
      - гора -а
      - коснитесь /var/www/html/efs-mount-point/test.html
      - запуск службы httpd
      - chkconfig httpd на 
  6. Для Назначьте группу безопасности , выберите Выберите существующая группа безопасности , а затем выберите созданную группу безопасности для экземпляра EC2.

  7. Теперь настройте сведения о группе Auto Scaling, используя следующую информацию.

    1. Для размера группы выберите Начните с 2 экземпляров . Вы создадите два экземпляра EC2.

    2. Выберите свой VPC из списка Network .

    3. Выберите подсеть в той же зоне доступности, которую вы использовали при указании монтировать target ID в скрипте User Data при создании конфигурации запуска в предыдущий шаг.

    4. В разделе 9 Advanced Details 0011

      1. Для Балансировка нагрузки выберите Получать трафик от Elastic Load Balancer(s) , а затем выберите нужный балансировщик нагрузки. создан для этого упражнения.

      2. Для проверки работоспособности типа выберите ELB .

  8. Следуйте инструкциям по созданию группы автоматического масштабирования в разделе Настройка масштабируемой и сбалансированной нагрузки. Применение в Руководство пользователя автоматического масштабирования Amazon EC2 . Используйте информацию в предыдущие таблицы, где это применимо.

  9. После успешного создания группы автоматического масштабирования у вас есть два экземпляра EC2 с nfs-utils и веб-сервер Apache. На каждом экземпляре проверьте что у вас есть подкаталог /var/www/html/efs-mount-point с вашим Amazon EFS смонтированная на нем файловая система. Инструкции по подключению к экземпляру EC2 см. в разделе Подключение к вашему экземпляру Linux. в Руководство пользователя Amazon EC2 для инстансов Linux .

    Примечание

    Если вы выберете Amazon Linux AMI 2016.03.0 Amazon Linux AMI при запуске инстанса Amazon EC2 вам не нужно устанавливать nfs-utils потому что он уже включен в AMI по умолчанию.

  10. Создайте образец страницы (index.html).

    1. Изменить каталог.

       $ cd /var/www/html/efs-точка монтирования 
    2. Создайте подкаталог для sampledir и измените владельца. И измените каталог, чтобы вы могли создавать файлы в sampledir подкаталог. Если вы следовали предыдущим файлам обслуживания одного инстанса EC2, вы уже создали sampledir подкаталог, поэтому вы можете пропустить этот шаг.

       $ sudo mkdir образец каталога
      $ sudo chown ec2-user каталог выборки
      $ sudo chmod -R o+r каталог выборки
      $ cd сэмпл каталог 
    3. Создайте пример файла index.html .

       $ echo " 

      Привет из Amazon EFS

      " > index.html
  11. Теперь вы можете протестировать установку. Используя общедоступное DNS-имя балансировщика нагрузки, получите доступ к страница index.

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

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