Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Apache

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7

Открыть новую тему     Написать ответ в эту тему

lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В этой теме собраны ответы на наиболее часто задаваемые вопросы по веб-серверу Apache.
 
Создавать новые темы по Apache разрешается только, если вы не нашли тут подходящей вам.
 
Статьи на Ru.Board'e

Компиляция и установка Apache, mod_perl и PHP под Windows
Apache 2.x - русский перевод файла конфигурации
Установка Apache 2.x, PHP4, PERL и MySQL на localhost под Windows
 
 
PHP

 
Apache + PHP4 - файлы предлагает закачать
Apache + PHP - компилляция, Linux
Установка Apache 2.x + php 4.x как модуля под FreeBSD
Apache + PHP - настройка
Apache 2.x + PHP - настройка
 
Perl/CGI

 
Apache 2.x - русский перевод файла конфигурации
Apache 2.x+Perl+PHP+SSI+MySQL - Windows
Apache 2.x+Perl+PHP+SSI+MySQL - Windows - 2
Apache 2.x + Perl
Не работают CGI в Apache - все решения
 
 
ASP

 
Настройка ASP под Apache
Поддержка ASP.NET под Windows-like OS (формат pdf)
Поддержка ASP.NET под Unix-like OS  
 
 
 
Ограничения

 
Ограничение скорости Apache (Windows, Unix)
Ограничение скорости Apache (Unix)
Ограничение подключений с одного IP в Apache (Windows, Unix)
Apache + mod_throttle: ограничение доступа с одного IP, Unix
Закрытие доступа с определенных IP
Закрытие доступа с определенных IP-2
Запрет доступа с определенных IP - 3
Разрешение доступа только из локальной сети
Разрешение закачки файлов только в один поток
Apache: запрещаем скачивать сайт менеджерами закачек
 
 
 
.htaccess

 
.htaccess (общие вопросы)
.htaccess + .htpasswd (пароли на директорию)
 
 
Кодировки

 
Apache 2.x и кодировка в CGI-скриптах
Распознавание файлов с кириллическими именами
Apache 2.x и кодировка по умолчанию
 
 
Log-файлы

 
Ротация логов
Анализаторы log-файлов
Отключение logs (логов)
 
 
 
Модули

 
Apache как прокси сервер (mod_proxy)
Обзор модулей и добавлений к Apache (по русски!)
Модули zlib, Gzip и deflate - экономия трафика
Apache + mod_gzip
Apache 2.x Win32 и SSL
Apache + mod_throttle: ограничение доступа с одного IP, Unix
apache+mod_perl
mod_geoip: сборка для Apache
 
 

 
Apache + mod_rewrite - замена url
Apache + mod_rewrite замена ссылок - 2
Ограничение доступа по паролю в определенных урлах (rewrite) - пароль на конкретный файл
mod_rewrite не выставляет переменные окружения
http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html -- документация по mod_rewrite (рус.)
 
 
 
Защита и безопасность

 
http://www.securitylab.ru/46288.html - Защищаем Apache 2. Шаг за шагом
http://www.securitylab.ru/?ID=38966 - Защищаем Apache Web сервер (1.3.х)
http://www.securitylab.ru/39645.html  - Защищаем PHP. Шаг за шагом.
http://www.securitylab.ru/39981.html - Защищаем MySql. Шаг за шагом
 
 
 
Прочие вопросы

 
Доступ к виртуальным хостам без DNS (адресация без доменного имени)
Адресация без доменного имени -2
Apache: два сайта на одном IP
Редирект на другой порт Apache
Редирект на другой домен в Apache
Первый VirtualHost наследует свойства MainServer
Создание поддоменов
Запретить листинг (список файлов) в директории
Нестандартные страницы ошибок (404, 401 и др.)
Как поменять сигнатуру Apache
Увеличение производительности сервера
Apache + IIS на одной машине
Apache + Python
Apache: добавить баннер на все сайты
Apache WAP и MIME (корректно отдавать файлы MMF)
Apache: перенаправление любого запроса на заданную страницу
Компиляция и установка Apache, mod_perl и PHP под Windows (статья)
Apache: как сделать ПОДДОМЕН->ПАПКА
Причины падения Apache на Unix-системах
 
 
http://step.kosnet.ru:8100/Lib/Linux/MHOWTO/Apache-mods.html  
HOWTO по настройке Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi  
http://www.opennet.ru/docs/RUS/apache/index.html - Сервер Apache - Настройка
 
 
 
 
Анализаторы лог-файлов для Apache (и других серверов)
Все веб-серверы
 
