Документация по ОС FreeBSD Суббота, 04.05.2024, 03:44
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Apache

Установка связки Apache + php + perl + ssl
Оригинал статьи находится по адресу http://www.sergeyka.h10.ru

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

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

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

Во первых я привык к стандартному расположению библиотек, настроечных файлов, бинарных модулей, во вторых, исходя из соображения наиболее задействованных модулей, хотелось собрать 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

Распаковываем:
# 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

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

Автор: Сергей Кузнецов

Категория: Apache | Добавил: oleg (06.11.2007)
Просмотров: 1404 | Рейтинг: 4.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024