6.12. Webanwendungen, Apache und PHP

6.12.1. Apache

Tabelle 6.17. Variablen für Ports, die Apache verwenden
USE_APACHEDer 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_APACHE2Der 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.
APXSVollständiger Pfad zu der apxs Binärdatei. Die Variable kann neu gesetzt werden.
HTTPDVollständiger Pfad zu der httpd Binärdatei. Die Variable kann neu gesetzt werden.
APACHE_VERSIONBeinhaltet 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.
APACHEMODDIRVerzeichnis der Apache-Module. Diese Variable wird automatisch in pkg-plist ersetzt.
APACHEINCLUDEDIRVerzeichnis 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
MODULENAMEName des Moduls. Standardwert ist PORTNAME. Beispiel: mod_hello
SHORTMODNAMEDer gekürzte Name des Moduls. Standardmäßig wird der Wert von MODULENAME übernommen. Beispiel: hello
AP_FAST_BUILDVerwende apxs zum Kompilieren und Installieren des Moduls.
AP_GENPLISTEine pkg-plist wird automatisch erzeugt.
AP_INCVerzeichnis für zusätzliche Header-Dateien, die beim Kompilieren mitverwendet werden.
AP_LIBVerzeichnis für zusätzliche Bibliothek-Dateien, welche beim Kompilieren mitverwendet werden.
AP_EXTRASZusä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_PHPDer 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_VERLegt 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_PHPDer Port funktioniert nicht mit der angegebenen Version von PHP. Mögliche Werte: 4, 5
USE_PHPIZEDer Port wird als PHP-Erweiterung gebaut.
USE_PHPEXTDer Port wird wie eine PHP-Erweiterung behandelt – Installation und Eintragung in die PHP-Registry für Erweiterungen.
USE_PHP_BUILDSetzt PHP als build-Anhängigkeit.
WANT_PHP_CLIBenötigt die Kommandozeilen-Version von PHP.
WANT_PHP_CGIBenötigt die CGI-Version von PHP.
WANT_PHP_MODBenötigt das Apache-Modul von PHP.
WANT_PHP_SCRBenötigt die Kommandozeilen- oder die CGI-Version von PHP.
WANT_PHP_WEBBenö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>

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.