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

Автор: Aport Пятница, Январь 30th, 2015 Нет комментариев

Рубрика: Разное

Оригинал статьи находится по адресу 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

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

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты