Обсуждение статьи тематического каталога: Установка связки Apach + php + perl + ssl (apache install mod_php mod_perl ssl)Ссылка на текст статьи: http://www.opennet.me/base/dev/apache_inst.txt.html
Может быть я не прав(если правильно помню), но по умолчанию mod_perl работает с директорией cgi-perl а не cgi-bin.http://www.myd.ru/cgi-bin/test-cgi
можешь запустить и без вкрапления mod_perl.
Тут небольшая ошибочка закралась :)
в стандартной поставке test-cgi вообще не скрипт perlДля проверки нужно поместить в файл test-cgi простенкий perl скрипт
#!/usr/bin/perl
use CGI;
$so = new CGI;
print $so->header;
print "Yes! Work script PERL!\n";
и никакой проверки не получится - скрипт может быть выполнен не mod_perl :)
Ну и "грабли" вы находите ... :(=====================
Была замечена грабля - apache не хочет собиратся с PHP и PERL статическими библиотеками. Решения данной проблемы я не нашел :(
=====================gzip -dc apache_1.3.27.tar.gz | tar xvf -
cd apache_1.3.27
./configure
cd ..bzip2 -dc php-4.3.1.tar.bz2 | tar xvf -
cd php-4.3.1
rm -f config.cache
./configure\
--with-apache="../apache_1.3.27/" \
--enable-safe-mode \
--enable-magic-quotes \
--disable-short-tags \
...make && make install
cd ..cd mod_perl-1.27
/usr/bin/perl Makefile.PL \
APACHE_SRC=../apache_1.3.27/src \
DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \
APACI_ARGS=' --server-uid=webserv, \
--server-gid=webgrp, \
--enable-module=so, \
--enable-module=most, \
--enable-shared=max, \
--prefix=/usr/local/apache, \
--activate-module=src/modules/php4/libphp4.a, \
--disable-shared=perl, \
--enable-module=perl \
'make && make test && make install
apache_1.3.27/src/httpd -l
Compiled-in modules:
http_core.c
mod_so.c
mod_perl.c
mod_php4.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexecвот они, родимые, оба статичесике
также присоединяюсь к замечанию по поводу тестирования mod_perl: _таким_ методом тестируется не он, а работа механизма CGI.
по поводу mod_perl'а: неодноратно встречал замечания следующего характера - "если у вас проблемы со стабильностью работы mod_perl, то соберите его статически". Пример - http://bestpractical.com/rt/Хотя "на поиграться" сойдет и mod_perl через DSO.
Тщательнее надо, тщательнее ... (с)
А теперь то-же самое с mod_ssl а заодно посмотри в http://www.opennet.me/openforum/vsluhforumID3/1296.html#6
# 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.ta...
Можно скачать сразу пропатчены 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.ta...
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
# rm 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
# tar -jxf php-4.3.4.tar.bz2# cd apache_1.3.28
# ./configure
# cd ../php-4.3.4
# ./configure --with-apache=../apache_1.3.28 --with-mysql --enable-force-cgi-redirect --enable-sockets --with-mod_charset
# make
# make install
# cd ../mod_perl-1.28
# /usr/bin/perl Makefile.PL APACHE_SRC=../apache_1.3.28 DO_HTTPD=1 USE_APACI=1 APACHE_PREFIX=/usr/apache_ssl EVERYTHING=1
# make
# make install
# cd ../mod_ssl-2.8.15-1.3.28
# ./configure --with-apache=../apache_1.3.28 --activate-module=src/modules/php4/libphp4.a
# cd ../apache_1.3.28
# ./configure --with-layout=../FreeBSD.layout:FreeBSD --with-perl=/usr/bin/perl --activate-module=src/modules/php4/libphp4.a --activate-module=src/modules/perl/libperl.a --enable-module=ssl --server-uid=www --server-gid=www
# make
# make certificate TYPE=custom
# 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Редактируем под себя :). (А надо то по минимуму всего поправить ServerAdmin, и ServerName)
# /usr/local/sbin/apachectl startsslПроверяем наличие статических библиотек
# /usr/local/sbin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_ssl.c
mod_php4.c
mod_perl.c
suexec: disabled; invalid wrapper /usr/local/sbin/suexec