6.12. Веб-приложения, Apache и PHP
Пред. | Глава 6. Особые соглашения | След.

## 6.12. Веб-приложения, Apache и PHP

### 6.12.1. Apache

Таблица 6.17. Переменные для портов, использующих Apache

`USE_APACHE` | Порт требует Apache. Возможные значения: `yes` (берёт любую версию), `20`, `22`, `20-22`, `20+` и так далее. Версия по умолчанию `22`. Более подробная информация содержится в файле `ports/Mk/bsd.apache.mk` и на странице wiki.freebsd.org/Apache/.
`WITH_APACHE2` | Эта переменная является устаревшей и не должна больше использоваться.
`APXS` | Полный путь к исполняемому файлу `apxs`. Может быть переопределен в вашем порту.
`HTTPD` | Полный путь к исполняемому файлу `httpd`. Может быть переопределен в вашем порту.
`APACHE_VERSION` | Версия установленного Apache (переменная только для чтения). Эта переменная доступна только после подключения `bsd.port.pre.mk`. Возможные значения: `20`, `22`.
`APACHEMODDIR` | Каталог для модулей Apache. Значение переменной автоматически подставляется в `pkg-plist`.
`APACHEINCLUDEDIR` | Каталог для заголовков Apache. Значение переменной автоматически подставляется в `pkg-plist`.
`APACHEETCDIR` | Каталог для конфигурационных файлов Apache. Значение переменной автоматически подставляется в `pkg-plist`.

Таблица 6.18. Используемые переменные при портировании модулей Apache

`MODULENAME` | Название модуля. Значением по умолчанию является `PORTNAME`. Пример: `mod_hello`
`SHORTMODNAME` | Краткое название модуля. Наследуется автоматически от `MODULENAME`, но может быть переопределено. Пример: `hello`
`AP_FAST_BUILD` | Использовать `apxs` для компиляции и установки модуля.
`AP_GENPLIST` | Также автоматически создает `pkg-plist`.
`AP_INC` | Добавляет каталог к пути поиска заголовков во время компиляции.
`AP_LIB` | Добавляет каталог к пути поиска библиотек во время компиляции.
`AP_EXTRAS` | Дополнительные флаги, передаваемые `apxs`.

### 6.12.2. Веб-приложения

Веб-приложения следует устанавливать в ``PREFIX`/www/`appname``. Для вашего удобства этот путь одинаково доступен в `Makefile` и `pkg-plist` как переменная `WWWDIR`, а путь относительно `PREFIX` доступен в `Makefile` как `WWWDIR_REL`.

Пользователь и группа процесса веб-сервера доступны как `WWWOWN` и `WWWGRP`, в случае если вам нужно изменить владельца для некоторых файлов. Значением по умолчанию и для владельца, и для группы является `www`. Если вы хотите использовать в вашем порте другие значения, воспользуйтесь для этого нотацией `WWWOWN?= myuser`, чтобы позволить пользователю легко переопределить их.

Не добавляйте зависимость от Apache, если веб-приложение явным образом не нуждается в Apache. Учитывайте, что пользователи могут пожелать запустить ваше веб-приложение на другом веб-сервере помимо Apache.

### 6.12.3. PHP

Таблица 6.19. Переменные для портов, использующих PHP

`USE_PHP` | Порт требует PHP. Значение `yes` добавляет зависимость от PHP. Вместо этого может быть указан перечень требуемых расширений PHP. Пример: `pcre xml gettext`
`DEFAULT_PHP_VER` | Выбирает старший номер версии, с которым будет установлен PHP как зависимость в случае, когда PHP еще не установлен. По умолчанию `5`. Возможные значения: `4`, `5`
`IGNORE_WITH_PHP` | Порт не работает с PHP данной версии. Возможные значения: `4`, `5`
`USE_PHPIZE` | Порт будет построен как расширение PHP.
`USE_PHPEXT` | Порт будет считаться расширением PHP, включая установку и регистрацию в реестре расширений.
`USE_PHP_BUILD` | Установить PHP как зависимость времени построения.
`WANT_PHP_CLI` | Хочет CLI (командная строка) версию PHP.
`WANT_PHP_CGI` | Хочет CGI версию PHP.
`WANT_PHP_MOD` | Хочет PHP как модуль Apache.
`WANT_PHP_SCR` | Хочет CLI или CGI версию PHP.
`WANT_PHP_WEB` | Хочет модуль Apache или CGI версию PHP.

### 6.12.4. Модули PEAR

Портирование модулей PEAR является очень простым процессом.

Используйте переменные `FILES`, `TESTS`, `DATA`, `SQLS`, `SCRIPTFILES`, `DOCS` and `EXAMPLES` для перечисления файлов, которые вы хотите установить. Все перечисленные файлы будут автоматически установлены в подходящие места и добавлены в `pkg-plist`.

Подключите `${PORTSDIR}/devel/pear/bsd.pear.mk` на последней строке `Makefile`.

Пример 6.6. Пример Makefile для классов PEAR
PORTNAME= Date PORTVERSION= 1.4.3 CATEGORIES= devel www pear MAINTAINER= example@domain.com COMMENT= PEAR Date and Time Zone Classes BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR RUN_DEPENDS:= ${BUILD_DEPENDS} FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \ Date/TimeZone.php TESTS= test_calc.php test_date_methods_span.php testunit.php \ testunit_date.php testunit_date_span.php wknotest.txt \ bug674.php bug727_1.php bug727_2.php bug727_3.php \ bug727_4.php bug967.php weeksinmonth_4_monday.txt \ weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \ weeksinmonth_rdm_sunday.txt DOCS= TODO _DOCSDIR= . .include <bsd.port.pre.mk> .include "${PORTSDIR}/devel/pear/bsd.pear.mk" .include <bsd.port.post.mk>

Пред. | Наверх | След.
6.11. Использование Java | Начало | 6.13. Использование Python

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.