Оптимизация Apache 2.2 | Apache

Смотрим вывод top обращаем внимание на размер процессов httpd.
У меня почти с дефолтным набором модулей размер SIZE (это показатель того сколько памяти резервирует под себя процесс) одного процесса httpd равен 82148k.

Задача – сделать процесс апача как можно легче минимальными усилиями. Будем отключать загрузку модулей в конфиге(httpd.conf). Наверное правильнее перекомпилировать апач, но такой вариант позволяет более оперативно управлять конфигурацией сервера, что-то оперативно включать, что-то удалять.

Продолжить чтение →

Активность по ip адресу | Apache

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

#sort /var/log/httpd-access.log | awk '{print $1}' | uniq -c | sort -n > /tmp/who

Получаем список – количество вхождений, и айпи.

23 182.24.23.5
24 23.10.234.54
27 129.34.25.333
и т.д.

Кстати ограничить количество соединений на 80 порт можно строкой фаервола (ipfw):

${fwcmd} add allow tcp from any to me 80 limit src-addr 200

После src-addr пишем количество одновременных коннектов с одного айпи.

Software caused connection abort: mod_fcgid: error reading data from FastCGI server, referer | Apache

Продублирую описание ошибки из предыдущей статьи потому как в рунете решения не нашёл, а видно что случается…

Если после настройки fcgid под apache22 мы получили при заходе на страницу Internal Server Error, а в логах апача такую строку:

[warn] [client 223.45.3.19] (53)Software caused connection abort: mod_fcgid: error reading
 data from FastCGI server, referer: http://server.ru/index.php
[error] [client client 223.45.3.19] Premature end of script headers: index.php, referer: 
http://server.ru/

Стоит проверить права на запуск скрипта php-wrapper (или как он у вас называется) и php-cgi. Скрипт должен быть доступен на запуск для пользователя (или группы) под которым работает апач.

Настраиваем fcgid под apache22 во FreeBSD | Apache, FreeBSD

Для увеличения производительности веб сервера сегодня ставим fcgid на апач (сервера у меня не настолько загружены чтобы переходить на nginix или lighttpd). Mod_fcgid написан специально для апача второй ветки и является продолжением разработки fastCGI.

Продолжить чтение →

Apache 2.2.16 configure: error: the –with-apr parameter is incorrect | Apache, FreeBSD

Тривиальная проблема – не собирается порт.
Нужно обновить апач до 2.2.16
Делаем portsnap fetch, portsnap update.
Пробуем обновиться с помощью portupgrade:

#portupgrade -f apache

Не проходит. Пробуем деинсталлировать порт и поставить заново:

#cd /usr/ports/www/apache22
#make deinstall
#make

Получаем ту же ошибку:

# make
===>   apache-2.2.16 depends on file: /usr/local/bin/perl5.8.9 - found
===>   apache-2.2.16 depends on file: /usr/local/bin/autoconf-2.62 - found
===>   apache-2.2.16 depends on package: libtool>=2.2 - found
===>   apache-2.2.16 depends on shared library: expat.6 - found
===>   apache-2.2.16 depends on shared library: apr-1 - found
===>   apache-2.2.16 depends on shared library: pcre.0 - found
===>   apache-2.2.16 depends on shared library: iconv.3 - found
===>  Configuring for apache-2.2.16
checking for chosen layout... FreeBSD
checking for working mkdir -p... yes
checking build system type... i386-portbld-freebsd7.2
checking host system type... i386-portbld-freebsd7.2
checking target system type... i386-portbld-freebsd7.2

Configuring Apache Portable Runtime library ...

checking for APR... configure: error: the --with-apr parameter is incorrect. 
It must specify an install prefix, a build directory, or an apr-config file.
===>  Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/apache22/work/httpd-2.2.16/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.

Ругается на APR (что это такое можно почитать здесь: http://www.rsdn.ru/article/files/libs/apr.xml)
Если не используем – комментируем опции в Makefile

#--with-apr=${LOCALBASE}/bin/apr-1-config \
#--with-apr-util=${LOCALBASE}/bin/apu-1-config

Далее собираем ставим как обычно.

Apache с поддержкой ssl и аутентификацией | Apache

По сути шпаргалка для себя, поскольку тема описана в инете миллион раз, но как-то временами очень разрозненно. Итак задача – для ограничения пользователей к вебинтерфейсу какого-нибудь вебсервиса закрыть директорию апача паролем и предотвратить перехват пароля шифрованием с помощью openssl, плюс прописать сети из которых доступ к апачу разрешён, и закрыть всё это дополнительно фаерволлом… Продолжить чтение →

Failed to enable the ‘httpready’ Accept Filter | Apache

В принципе проблема не нова и где только не описана – но продублирую у себя для себя же. :)

В apache 2.2 при по-сути дефолтных настройках апач при запуске ругается:

[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

Лечится так (сорри за почти откровенный копипаст из сети): Продолжить чтение →