Das FreeBSD Porter-Handbuch
Zurück | Kapitel 6. Besonderheiten | Weiter

# 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 `Makefile`s 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>

Zurück | Zum Anfang | Weiter
Benutzung von Java | Nach oben | Python benutzen

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