6.12. Webanwendungen, Apache und PHP

6.12.1. Apache

Tabelle 6-17. Variablen für Ports, die Apache verwenden

USE_APACHE Der Port benötigt Apache. Mögliche Werte: yes (beliebige Version), 1.3, 2.0, 2.2, 2.0+, etc. – Standard ist Version 1.3.
WITH_APACHE2 Der Port benötigt Apache 2.0. Ist diese Variable nicht gesetzt, so benötigt der Port Apache 1.3. Diese Variable ist veraltet und sollte nicht mehr verwendet werden.
APXS Vollständiger Pfad zu der apxs Binärdatei. Die Variable kann neu gesetzt werden.
HTTPD Vollständiger Pfad zu der httpd Binärdatei. Die Variable kann neu gesetzt werden.
APACHE_VERSION Beinhaltet die Versionsnummer des aktuell installierten Apache (nur lesbare Variable). Diese Variable ist nach Einbinden der Datei bsd.port.pre.mk verfügbar. Mögliche Werte: 13, 20, 22.
APACHEMODDIR Verzeichnis der Apache-Module. Diese Variable wird automatisch in pkg-plist ersetzt.
APACHEINCLUDEDIR Verzeichnis der Apache Header-Dateien. Diese Variable wird automatisch in pkg-plist ersetzt.
APACHEETCDIR Verzeichnis der Apache-Konfigurationsdateien. Diese Variable wird automatisch in pkg-plist ersetzt.

Tabelle 6-18. Nützliche Variablen für Ports von Apache-Modulen

MODULENAME Name des Moduls. Standardwert ist PORTNAME. Beispiel: mod_hello
SHORTMODNAME Der gekürzte Name des Moduls. Standardmäßig wird der Wert von MODULENAME übernommen. Beispiel: hello
AP_FAST_BUILD Verwende apxs zum Kompilieren und Installieren des Moduls.
AP_GENPLIST Eine pkg-plist wird automatisch erzeugt.
AP_INC Verzeichnis für zusätzliche Header-Dateien, die beim Kompilieren mitverwendet werden.
AP_LIB Verzeichnis für zusätzliche Bibliothek-Dateien, welche beim Kompilieren mitverwendet werden.
AP_EXTRAS Zusätzliche Flags für apxs.

6.12.2. Webanwendungen

Webanwendungen sollten nach PREFIX/www/programmname installiert werden. Der Einfachheit halber ist dieser Pfad sowohl im Makefile als auch in pkg-plist als WWWDIR verfügbar. Der relative Pfad PREFIX ist hingegen im Makefile durch die Variable WWWDIR_REL festgelegt.

Der Benutzername und die Benutzergruppe, mit deren Rechte Webanwendungen laufen, sind in WWWOWN und WWWGRP festgelegt. Standardwert ist bei beiden www. Falls ein Port mit anderen Rechten gestartet werden soll, so sollte die Anweisung WWWOWN?= myuser verwendet werden. Dies vereinfacht dem Benutzer eine Anpassung dieser Werte.

Falls die Webanwendung nicht explizit Apache benötigt, so sollte dieser auch nicht als Abhängigkeit des Ports aufgeführt werden. Dadurch bleibt es dem Benutzer überlassen Apache oder einen anderen Webserver zu verwenden.

6.12.3. PHP

Tabelle 6-19. Variablen für Ports, die PHP verwenden

USE_PHP Der Port benötigt PHP. Der Wert yes bewirkt eine Abhängigkeit des Ports von PHP. Es kann auch eine Liste der benötigten PHP-Erweiterungen angegeben werden. Beispiel: pcre xml gettext
DEFAULT_PHP_VER Legt die Version von PHP fest, die standardmäßig installiert wird, falls noch kein PHP vorhanden ist. Standardwert ist 4. Mögliche Werte sind: 4,5
IGNORE_WITH_PHP Der Port funktioniert nicht mit der angegebenen Version von PHP. Mögliche Werte: 4, 5
USE_PHPIZE Der Port wird als PHP-Erweiterung gebaut.
USE_PHPEXT Der Port wird wie eine PHP-Erweiterung behandelt – Installation und Eintragung in die PHP-Registry für Erweiterungen.
USE_PHP_BUILD Setzt PHP als build-Anhängigkeit.
WANT_PHP_CLI Benötigt die Kommandozeilen-Version von PHP.
WANT_PHP_CGI Benötigt die CGI-Version von PHP.
WANT_PHP_MOD Benötigt das Apache-Modul von PHP.
WANT_PHP_SCR Benötigt die Kommandozeilen- oder die CGI-Version von PHP.
WANT_PHP_WEB Benötigt das Apache-Modul oder die CGI-Version von PHP.

6.12.4. PEAR Module

Das Portieren von PEAR-Modulen ist sehr einfach.

Mit Hilfe der Variablen FILES, TESTS, DATA, SQLS, SCRIPTFILES, DOCS und EXAMPLES können die zu installierenden Dateien angegeben werden. Alle aufgeführten Dateien werden automatisch in die jeweiligen Verzeichnisse installiert und der Datei pkg-plist hinzugefügt.

Die Datei ${PORTSDIR}/devel/pear/bsd.pear.mk muss am Ende des Makefiles eingebunden werden.

Beispiel 6-5. Beispiel eines Makefiles für eine PEAR Klasse

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>

Fragen zum FreeBSD Ports-System richten Sie bitte an <ports@FreeBSD.org>, Fragen zu diesem Dokument hingegen an <de-bsd-translators@de.FreeBSD.org>.