пятница, июля 28, 2006

Установка Apache+PHP+PERL+SSL

Создадим папку
mkdir /usr/local/src

Apache тянем с http://www.apache.org/
mod_perl с http://perl.apache.org/
mod_ssl с http://www.modssl.org/
php с http://php.net/
FreeBSD.layout с http://matt.simerson.net/computing/www/apache.layout

Для PHP тянем
zlib с www.gzip.org/zlib/ --> ./configure -prefix=/usr/local/zlib --> make install
GD --> /usr/port/grafics/gd --> make install
curl --> /usr/port/ftp/curl --> make install
Распаковываем Apache, mod_perl, mod_ssl, PHP в папку /usr/local/src
cd apache_1.3.34 (к примеру)
./configure
cd php-4.4.1

./configure --with-apache=../apache_1.3.34 --with-mysql=/usr/local --with-gd=/usr/local --with-zlib=/usr/local/zlib --enable-force-cgi-redirect --enable-sockets --with-mod-charset --with-xml --with-curl=/usr/local/lib


make
make install

Копируем из исходников php.ini в папку /usr/local/lib


cd mod_perl-1.29

/usr/bin/perl Makefile.PL APACHE_SRC=../apache-1.3.34 DO_HTTPD=1 USE_APACI=1 APACHE_PREFIX=/usr/apache_ssl EVERYTHING=1


make
make install


cd mod-ssl-2.8....
./configure --with-apache=../apache_1.3.34 --activate-module=src/modules/php4/libphp4.a

cd apache_1.3.34 (если надо будет пересобрать apache нужно удалить httpd)


./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 --activate-module=src/modules/standard/mod_rewrite.c --activate-module=src/modules/standard/mod_vhost_alias.c


make
make certificate TYPE=custom
make install


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

содержание startssl.pl


#!/usr/bin/perl
print "<пароль для сертификата>\n";


chmod +x /usr/local/etc/rc.d/startssl.pl

ee /usr/local/etc/rc.d/apache.sh

содержимое apache.sh


#!/bin/sh
/usr/local/sbin/apachectl starssl


Редактируем /usr/local/etc/apache/httpd.conf


SSLPassPhraseDialog exec:/usr/local/etc/rc.d/startssl.pl

Server admin name@company.com

DocumentRoot "/usr/local/www"

<directory>
Options FollowSymLinks
AllowOverride All
</directory>

<directory>
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</directory>

<ifmodule c="">
DirectoryIndex index.html index.php
</ifmodule>

UseCanonicalName Off

#В секции LogFormat все строки ремим и пишем свою
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon

CustomLog /var/log/access log vcommon

#Секцию aliases ремим

#Находим AddType application/x-tar .tgz после добавим

AddType application/x-httpd-php .php
AddTipe application/x-httpd-php-source .phps

#Section3: Virtual Hosts
VirtualDocumentRoot /usr/local/www/%0/html
VirtualScriptAlias /usr/local/www/%0/cgi-bin




Обсудить сообщение можно в форуме admins.arg.su

Комментариев нет: