URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 2808
[ Назад ]

Исходное сообщение
"Тематический каталог: Установка связки Apach + php + perl + ssl (apache install mod_php mod_perl ssl)"

Отправлено auto_topic , 11-Ноя-03 18:03 
Обсуждение статьи тематического каталога: Установка связки Apach + php + perl + ssl (apache install mod_php mod_perl ssl)

Ссылка на текст статьи: http://www.opennet.me/base/dev/apache_inst.txt.html


Содержание

Сообщения в этом обсуждении
"Установка связки Apach + php + perl + ssl (apache install mod_php mod_perl ssl)"
Отправлено co6aka , 11-Ноя-03 18:03 
Может быть я не прав(если правильно помню), но по умолчанию mod_perl работает с директорией  cgi-perl а не cgi-bin.

http://www.myd.ru/cgi-bin/test-cgi

можешь запустить и без вкрапления mod_perl.


"Установка связки Apach + php + perl + ssl (apache install mo..."
Отправлено SergeyKa , 11-Ноя-03 18:50 
Тут небольшая ошибочка закралась :)
в стандартной поставке test-cgi вообще не скрипт perl

Для проверки нужно поместить в файл test-cgi простенкий perl скрипт
#!/usr/bin/perl
use CGI;
$so = new CGI;
print $so->header;
print "Yes! Work script PERL!\n";


"Установка связки Apach + php + perl + ssl (apache install mo..."
Отправлено Hamlet , 13-Ноя-03 03:36 
и никакой проверки не получится - скрипт может быть выполнен не mod_perl :)

"Установка связки Apach + php + perl + ssl (apache install mod_php mod_perl ssl)"
Отправлено SigmaD , 16-Ноя-03 00:12 
Ну и "грабли" вы находите ... :(

=====================
Была замечена грабля - 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.


Тщательнее надо, тщательнее ... (с)


"Установка связки Apach + php + perl + ssl (apache install mo..."
Отправлено SergeyKa , 17-Ноя-03 11:44 
А теперь то-же самое с mod_ssl а заодно посмотри в http://www.opennet.me/openforum/vsluhforumID3/1296.html#6

"Смотрим провереный вариант сборки со статическими модулями :)"
Отправлено SergeyKa , 19-Ноя-03 16:12 
# 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