Здравствуйте!!!
Помогите мне пожалуйста. Я устанавливаю в FreeBSD Apache 1.3.37rusPL3.
1. Я установил mod_perl (#perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache-1.3.27/src USE_APACI=1 PREF_HTTPD=1 DO_HTTPD=1
#make
#make install
)2. Затем PHP4 (#./configure --prefix=/usr --with-apache=../apache_1.3.27
--with-config-file-path=/usr/local/apache/conf --disable-debug --enable-safe-mode
--enable-inline-optimization --with-gnu-ld --enable-memory-limit --with-mysql --with-pgsql
#make
#make install
)
3. Потом сам Apache ( #./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=php4
--activate-module=src/modules/perl/libperl.a --enable-module=perl
#make
#make install
)На этапе сборки, он не находит PL_stack_base, XS_Apache__Table_dp, boot_Apache_Table и.т.д
Что мне делать? Что я делаю не так?
Спасибо
А почему не из портов? Ведь так проще и легче.cd /usr/ports/www/apache13
make install cleancd /usr/ports/www/mod_perl
make install cleancd /usr/ports/lang/php4
make instyall cleanе что нужно для сборки потянет и установит сам. Я вообщето не любитель apache russian
но если очень нужно, то
cd /usr/ports/russian/apache13
make install clean
приём порядок должен быть именно таким. сперва апач, а потом всё остальное.
>приём порядок должен быть именно таким. сперва апач, а потом всё остальное.
>На сколько я понимаю, если устанавливать сразу apache, он не найдет модулей PHP, Perl в каталоге apache/src/modules, так как их там не будет. Поэтому я устанавливаю сначала PHP, затем mod_perl и в конце сам Apache.
>[оверквотинг удален]
>make install clean
>
>cd /usr/ports/lang/php4
>make instyall clean
>
>е что нужно для сборки потянет и установит сам. Я вообщето не
>любитель apache russian
>но если очень нужно, то
>cd /usr/ports/russian/apache13
>make install cleanИз портов я не устанавливаю так как у меня их нет. Может проблема в установке mod_perl непример, нужна новая версия Perl?
>Из портов я не устанавливаю так как у меня их нет. МожетНо исходники откуда то берете, качаете?
Ладно, вот попадалась как то на глаза чуть ли не степ бай степ, сохранил на винт, когда также врукопашную устанавливал, стренькое уже руководство, подправите сами., надеюсь меня не убьют за этот пост :))
Сборка веб-сервера
------------------Распаковываем архивы:
# tar xvfz apache_1.3.33.tar.gz
# tar xvfz mod_perl-1.29.tar.gz
# tar xvfj php-4.4.0.tar.bz2
# tar xvfz mod_ssl-2.8.24-1.3.33.tar.gz
# tar xvfz openssl-0.9.8.tar.gz
# tar xvfz mysql-4.0.25.tar.gzУстанавливаем openssl
# cd openssl-0.9.8
# sh config no-idea no-threads -fPIC
# make
# make test
# make all
# make installВнедрение модуля mod-ssl в исходный код apache
# cd ../mod_ssl-2.8.24-1.3.33
# ./configure --with-apache=../apache_1.3.33 --with-ssl=../openssl-0.9.8
--prefix=/usr/local/apacheВыполняем конфигурацию apache
# cd ../apache_1.3.33
# ./configure --prefix=/usr/local/apache --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/usr/local/apache/conf --logfiledir=/var/log/apache
--datadir=/usr/local/apache/dataУстанавливаем базу данных mysql:
# cd ../mysql-4.0.25
# ./configure --with-innodb
# make
# make install
# ./scripts/mysql_install_db
# /usr/local/bin/mysqld_safe --user=root & - Данную строку необходимо добавить в автозагрузку,
т. е. в файл /etc/rc.localЕсли у вас много оперативной памяти и много таблиц, можно попробовать
использовать следующую оптимизацию. Запускем mysqld следующим образом.# /usr/local/bin/mysqld_safe --user=root -O key_buffer=64M -O table_cache=256
-O sort_buffer=4M -O record_buffer=1M &Эту строчку надо добавить в автозагрузку, т. е. в файл /etc/rc.local
key_buffer - Величина буфера в байтах, который используется для индексов.
Рекомендуется увеличить его, если используется много insert и delete запросов.sort_buffer - Под каждый поток, который использует сортировку order by group by
выделяется количество памяти, определённое этим параметром, поэтому, при большом
количестве памяти следует увеличить этот параметр.record_buffer - При последовательном сканировании таблиц, например, при
использовании insert, под каждую таблицу выделяется память, определяемая этим
параметром. Его также следует увеличить в целях увеличения производительности
базы данных.После такой оптимизации mysql работает значительно быстрее.
Если оперативной памяти немного, то mysql запускаем стандартным способом
# /usr/local/bin/mysqld_safe --user=root &
Эту строчку надо добавить в автозагрузку, т. е. в файл /etc/rc.local
# /usr/local/bin/mysqladmin -u root password 'пароль'
# ldconfig -im /usr/local/lib/mysql
Эту директорию надо прописать в файлах конфигурации системы и добавить в
автозагрузку в файл /etc/rc.local, чтобы после перезагрузки было известно где
искать файл библиотеки libmysqlclient.so.10
Устанавливаем PHP# cd ../php-4.4.0
# ./configure --prefix=/usr --with-apache=../apache_1.3.33
--with-config-file-path=/usr/local/apache/conf --disable-debug --enable-safe-mode
--enable-inline-optimization --with-gd=/usr/local --with-gnu-ld
--enable-memory-limit --with-mysql --with-zlib
# make
# make installВнедрение модуля mod_perl в исходный код apache
# cd ../mod_perl-1.29
# perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache-1.3.33/src USE_APACI=1
PREF_HTTPD=1 DO_HTTPD=1
# make
# make installНа этом все приготовления закончены, переходим к компиляции apache
# cd ../apache_1.3.33
# ./configure --prefix=/usr/local/apache --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/usr/local/apache/conf --logfiledir=/var/log/apache
--datadir=/usr/local/apache/data --localstatedir=/var --runtimedir=/var/run
--enable-module=ssl --enable-rule=SSL_SDBM --disable-rule=SSL_COMPAT
--activate-module=src/modules/php4/libphp4.a --enable-module=php4
--activate-module=src/modules/perl/libperl.a --enable-module=perl
--disable-module=status --disable-module=userdir --disable-module=autoindex
--disable-module=asis --disable-module=imap --disable-module=env
--disable-module=actionsНа момент конфигурирования веб сервера libphp4.a libperl.а еще не созданы и
если у вас появится ошибка, то не удивляйтесь, если не найдете их в каталоге,
откуда, якобы, они должны подключаться:src/modules/php4/libphp4.a
src/modules/perl/libperl.аНо если в этих каталогах пусто, то вы сделали что то не так и ошибку следует
искать в инсталлировании mod-perl либо в mod-php, в зависимости от того какая
директория пуста. Я, например, почему-то забыл выполнить make install для mod-php
и после инсталляции и повторном конфигурировании apache, всё прошло успешно.
# make
# make certificateПоследуют вопросы о фирме месте расположения и т.д. для сертификата.
На вопрос Encrypt the private key now? ответить нет
на остальные вопросы отвечать по вкусу.# make install
Всё, apache скомпилирован и установлен.
Запуск apache с поддержкой протокола https# cd /usr/sbin
# ./apachectl startsslДля проверки работоспособности сервера, следует набрать его адрес в броузере, т. е.,
примерно, следующее:или так:
Открываем http.conf и добавляем index.php, index.pphp и index.php3 после index.html
DirectoryIndex index.html index.php index.pphp index.php3
Для того чтоб выполнялись файлы написанные на php и php3 добавляем следующие записи:
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php3-source .phpsРасскомментировать строки для выполнения server-parsed HTML files:
AddType text/html .shtml
AddHandler server-parsed .shtmlВ директории /usr/local/apache/data/cgi-bin для выполнения cgi скриптов следует изменить
Options NONE
на
Options ExecCGI
Находим строчкуSSLPassPhraseDialog builtin
и заменяем её на
SSLPassPhraseDialog exec:/usr/local/etc/rc.d/startssl.pl
(но это только в том случае, если на вопрос Encrypt the private key now? ответили да)
После этого, создаём файл startssl.pl в директории /usr/local/etc/rc.d и записываем в него
своё секретное_слово, указанное при криптовании и сборк-компиляции apache.# touch /usr/local/etc/rc.d/startssl.pl
# ee /usr/local/etc/rc.d/startssl.pl
#!/usr/bin/perl
print "секретное_слово\n"# chmod 700 /usr/local/etc/rc.d/startssl.pl
Открываем php.ini (или создаём вначале, если таковой отсутствует) и меняем
# touch /usr/local/apache/conf/php.ini
# ee /usr/local/apache/conf/php.ini
register_globals = off
на
register_globals = on
также добавляем в нём следующие строки для библиотеки gdsafe_mode = off
extension_dir = /usr/local/libПримерный файл /etc/rc.local
/sbin/ldconfig -im /usr/local/lib/mysql
/usr/local/bin/mysqld_safe --user=root &
/usr/sbin/apachectl startssl