А также...
http://www.bog.pp.ru/work/apache2.html - Apache 2: HTTP сервер. Установка, настройка (очень хорошее описание)
http://www.bog.pp.ru/map_full.html - Описание, документация и инструкции по установке и настройке серверов;  
                                                   CISCO IOS; Linux; Solaris; TCP/IP и т.д.
 
Офф. сайт: http://apache.org/
 
Последние дистрибутивы Apache
Модули
 
Документация по ветке Apache 1.3.x
FAQ по Apache 1.3.x
Директивы Apache 1.3.x
Модули Apache 1.3.x (документация)
 
Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке (для пользователей)
Apache + Perl + PHP3 + MySQL для Windows 95/98: руководство по установке (для пользователей)
Русский перевод файла httpd.conf 1.3.x
 
 
Документация по ветке Apache 2.x
FAQ по Apache 2.x
Директивы Apache 2.x
Модули Apache 2.x (документация)
Русский перевод файла httpd.conf Apache 2.x
Установка и настройка Apache 2.x на localhost под Windows
 
 
Документация на вашем локалхосте:  http://localhost/manual/  
Как настроить документацию на локалхосте
 
 
 
 
Тема создана для информации, а не для обсуждения.
Если у вас есть предложения по ее улучшению, пожалуйста, сюда или сюда.
 
 
Огромное спасибо Cheery за большую помощь в создании данной темы.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 04:51 30-04-2003 | Исправлено: unreal666, 22:34 21-02-2006
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunny1983
https://wiki.apache.org/httpd/Minimal_Config
и к нему добавляете то, что вам нужно

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 21:15 26-05-2018 | Исправлено: Mavrikii, 21:15 26-05-2018
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Несколько раз с таким сталкивался, что запрашиваешь в браузере один сайт, а тебе выдаётся другой виртуальный хост. Вот сейчас после перезагрузки сервера такое произошло. Это что, баг Apache такой? И как это лечить?

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 07:35 16-06-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunny1983

Цитата:
Это что, баг Apache такой?

никто не сталкивался, зависит от настроек и смотрите какой host запрашивается браузером.

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 07:38 16-06-2018
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Настройки не менялись.

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 07:58 16-06-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunny1983

Цитата:
Настройки не менялись

они изначально могут быть кривыми.
https://wiki.apache.org/httpd/CommonMisconfigurations
и смотрите какой хост фактически в заголовках запроса просит ваш браузер.

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 08:02 16-06-2018 | Исправлено: Mavrikii, 08:04 16-06-2018
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Короче проблема с хостом-заглушкой.
Есть файл /etc/httpd/conf.d/000-default.conf
в нём прописано:

Код:
<VirtualHost *:*>
   ServerName 000-default
   DocumentRoot "/var/www/000-default/html"
   DirectoryIndex index.html index.htm index.php
   <Directory "/var/www/000-default/html">
      Options -Indexes
   </Directory>
</VirtualHost>

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

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 11:44 16-06-2018
Sadok

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sunny1983

Цитата:
то по идее должен выдаться сайт-заглушка

по идее, надо читать документацию и вывод apache2ctl -S

Всего записей: 1340 | Зарегистр. 04-01-2003 | Отправлено: 13:21 16-06-2018
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
вывод apache2ctl -S

Нашёл ошибку. Всё дело было в <VirtualHost *:*>. У меня 000-default становился умолчальным для *.*, а для *:80 и *:443 умолчальными становились другие хосты. Поменял на <VirtualHost *:80 *:443>

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 05:59 17-06-2018
aIBOLITUS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Apache настроен в качестве сервера webdav, не работает по этому протоколу monosnap при попытке загрузить картинку (хотя тот же monosnap на windows работает нормально). Ошибка при загрузке такая Error Domain=Com.MattRajca.davkit.error Code=404 *(null)*.
 
Monosnap 5.5.5
OS macos 10.4
Apache запущен на Centos 7
 
Подскажите пожалуйста как решить проблему?
 
Не знаю как тут конфиг приложить

Всего записей: 11 | Зарегистр. 15-01-2013 | Отправлено: 20:19 17-02-2019 | Исправлено: aIBOLITUS, 20:23 17-02-2019
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Обновил apache. В новой версии не работают команды "apachectl -S" и "apachectl -M". Как получить список активных виртуальных хостов?

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 09:03 01-05-2019
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunny1983

Цитата:
Обновил apache

До какой версии

Цитата:
не работают команды

попробуйте
apache2ctl -S и apache2ctl -M

Всего записей: 1233 | Зарегистр. 29-08-2005 | Отправлено: 10:11 01-05-2019
sunny1983

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
До какой версии  

