msgbartop
Главное задаться целью
msgbarbottom




23 Авг 10 Apache install

Логотип апачаМодули могу быть вмонтированы и код сервера или подключаться динамически DSO.
–enable-modules=»MODULE-LIST» – вмонтировать в код
–enable-mods-shared=»MODULE-LIST» – DSO
–enable-MODULE – вмонтировать в код
–enable-MODULE=shared – DSO
–disable-MODULE – не компилировать указанный модуль вообще
Вот пример всех сразу:
./configure –enable-rewrite –disable-status –enable-speling=shared –enable-modules=»http dav» –enable-mods-shared=»info proxy» –disable-cgi

Вышесказанное относится к стандартным модулям. Для нестандартных модулей быть собранными вместе с Apache представляется возможным
другой путь. После инсталляции сервера в каталоге bin будет находиться сценарий apxs, с помощью которого можно будет добавлять в
работающий сервер сторонние модули! Смотрите ниже…

[MPM]
Мульти-процессорные модули.
–with-mpm=MPM, где MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}
Нас будут интересовать: prefork, worker & perchild
1. Prefork – с этим модулем проходит компиляция по-умолчанию. При старте сервера процесс, запущенный от root, слушает 80 порт
и при поступлении запроса делает fork с пониженными привилегиями пользователя User и группы Group. Подобным образом работает
apache 1.3.x. Здесь речь идет только о процессах, а не о потоках. Потоков здесь нет. В этом режиме настройки очевидны
StartServers – сколько пре-fork серверов стартует при запуске
MinSpareServers – сколько min. держать свободных pre-fork серверов
MaxSpareServers – сколько max. держать свободных pre-fork серверов
MaxClients – сколько pre-fork серверов может быть одновременно. Фактически это – кол-во пользователей, кот. могут быть подключены одновременно
MaxRequestsPerChild – через сколько запросов pre-fork сервер будет уничножен и заместо него создастся новый

2. Worker – промежуточная версия между сервером, основанном на процессах и потоках. Здесь главный процесс, запущенный от root, слушает 80
порт, запускает несколько процессов  с пониженными привилегиями пользователя User и группы Group, но все запросы обслуживают потоки,
запущенные от этих процессов. Настройка здесь уже не такая очевидная:
StartServers – сколько пре-fork серверов стартует при запуске
MinSpareThreads
MaxSpareThreads – серверо будет держать кол-во свободных потоков в этих рамках. Свободные потоки – это сумма потоков во всех процессах
MaxClients – максимально кол-во одновременных клиентов. Т.е. макс. кол-во потоков во всех процессах
ThreadsPerChild – сколько потоков может создавать каждый процесс. Т.о. если мы разделим MaxClients на ThreadsPerChild, то получим сколько макс.
процессов будет создано при максимальной загрузке.
ServerLimit – сколько макс. процессов может быть. Естественно, это число должно быть не меньше MaxClients/ThreadsPerChild – числа
процессов при макс. нагрузке.
ThreadLimit – граница кол-ва потоков у одного процесса. Ествественно, должно быть не меньше ThreadsPerChild
MaxRequestsPerChild – через сколько запросов уничтожается процесс (или поток????)

3. perchild – нестабильный. Его работа похожа на worker с тем отличием, что он может запускать потоки от разного пользователя/группы
для каждого виртуального сервера.
NumServers – столько процессов запускается при старте
StartThreads – каждый процесс запускает столько потоков
MinSpareThreads
MaxSpareThreads – серверо будет держать кол-во свободных потоков в этих рамках. Свободные потоки – это сумма потоков во всех процессах
MaxThreadsPerChild – макс. число потоков в каждом процесс. Т.о. макс. число потоков равно NumServers * MaxThreadsPerChild
В настройках виртуальных серверов:
AssignUserID user-id group-id – поток будет выполняться с id user/group

[PHP]
Необходимо выбрать, как будет запускаться php в апаче – как модуль или как cgi-приложение. Быстрее, конечно, будет работать как модуль, но как
cgi есть возможность с помощью suexec поменять user/group скрипта, что есть очень хорошо.
1. Компиляция как модуля. Для этого исп. сценарий apxs.
2. Компиляция как cgi. Просто комплируем php, не указывая ни –with-apxs2, ни –with-apache

[компиляция апача+php]
Итак, сделан ./configure && make && make install, после чего переходим к исходникам php
1. Компиляция как модуль apache
В configure обязательно добавляем –with-apxs2=/path/to/apxs – таким образом в каталог с DSO модулями будет добавлен свежескомпилированный
модуль php. После чего в httpd.conf добавляем
LoadModule php4_module libexec/libphp4.so – загружаем модуль
AddType application/x-httpd-php .php .php4 – указываем, с какими расширениями файлы обслуживаются php
2. Компиляция как cgi
./configure –enable-force-cgi-redirect – обязательно указываем этот параметр. Он предотвращает _прямое_ обращение к интерпретатору php.
После чего в _каждую_ директорию ScriptAlias мы копируем бинарник php и файл php.ini
ScriptAlias /cgi-bin/ «/path/to/user/cgi-bin/» – в какой директории будут cgi
AddType application/x-httpd-php .php .php4 – добавляем новый тип по расширению
Action  application/x-httpd-php /cgi-bin/php – и указываем этому типу обращаться к php

Tags: , , , , , , ,

20 Июл 10 Создание SSL сертификатов для связки Apache и mod_ssl

