Category: Apache

Июл 07 2010

Директория без авторизации в запароленом виртуальном хосте под апачем.

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

<VirtualHost *:80>
    DocumentRoot /usr/local/www/system
    ServerName secure.hilik.kiev.ua
        <Directory /usr/local/www/system>
                AllowOverride all
        </Directory>
        <Directory /usr/local/www/system/share/>
                Satisfy Any
                AllowOverride none
                Allow from all
                Options +Indexes
        </Directory>
</VirtualHost>

Получается так, что http://secure.hilik.kiev.ua/ без авторизации описанной в .htaccess не пускает, а http://secure.hilik.kiev.ua/share — свободен для чтения всем.

Май 17 2010

Apache. Установка mod_rpaf.

При реализации балансировки вебсерверов с использованием реверсного прокси(это может быть nginx, apache с mod_proxy или pound, да в общем тут выбор богат и не имеет значения) в логах бекэнда в качестве адреса хоста запрашивающего страницы быдет виден внутренний адрес фронт энда. Это совсем плохо, сразу же теряется статистика посещейний, могут сломаться средства борьбы с брутофорсом и тд и тп.
Что бы избавится от этого, нужно установить и настроить mod_rpaf. Он способен в принятых запросах подменять заголовки, а именно подменять адрес прокси на адрес переданный в заголовке X-Forwarded-For.
Ставится mod_rpaf из портов. Есть 2 версии порта. Для первого апача: /usr/ports/www/mod_rpaf/ и для второго /usr/ports/www/mod_rpaf2/.
Ставить будем для второго, это зависит от того, какой у вас стоит апачь. В последнее время все ставят второй, поскольку первый apache более не развиваетяся. А настройка модуля не зависит от версии.
Read more »

Ноя 30 2009

Apache. Установка и настройка mod_auth_mysql.

MySQL — один из самых популярных источников данных. Используют его практически во всех задачах. Авторизация пользователей тоже одна из задач, которые так любят водружать на плечи MySQL. Для того, что бы сервер мог авторизовать пользователей через базу MySQL нужно установить дополнительные модули. В портах FreeBSD есть два порта mod_auth_mysql — под Apache 1.3 и mod_auth_mysql под Apache 2.X. Поскольку у меня стоит Apache 2.2, то я буду рассказывать об установке пората /usr/ports/www/mod_auth_mysql2. Насколько я знаю, под Apache 1.3 установка отличается незначительно, только в настройках, отвечающих за загрузку модулей.
Read more »

Ноя 20 2009

Логи Apache в syslog.

Apache пишет логи сам, это сделано из тех соображений, что при большой нагузке отправка записей по UDP(UDP используется протоколом syslog) может терять часть сообщений, ведь UDP протокол не гарантирующий доставку пакетов.
Но у Apcheвского модуля есть возможность отправлять записи на скрипт. Настройки выглядят так:

CustomLog |/usr/local/share/apache22/logging common

Read more »

Сен 30 2009

Apache. Установка и настройка mod_layout.

Под Apache разработано масса модулей, практически под все случаи и необходимости. Один из модулей mod_layout, он предназначен для принудительного добавления на страницы сайтов некоей информации. Так, как делается на бесплатных хостингах.
В первую очередь установим mod_layout. В портах FreeBSD он присутствует в трех вариантах, под апачь 1.3 — /usr/ports/www/mod_layout, под 2.0 и 2.1 — /usr/ports/www/mod_layout2/ и под apache 2.2 — /usr/ports/www/mod_layout22/. Принципиально в настройке они не отличаются и рассмотрим установку и настройку на основе Apache 1.3.
Устанавливаем:

cd /usr/ports/www/mod_layout/
make install clean

Read more »

Ноя 27 2008

Установка php 5 под Apache 1.3

Сегодня, нельзя найти практически ни одного web сервера, который бы работал без php.
Установка php 5 производится из портов в 3 этапа. Если Apache не был установлен, то его установка произойдет автоматически.
Read more »

Ноя 22 2008

Apache 1.3 + mod_ssl

FreeBSD позволяет собрать Apache с поддержкой ssl протокола из портов. Мне понадобилось это для того, что бы почта, и авторизация на веб интерфейсе почты не проходили в открытом виде по сети . Для установки apache с модулем ssl перейдем в каталог порта apache13-modssl и начнем сборку:

cd /usr/ports/www/apache13-modssl
make install

Read more »

Окт 26 2008

Apache, mod_realip

При создании ферм http серверов, обнаруживается что теперь все соединения приходят не от фактических ip адресов клиентов, обращающихся к вебсерверу, а от адресов проксирующих серверов. И после этого перестают работать баны по адресам, статистика в логах ведется не корректно и так далее и тому подобное.
Для apache версии 1.3.X существует специальный модуль, mod_realip, написанный Игорем Сысоевым.
Устанавливаем его:

cd /usr/ports/www/mod_realip/
make install clean

Теперь приступим к конфигурированию:
в первую очередь надо найти и раскоментировать такие строки в httpd.conf

LoadModule realip_module      libexec/apache/mod_realip.so

и

 AddModule mod_realip.c

Это мы подгрузили модуль mod_realip, теперь изменяем настройку виртуального сервера:

<virtualhost 127.0.0.1:80>
    DocumentRoot /home/www/hilik.org.ua
    ServerName hilik.org.ua
    #Включаем модуль для виртуал хоста
    RealIP on
    #Согласно этой настройке, если в заголовке 
    #Host: передается адрес 127.0.0.1, то его 
    #необходимо заменить на адрес передаваемый 
    #в заголовке X-Forwarded-For.
    RealIP localhost 127.0.0.1 xfwd
    <directory /home/www/hilik.org.ua>
        Options FollowSymLinks
        AllowOverride all
    </directory>
</virtualhost>

Теперь можно сделать:

apachectl configtest

и если ошибок не последовало то:

/usr/local/etc/rc.d/apache.sh restart

Украинская Баннерная Сеть