httpd-2.4.39 в сборке Fedora 29
man apachectl говорит, что таких ключей у данной утилиты нет.
 
Добавлено:
Разобрался. apachectl в этой версии может только reload делать. А статус смотреть через "httpd -S"

Всего записей: 190 | Зарегистр. 04-02-2010 | Отправлено: 17:42 01-05-2019
LokAr



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста, где скачать Apache 2.4.41 win64 including OpenSSL? Не могу в этих директориях найти нифига. Киньте ссылкой.

Всего записей: 437 | Зарегистр. 15-03-2005 | Отправлено: 16:37 14-10-2019
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LokAr
А сюда заглядывали ?
 

Цитата:
Не могу в этих директориях найти нифига

В каких ?

Всего записей: 1233 | Зарегистр. 29-08-2005 | Отправлено: 05:48 15-10-2019 | Исправлено: alexnov66, 05:50 15-10-2019
Kaber



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, привет, подскажите пожалуйста? как через .htaccess перенаправлять запросы:
product_55527.html на
index.php?route=product/product&product_id=55527
?

Всего записей: 1356 | Зарегистр. 14-03-2014 | Отправлено: 10:15 24-10-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kaber
mod_rewrite: документация, готовые решения, вопросы

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 21:13 28-10-2019
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как сделать  Reverse Proxy для нескольких доменов?
для одного работает, а для нескольких?
 
Apache Reverse Proxy
< IfModule mod_proxy.c>  
          ProxyRequests Off
          < Proxy *>  
                    Require all granted
          < /Proxy>  
           ProxyPass  / http://node2.example.com/
           ProxyPassReverse  / http://node2.example.com/
< /IfModule>  
 
т.е. чтобы при обращении по нескольким разным доменам на апатч он проксфицировал на другие апатчи....

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 07:58 14-01-2021
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD

Цитата:
т.е. чтобы при обращении по нескольким разным доменам на апатч он проксфицировал на другие апатчи.

для каждого создаете свой VirtualHost со своим ServerName, и внутри него подобная конфигурация.
https://httpd.apache.org/docs/2.4/vhosts/examples.html
если только для прокси, то nginx может оказаться удобнее.
 
ну либо работаете со всеми обращениями, а потом используете if директиву
https://httpd.apache.org/docs/2.4/mod/core.html#if

Цитата:
<If "req('Host') == 'www.example.com'">
# ваш код
</If>

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 08:04 14-01-2021 | Исправлено: Mavrikii, 08:12 14-01-2021
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
у меня есть 5 разных апатчей за одним реал IP.
есть  5 доменов с DNS записью на этот реал IP.
Апатч открыт наружу 80м портом.
Получится ли как-нибудь так проксифицировать на локальные апатчи?

Код:
 
Apache Reverse Proxy
< IfModule mod_proxy.c>  
          ProxyRequests Off
          < Proxy domain1:80>  
                    Require all granted
          < /Proxy>  
           ProxyPass  / http://local.apache1./
           ProxyPassReverse  / http://local.apache1./
< /IfModule>  
 
< IfModule mod_proxy.c>  
          ProxyRequests Off
          < Proxy domain2:80>  
                    Require all granted
          < /Proxy>  
           ProxyPass  / http://local.apache2./
           ProxyPassReverse  / http://local.apache2./
< /IfModule>  
 

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 08:16 14-01-2021
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
я же вам написал все, что именно там непонятно ?)  

Цитата:
       < Proxy domain1:80>

это не так работает, так как определяет какие директивы применять при определенном запросе.
можете попробовать и так

Код:
<IfModule mod_proxy.c>  
          ProxyRequests Off
          <Proxy "http://domain1/*">  
           Require all granted
           ProxyPass  / http://local.apache1./
           ProxyPassReverse  / http://local.apache1./
          </Proxy>  
          <Proxy "http://domain2/*">  
           Require all granted
           ProxyPass  / http://local.apache2./
           ProxyPassReverse  / http://local.apache2./
          </Proxy>  
</IfModule>

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

Код:
<IfModule mod_proxy.c>  
          ProxyRequests Off
          <Proxy *>  
                    Require all granted
          </Proxy>
           <If "req('Host') == 'domain1'">
                    ProxyPass  / http://local.apache1./
                    ProxyPassReverse  / http://local.apache1./
           </If>
           <If "req('Host') == 'domain2'">
                    ProxyPass  / http://local.apache2./
                    ProxyPassReverse  / http://local.apache2./
           </If>
</IfModule>

Всего записей: 15113 | Зарегистр. 20-09-2014 | Отправлено: 08:21 14-01-2021 | Исправлено: Mavrikii, 08:24 14-01-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Apache


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru