Для Joomla 1.5 пришлось ставить apache13, который изъят из коллекции портов FreeBSD, начиная с версии 8.0. Кроме того, при установке php-4.4.9 подключиться к mysql так и не удалось..

Скачать apache-1.3.9.tar.gz и php-5.2.4.tar.gz в директорию /tmp/. Распаковать, запустить скрипт настройки конфигурации apache, php (для joomla 1.5 требуется MySQL и поддержка сжатия zlib), снова apache, потом запустить установку (см. INSTALL)

bsd$ sudo tar -xvf /tmp/apache_1.3.9.tar.gz

bsd$ sudo tar -xvf /tmp/php-5.2.4.tar.gz

bsd$ cd /tmp/apache_1.3.9

bsd$ sudo ./configure --prefix="/usr/local/apache"

bsd$ cd ./../php-5.2.4

bsd$ sudo ./configure --with-apache=./../apache_1.3.9 --with-mysql --with-zlib

bsd$ sudo make install

bsd$ cd ./../apache_1.3.9

bsd$ sudo ./configure --activate-module=src/modules/php5/libphp5.a

bsd$ sudo make install clean

bsd$ sudo cp ./../php-5.2.4/php.ini-dist /usr/libexec/lib/php.ini

Добавить в httpd.conf

Include etc/apache22/extra/httpd-default.conf

...

AddType application/x-httpd-php .php

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

Пакет Joomla_1.5.25-Stable-Full_Package_Russian.tar.gz распаковать в /usr/local/www/sto и в /usr/local/apache/conf/httpd.conf прописать alias

Alias /sto "/usr/local/www/sto/"

<Directory "/usr/local/www/sto/">

Order allow, deny

Allow from all

</Directory>

Рестарт сервиса

bsd$ sudo /usr/local/apache/bin/apachectl graceful

Ну, может быть, еще

bsd$ sudo chown -R /usr/local/www/sto nobody:www


Для установки PHP, как подключаемого модуля Apache как php-5.2.4, так и php-4.4.9) необходимо изменить файл ./src/Configure (или генерируемый им ./src/Makefile), иначе httpd не стартует вследствие ошибки при загрузке php5_module

php-5.2.4
Cannot load /usr/local/apache/libexec/libphp5.so into server: /usr/local/apache/libexec/libphp5.so: Undefined symbol "sqlite3ExprDelete"
php-4.4.9
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: Undefined symbol "ap_user_id"

Необходимо наложить патч /usr/ports/apache13/files/patch-ae, далее запустить скрипт создания конфигурации и установить:

bsd$ cd /usr/ports/apache13

  • Можно построить из порта, используя утилиту make (предполагается, что установлен portaudit)

    bsd$ sudo make DISABLE_VULNERABILITIES=yes build

    bsd$ cd ./work

  • А можно распаковать архив и применить патч вручную

    bsd$ wget http://archive.apache.org/dist/httpd/apache_1.3.41.tar.gz

    bsd$ sudo tar -xf ./apache_1.3.41.tar.gz

    bsd$ cd ./apache_1.3.41

    bsd$ sudo patch < ./../files/patch-ae

bsd$ sudo ./configure --prefix=/usr/local/apache --enable-module=so \

--sysconfdir=/usr/local/apache/conf

bsd$ sudo make install clean

Распаковать архив php-5.4.2.tar.bz в директорию /tmp/, подготовить и запустить установку

bsd$$ cd /tmp

bsd$ tar -xf php-5.2.4.tar.bz

bsd$ cd /tmp/php-5.2.4

bsd$ sudo ./configure --with-mysql --with-zlib --with-apxs=/usr/local/apache/bin/apxs

bsd$ sudo make install clean

В результате в /usr/local/apache/conf/httpd.conf будет добавлена строчка

LoadModule php5_module libexec/libphp5.so

Рестарт сервиса

bsd$ sudo /usr/local/apache/bin/apachectl graceful

Патчей для apache_1.3.9 не нашел, так что после создания конфигурации пришлось править руками apache_1.3.9/src/Makefile

bsd$ cd /usr/ports/www/apache13

bsd$ sudo wget http://archive.apache.org/dist/httpd/apache_1.3.9.tar.gz

bsd$ sudo tar -xf ./apache_1.3.9.tar.gz

bsd$ cd ./apache_1.3.9

bsd$ sudo ./configure --prefix=/usr/local/apache --enable-module=so \

--sysconfdir=/usr/local/apache/conf

bsd$ sudo ee ./src/Makefile

Здесь пришлось заменить следующие строки на строки из Makefile для apache_1.3.41

CFLAGS_SHLIB=-fpic -DSHARED_MODULE

LD_SHLIB=gcc

EXTRA_LDFLAGS_SHLIB=

LDFLAGS_SHLIB=-shared

LDFLAGS_SHLIB_EXPORT=-Wl,-E

LDFLAGS_MOD_SHLIB=-shared

bsd$ sudo make install clean

Рестарт сервера

bsd$ sudo /usr/local/apache/bin/apachectl graceful