Устанавливаем Apache и Subversion на OpenBSD


Описанная в этой статье процедура установки системы контроля версий Subversion и веб-сервера Apache на систему с установленной ОС OpenBSD из исходных кодов может быть с одинаковым успехом проделана на любой Linux- или UNIX-системе, на которой могут быть собраны перечисленные в статье пакеты.

Пакеты
Для выполнения поставленной задачи потребуются следующие пакеты:

db-4.4.20.tar.gz - библиотека Berkeley DB
httpd-2.0.59.tar.gz - веб-сервер Apache
neon-0.26.1.tar.gz - библиотека neon
python-2.5.tgz - Python
subversion-1.4.3.tar.gz - Subversion
Berkeley DB 4.4.20
Поскольку Subversion требует чтобы APR (Apache Portable Runtime) была собрана с поддержкой Berkeley DB, сначала соберём эту библиотеку:

# tar zxvf db-4.4.20.tar.gz
# cd db-4.4.20/build_unix/
# ../dist/configure
# make
# make install
Процесс этот довольно долгий. В заключении, сообщите ldconfig где искать Berkeley DB, добавив в /etc/rc следующие строки:

if [ -d /usr/local/BerkeleyDB.4.4/lib ]; then
shlib_dirs="/usr/local/BerkeleyDB.4.4/lib $shlib_dirs"
fi
Apache 2.0.59
# tar zxvf httpd-2.0.59.tar.gz
# cd httpd-2.0.59/
# ./configure --enable-so --enable-dav --enable-rewrite --with-berkeley-db
# make
# make install
В поставку OpenBSD 3.4 уже входит веб-сервер Apache, ServerRoot которого находится в /var/www, поэтому чтобы Apache 2.0.59 запускался автоматически при старте системы не забудьте исправить в /etc/rc.conf

httpd_flags="-k start"
И /etc/rc :

if [ "X${httpd_flags}" != X"NO" ]; then
# Clean up left-over httpd locks
rm -f /usr/local/apache2/logs/{ssl_mutex,httpd.lock,accept.lock}.*
echo -n ' httpd'; /usr/local/apache2/bin/httpd ${httpd_flags}
fi
Сообщите ldconfig путь к Apache Portable Runtime, добавив следующие строки в /etc/rc:

if [ -d /usr/local/apache2/lib ]; then
shlib_dirs="/usr/local/apache2/lib $shlib_dirs"
fi
neon 0.2.25
При установке библиотеки neon, никаких дополнительных действий не потребуется:

# tar zxvf neon-0.26.1.tar.gz
# cd neon-0.26.1/
# ./configure --with-expat --with-libs=/usr/local/apache2
# make
# make install
Python 2.5
Опционально можно установить ещё Tcl/Tk, но Python соберётся и без этого:

# tar zxvf python-2.5.tgz
# cd python-2.5/
# ./configure
# make
# make install
Subversion 1.4.3
И, наконец, когда все зависимости удовлетворены, соберём Subversion:

# tar zxvf subversion-1.4.3.tar.gz
# cd subversion-1.4.3/
# ./configure --with-apr=/usr/local/apache2/bin/apr-config
--with-apr-util=/usr/local/apache2/bin/apu-config --with-neon=/usr/local
--with-apxs=/usr/local/apache2/bin/apxs
# make
# make install
Опционально, перед установкой Subversion можно поставить JDK.

Заключение
Эта процедура была успешно проделана на системе со следующей конфигурацией: AMD K-6 200, 320Мб RAM, wd0 - 5.1 Гб, wd1 - 2,5 Гб. В результате мы имеем 24/7 веб-сервер с поддержкой Subversion и шлюз для локальной сети с использованием OpenBSD 3.4 с целью освободить от этих задач рабочую станцию.

Обновлено: 13.03.2015