Ключевые слова:freebsd, web, apache, install, howto, (найти похожие документы)
Date: Tue, 18 Mar 2003 18:27:13 +0500
From: Vadim Tzirulnicov <tz@nc.ru>
Newsgroups: ftn.ru.unix.bsd
Subject: Пошаговая установка WEB-сервера под FreeBSD
Расписал тут пошаговую установку WEB-сервера на фрею. Она верна ? Особое
внимание прошу обратить на то, корректно ли --with-perl=/usr/bin/perl в
configure'е apache'а и саму установку perl (обращаться скриптами собираюсь к
#!/usr/bin/perl, вроде, по умолчанию perl делает симлинк /usr/bin/perl к
/usr/local/bin/perl ?)
Какие у вас будут по нижеприведённому возражения/дополнения ?
Установка openssl - в оригинальном варианте инструкции она заканчивается
командой "make test", но ведь необходимо ещё и "make install", или я тут в
данном случае не прав ?
Ставить надо на сервер 486-DX4-100/16Mb/40Gb HDD.
Partitions:
/ - 256Mb (symlinks "/tmp" to "/usr/tmp" directory)
swap - 3000Mb (на всякий случай, с запасом на будущее :))
/var - 256Mb
/usr - 33Gb
---------------То, что прошу вас проверить-----------------
#cd /usr/src
Распаковываю архивы:
#tar xvfz apache_1.3.27.tar.gz
#tar xvfz mod_perl-1.27.tar.gz
#tar xvfz perl-5.8.0.tar.gz
#tar xvfz php-4.3.1.tar.gz
#tar xvfz mod_ssl-2.8.12-1.3.27.tar.gz
#tar xvfz openssl-engine-0.9.6b.tar.gz
#tar xvfz mysql-3.23.56.tar.gz
#tar xvfz postgresql-7.3.2.tar.gz
Устанавливаем openssl
#cd openssl-engine-0.9b
#sh config no-idea no-threads -fPIC
#make
#make test
Внедрение модуля mod-ssl в исходные коды apache
#cd ../mod_ssl-2.8.12-1.3.27
#./configure --with-apache=../apache_1.3.27 --with-ssl=../openssl-engine-0.9
.6b
--prefix=/usr/local/apache
Выполняю конфигурацию apache
#cd ../apache_1.3.27
#./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 и часть под PostgreSQL. Поэтому
необходимо установить обе базы данных. Дело в том что MySQL не поддерживает
вложенные запросы кроме MySQL 4 версии которая на момент написания статьи
находилась в разработке. Поэтому встала необходимость выбора второй базы
данных которая поддерживает вложенные запросы.
Устанавливаю базы данных:
#cd mysql-3.23.56
#./configure
#make
#make install
#./scripts/mysql_install_db
#mysqladmin -u root password 'ввести пароль администратора'
#safe_mysqld --user=root& Данную строку необходимо добавить в автозагрузку.
У меня много памяти (32M) и много таблиц поэтому использую следующую
оптимизацию. Запуская mysqld следующим образом.
#safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O
record_buffer=1M &
key_buffer Величина буфера в байтах который используется для индексов.
Рекомендуется увеличить его используется много insert и delete запросов.
sort_buffer Под каждый поток который использует сортировку order by group by
выделяется количество памяти определенное этим параметром поэтому при
большом количестве памяти следует увеличить этот параметр.
record_buffer При последовательном сканировании таблиц например при
использовании
insert под каждую таблицу выделяется память определяемая этим параметром.
Его также следует увеличить в целях увеличения производительности базы
данных.
Для компиляции PostgreSQL нужен gmake
Устанавливаю его с портов.
#cd /usr/ports/devel/gmake
#make
#make install
Для того чтоб обновились пути к gmake перевхожу в систему.
Устанавливаю PostgreSQL
#cd ../postgesql-7.3.2
#./configure
#gmake
#gmake install
#adduser postgres
#chown -R /usr/local/pgsql
#su postgres
#cd /usr/local/pqsql/bin
#./initdb -D /usr/local/pgsql/data
#./postamster -D /usr/local/pgsql/data & эту
строку следует включить в автозагрузку системы #./createdb test
Устанавливаю PHP
#cd /src/php-4.3.0
#./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
Устанавливаю Perl
#cd /src/perl-5.8.0
#rm -f config.sh Policy.sh
#sh Configure
#make
#make test
#make install
Внедрение модуля mod_perl в исходный коды apache
#cd ../mod_perl-1.27
#perl Makefile.PL EVERYTHING=1
APACHE_SRC=../apache-1.3.27/src
USE_APACI=1 PREF_HTTPD=1
DO_HTTPD=1
#make
#make install
Hа этом все приготовления закончены перехожу к компиляции apache
#cd ../apache_1.3.27
#./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
--with-perl=/usr/bin/perl# !!!
--enable-module=ssl
enable-rule=SSL_SDBM
--desable-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
Hа момент конфигурирования веб сервера libphp4.a libperl.а еще не созданы и
если у вас появится ошибка то не удивляйтесь если не найдете их в каталоге
откуда якобы они должны подключаться:
src/modules/php4/libphp4.a
src/modules/perl/libperl.а
Hо если в этих каталогах пусто то вы сделали что то не так и ошибку следует
искать в инсталлировании mod-perl либо в pod-php в зависимости от того какая
директория пуста.
Я например почему то забыл выполнить make install для mod-php после
инсталляции и повторном конфигурировании apache все прошло успешно.
#make
#make certificate
Последуют вопросы о фирме месте расположения и т.д. для сертификата. Hа
вопрос Encrypt the private key now? ответить нет на остальные вопросы
отвечать по вкусу.
#make install