6.16. Aplicações Web, Apache e PHP

6.16.1. Apache

Tabela 6.23. Variáveis ​​para Ports Que Usam o Apache
USE_APACHEO port requer o Apache. Valores possíveis: yes (obtém qualquer versão), 22, 24, 22 a 24, 22+, etc. A versão padrão do APACHE é 22. Mais detalhes estão disponíveis em ports/Mk/bsd.apache.mk e em wiki.freebsd.org/Apache/.
APXSCaminho completo para o binário apxs. Pode ser modificado no port.
HTTPDCaminho completo para o binário httpd. Pode ser modificado no port.
APACHE_VERSIONA versão da instalação atual do Apache (variável somente leitura). Esta variável só está disponível após a inclusão de bsd.port.pre.mk. Valores possíveis: 22, 24.
APACHEMODDIRDiretório para módulos Apache. Esta variável é automaticamente expandida em pkg-plist.
APACHEINCLUDEDIRDiretório para cabeçalhos Apache. Esta variável é automaticamente expandida em pkg-plist.
APACHEETCDIRDiretório para arquivos de configuração do Apache. Esta variável é automaticamente expandida em pkg-plist.

Tabela 6.24. Variáveis ​​Úteis para Portar Módulos do Apache
MODULENAMENome do módulo. O valor padrão é PORTNAME. Exemplo: mod_hello
SHORTMODNAMENome abreviado do módulo. Automaticamente derivado de MODULENAME, mas pode ser substituído. Exemplo: hello
AP_FAST_BUILDUse o apxs para compilar e instalar o módulo.
AP_GENPLISTTambém cria automaticamente um pkg-plist.
AP_INCAdiciona um diretório ao caminho de pesquisa de cabeçalhos durante a compilação.
AP_LIBAdiciona um diretório ao caminho de pesquisa de bibliotecas durante a compilação.
AP_EXTRASFlags adicionais para passar para o apxs.

6.16.2. Aplicações Web

Aplicações web devem ser instaladas em PREFIX/www/appname. Este caminho está disponível tanto no Makefile quanto no pkg-plist como WWWDIR e o caminho relativo para PREFIX está disponível no Makefile como WWWDIR_REL.

O usuário e o grupo do processo do servidor web estão disponíveis como WWWOWN e WWWGRP, no caso de a propriedade de alguns arquivos precisar ser alterada. Os valores padrão de ambos são www. Use WWWOWN?=myuser e WWWGRP?=mygroup se o port precisar de valores diferentes. Isso permite ao usuário substituí-los facilmente.

Importante:

Use WWWOWN e WWWGRP com moderação. Lembre-se de que todos os arquivos para os quais o servidor web tem permissão de escrita, são um risco de segurança esperando para acontecer.

Não insira o Apache como dependência, a menos que o aplicativo web precise explicitamente do Apache. Respeite que os usuários podem desejar executar um aplicativo web em um servidor web diferente do Apache.

6.16.3. PHP

Aplicações PHP declaram sua dependência a ele com USES=php. Veja Seção 17.67, “php para maiores informações.

6.16.4. Módulos PEAR

Portar módulos PEAR é um processo muito simples.

Adicione USES=pear ao Makefile do port. O framework instalará os arquivos relevantes nos lugares certos e gerará automaticamente a lista no momento da instalação.

Exemplo 6.22. Exemplo de Makefile para Classes PEAR
PORTNAME=       Date
DISTVERSION=	1.4.3
CATEGORIES=	devel www pear

MAINTAINER=	example@domain.com
COMMENT=	PEAR Date and Time Zone Classes

USES=	pear

.include <bsd.port.mk>

Dica:

Os módulos PEAR serão automaticamente flavorizados usando PHPflavors.

Nota:

Se um PEAR_CHANNEL não padrão for usado, as dependências de compilação e de tempo de execução serão automaticamente adicionadas.

Importante:

Módulos PEAR não precisam definir PKGNAMESUFFIX, é preenchido automaticamente usando PEAR_PKGNAMEPREFIX. Se um port precisar adicionar PKGNAMEPREFIX, também deve usar PEAR_PKGNAMEPREFIX para diferenciar entre diferentes flavors.

6.16.4.1. Módulos Horde

Da mesma forma, portar módulos Horde é um processo simples.

Adicione USES=horde ao Makefile do port . O framework instalará os arquivos relevantes nos lugares certos e gerará automaticamente a lista no momento da instalação.

As variáveis USE_HORDE_BUILD e USE_HORDE_RUN podem ser usadas para adicionar dependências de tempo de compilação e de tempo de execução em outros módulos Horde. Veja Mk/Uses/horde.mk para uma lista completa dos módulos disponíveis.

Exemplo 6.23. Exemplo de Makefile para Módulos Horde
PORTNAME=	Horde_Core
DISTVERSION=	2.14.0
CATEGORIES=	devel www pear

MAINTAINER=	horde@FreeBSD.org
COMMENT=	Horde Core Framework libraries

OPTIONS_DEFINE=	KOLAB SOCKETS
KOLAB_DESC=	Enable Kolab server support
SOCKETS_DESC=	Depend on sockets PHP extension

USES=	horde
USE_PHP=	session

USE_HORDE_BUILD=	Horde_Role
USE_HORDE_RUN=	Horde_Role Horde_History Horde_Pack \
		Horde_Text_Filter Horde_View

KOLAB_USE=	HORDE_RUN=Horde_Kolab_Server,Horde_Kolab_Session
SOCKETS_USE=	PHP=sockets

.include <bsd.port.mk>

Dica:

Como os módulos Horde também são módulos PEAR, eles também serão automaticamente aromatizados usando PHP flavors.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.