Docstoc

Установка связки Apache + php + perl + ssl

Document Sample
Установка связки Apache + php + perl + ssl Powered By Docstoc
					Установка связки Apache + php + perl + ssl

Оригинал статьи находится по адресу http://www.sergeyka.h10.ru

Немного информации для ознакомления.

При написании статьи я пользовался несколькими методами описанными в

http://www.opennet.ru/base/dev/apache_php_mysql.txt.html
http://www.opennet.ru/docs/HOWTO-RU/mini/Apache-mods.html
http://www.opennet.ru/base/dev/apache2_php.txt.html
http://matt.simerson.net/computing/www/apache.shtml

но ни один из описанных методов не давал нужного результата. Пришлось
анализировать и микшировать разные способы.

Во первых я привык к стандартному расположению библиотек, настроечных
файлов, бинарных модулей, во вторых, исходя из соображения наиболее
задействованных модулей, хотелось собрать apache с не выгружаемым
модулем PHP, так как это наиболее популярный язык для написания
скриптов, и выгружаемым модулем perl, исходя из обратных соображений
:).

Была замечена грабля - apache не хочет собиратся с PHP и PERL
статическими библиотеками. Решения данной проблемы я не нашел :(
Вообщем
смотрим что получилось.

Установка производилась на FreeBSD 5.1.
Собираем Apache с потдержкой perl+php+ssl.

Качаем во временный каталог исходники:
# mkdir /usr/local/src
# cd /usr/local/src
# fetch http://www.apache.org/dist/httpd/apache_1.3.28.tar.gz
# fetch ftp://ftp.lexa.ru/pub/apache-
rus/patches_1.3.28rusPL30.18.tar.gz
Можно скачать сразу пропатчены apach - кому как нравится. Мы пойдем
другим путем.
# fetch http://perl.apache.org/dist/mod_perl-1.28.tar.gz
# fetch http://www.modssl.org/source/mod_ssl-2.8.15-1.3.28.tar.gz
# fetch -o FreeBSD.layout
http://matt.simerson.net/computing/www/apache.layout

(если к моменту прочтения статьи вы захотите установить более свежий
набор ищите ссылки по адресам
 http://ftp.epix.net/apache/dist/httpd/apache_1.3.28.tar.gz
 ftp://ftp.lexa.ru/pub/apache-rus/patches_1.3.28rusPL30.18.tar.gz
 http://www.modssl.org/source/mod_ssl-2.8.12-1.3.27.tar.gz
 http://www.openssl.org/source/openssl-0.9.6g.tar.gz
 http://perl.apache.org/dist/mod_perl-1.0-current.tar.gz
 http://se.php.net/distributions/php-4.2.3.tar.gz
)

Распаковываем:
# tar -xzf apache_1.3.28.tar.gz
# cp patches_1.3.28rusPL30.18.tar.gz
apache_1.3.28/patches_1.3.28rusPL30.18.tar.gz
#   cd apache_1.3.28
#   tar -xzf patches_1.3.28rusPL30.18.tar.gz
#   cd ..
#   tar -xzf mod_perl-1.28.tar.gz
#   tar -xzf mod_ssl-2.8.15-1.3.28.tar.gz

Конфигурим
# cd mod_ssl-2.8.15-1.3.28
# ./configure --with-apache=../apache_1.3.28 --with-ssl=/usr --enable-
shared=ssl \
               --with-mm=/usr/local
# cd ../mod_perl-1.28
# perl Makefile.PL DO_HTTPD=1 USE_APACI=1 APACHE_PREFIX=/usr/local
EVERYTHING=1 \
       APACI_ARGS='--server-uid=www, --server-gid=www, --enable-
module=so \
       --enable-module=most, --enable-shared=max --disable-
shared=perl, \
       --enable-module=perl, --with-layout=../FreeBSD.layout:FreeBSD,
\
       --without-confadjust'
# make test
# cd ../apache_1.3.28
# make certificate TYPE=custom
  (Прошу!!! Не задавайте вопросов по поводу того как заполнять данные
сертификата.
  Проявите сообразительность!)
# rm /usr/local/etc/apache/httpd.conf
   (Если сервер ранее не настраивался) Если этого не сделать прийдется
   ручками править настройку SSL
# cd ../mod_perl-1.28
# make install

# cvsup -g /etc/cvsup-ports
  (учитываем, что свежие порты подразумевают использование свежего
apache
  и соответствующих ему модулей)
# cd /usr/ports/www/mod_php4
# make
  (В диалоге добавляем те функции работу которых будут использовать
скрипты php)
# make install

# ee /usr/local/etc/rc.d/startssl.pl

Записываем скрипт автоподстановки пароля при запуске
#!/usr/bin/perl
print "<пароль для сертификата>\n";

Выставляем права для скрипта
# chmod +x /usr/local/etc/rc.d/startssl.pl

# ee /usr/local/etc/apache/httpd.conf

Для автозаполнения пароля
Строчку вида
SSLPassPhraseDialog builtin
Меняем на
SSLPassPhraseDialog exec:/usr/local/etc/rc.d/startssl.pl
Находим блок из множества
AddLanguage и AddCharset
По окончанию блока пишем
AddDefaultCharset Windows-1251
Находим
AddType application/x-tar .tgz
После нее добавляем
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Находим
#AddType text/html .shtml
#AddHandler server-parsed .shtml
Снимаем коментарии
AddType text/html .shtml
AddHandler server-parsed .shtml

Редактируем под себя :) (Минимум - поставить Имя сервера, чтобы не
ругалось при запуске)

# /usr/local/sbin/apachectl startssl

В логах ищем "Apache/1.3.28 (Unix) mod_perl/1.28 PHP/4.3.3RC4
mod_ssl/2.8.15 OpenSSL/0.9.7a"

проверяем работу mod_perl

# chown www:www /usr/local/www/cgi-bin/test-cgi
# chmod 500 /usr/local/www/cgi-bin/test-cgi

В браузере набираем
http://www.myd.ru/cgi-bin/test-cgi

Будем считать, что настройка завершена :)

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:5
posted:2/24/2010
language:Russian
pages:3