Логотип апачаКороткий рассказ об SSL

Эта глава будет очень коротким введением в SSL, Secure Socket Layer. Криптография очень обширная тема, которая составляет буквально тома материалов. Последующий материал . это очень упрощенный взгляд на то, как реализован SSL и какую роль сертификаты играют в рассматриваемом нами случае. В силу того, что информация намеренно упрощена, возможны небольшие неточности.

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

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

Если SSL использует криптографию с открытым ключом, для того чтобы шифровать поток данных идущих через Интернет, зачем же тогда нужен сертификат? Технический ответ на этот вопрос, такой, что сертификат на самом деле не нужен . данные зашифрованы и вряд ли могут быть дешифрованы третьей стороной. Однако сертификаты играют важную роль в коммуникационном процессе. Сертификат, подписанный доверенным СА (Certificate Authority), дает гарантию, что владелец сертификата . тот за кого он себя выдает. Без подписанного сертификата ваши данные будут зашифрованы, однако, сервер, с которым вы контактируете может быть не тем о котором вы думаете. Без сертификатов такие нарушения могут быть часты.

Генерация частного ключа и CSR

Программный пакет openssl может быть использован для генерации приватного RSA ключа и создания CSR. Он так же может быть использован для создания самоподписных сертификатов которые могут быть использованы для тестовых целей или внутреннего пользования. Программа, которая обычно используется для решения этих задач, известна как openssl. Она должна быть установлена в директории /usr/local/ssl. Может быть, вам придется добавить эту директорию в переменную PATH или же переместить эту программу в директорию, которая уже прописана в переменной PATH, для того чтобы не писать полный путь. Дальнейшие примеры полагают, что openssl доступен вам без необходимости писать полный путь. (далее…)

Tags: , , , , , , , , , , , ,

05 Апр 10 Установка mod_rpaf на Debian (устранение неверного определения адресов посетителей в связке nginx+apache)

Логотип апачаУстановка mod_rpaf на Debian
Сначала устанавливаем необходимые компоненты и Perl-модули:

apt-get install libhtml-parser-perl
apt-get install libwww-perl
apt-get install libcompress-zlib-perl

Альтернативно вы можете установить Perl-модули из CPAN, но тогда зависимости(коих не мало) придется в ручную разруливать.
Поэтому я предпочитаю apt-get в дебиане. (далее…)

Tags: , , , , ,

04 Апр 10 Пример настройки Apache в режимах PHP как модуль (mod_php), PHP как CGI, PHP как FastCGI

Логотип апачаКак настроить PHP у web-сервера Apache  в режимах PHP как модуль (mod_php), PHP как CGI, PHP как FastCGI, что и где менять в конфигурации при настройке этих режимов при настройке сервера.
Это должен взять на заметку каждый системный администратор, краткая шпаргалка по настройке PHP

Настройка PHP как модуль Apache (mod_php)

LoadModule php5_module        libexec/apache22/libphp5.so

<VirtualHost *>
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
</VirtualHost >

(далее…)

Tags: , , , , , , , , , , , , , , , , , , , ,

03 Апр 10 Как защитить Apache от script kiddies

Логотип апачаПо-умолчанию, после установки на Debian Lenny, Apache всем везде радостно показывает не только OS, не только свою версию, но еще и версии всех установленных модулей.  Это сильно упрощает работу потенциального взломщика. Сильно усложнить им жизнь поможет изменение настроек безопасности в конфиге Aapache (в примере минимизация показываемой информации):

$ sudo nano /etc/apache2/conf.d/security
ServerTokens Prod
#ServerTokens Full
#
ServerSignature Off
#ServerSignature On
$ sudo apache2ctl graceful

(далее…)

Tags: , , , ,

24 Мар 10 Установка apache 1.3 с поддержкой suexec

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

setenv WITH_APACHE_SUEXEC yes
setenv APACHE_SUEXEC_DOCROOT /home
setenv APACHE_SUEXEC_LOG /var/log/apache/suexec_log

Устанавливам apache.

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

Правим httpd.conf

CustomLog  /var/log/apache/access_log combined
ErrorLog /var/log/apache/error_log

AddHandler cgi-script .cgi .pl
AddType text/html .shtml
AddHandler server-parsed .shtml

<Directory /home/*/*/public_html>
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec +ExecCGI
AllowOverride All
</Directory>

<Directory /home/*/*/public_html/cgi>
Options -Indexes
AllowOverride All
</Directory>

NameVirtualHost a.b.c.d:80
<VirtualHost a.b.c.d:80>
ServerName www.mysite.ru
ServerAlias mysite.ru
DocumentRoot /home/www/username/public_html
ScriptAlias /cgi /home/www/username/public_html/cgi
ServerAdmin email@user.ru
ErrorLog /var/log/apache/www/username/error_log
CustomLog /var/log/apache/www/username/error_log combined
User   username
Group  virtwww
</VirtualHost>

В принципе, вместо прописывания для каждого сервера конфигурации в httpd.conf можно использовать модуль mod_vhost_alias. Документация для него доступна на сайте http://httpd.apache.org.

Tags: , , ,



Каталог TUT.BY Rating All.BY Rambler's Top100 Каталог на TIGA.BY, а также  новости, работа, объявления, фото и многое другое NP.BY - Новый портал. Почта, чат, погода, авто, объявления, рефераты. Каталог на interby.net Первый Каталог - Предложения продавцов, каталог цен
Раскрутка сайтов