FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD 中文手册
  • 编辑日志
  • 译者说明
  • FreeBSD 中文手册
  • 概述
  • 前言
    • 致读者
    • 第四版
    • 第三版
    • 第二版(2004)
    • 第一版(2001)
    • 本书的组织结构
    • 本书中使用的一些约定
    • 致谢
  • 第一部分:快速开始
  • 第1章 简介
    • 1.1.概述
    • 1.2.欢迎来到 FreeBSD!
    • 1.3.关于 FreeBSD 项目
  • 第2章 安装 FreeBSD
    • 2.1.概述
    • 2.2.最低硬件要求
    • 2.3.安装前的准备工作
    • 2.4.开始安装
    • 2.5.使用 bsdinstall
    • 2.6.分配磁盘空间
    • 2.7.获取安装文件
    • 2.8.账户、时区、服务和安全
    • 2.9.故障排除
    • 2.10.使用 Live CD
  • 第3章 FreeBSD 基础
    • 3.1.概述
    • 3.2.虚拟控制台和终端
    • 3.3.用户和基本账户管理
    • 3.4.权限
    • 3.5.目录结构
    • 3.6.磁盘结构
    • 3.7.文件系统的挂载与卸载
    • 3.8.进程和守护进程
    • 3.9.Shell
    • 3.10.文本编辑器
    • 3.11.设备和设备节点
    • 3.12.手册页
  • 第4章 安装应用程序:软件包和 Ports
    • 4.1.概述
    • 4.2.软件安装的概述
    • 4.3.寻找所需的应用程序
    • 4.4.使用 pkg 管理二进制包
    • 4.5.使用 Ports
    • 4.6.使用 Poudriere 构建软件包
    • 4.7.安装后的注意事项
    • 4.8.如何处理损坏的 port
  • 第5章 X Window 系统
    • 5.1.概述
    • 5.2.安装 Xorg
    • 5.3.显卡驱动
    • 5.4.Xorg 配置
    • 5.5.在 X11 中使用字体
  • 第6章 FreeBSD 中的 Wayland
    • 6.1.简介
    • 6.2.Wayland 概述
    • 6.3.Wayfire 混成器
    • 6.4.Hikari 混成器
    • 6.5.Sway 混成器
    • 6.6.使用 Xwayland
    • 6.7.使用 VNC 进行远程连接
    • 6.8.Wayland 登录管理器
    • 6.9.实用工具
  • 第7章 网络
    • 7.1.概述
    • 7.2.设置网络
    • 7.3.有线网络
    • 7.4.无线网络
    • 7.5.主机名
    • 7.6.DNS
    • 7.7.故障排除
  • 第二部分:常见任务
  • 第8章 桌面环境
    • 8.1.概述
    • 8.2.桌面环境
    • 8.3.浏览器
    • 8.4.开发工具
    • 8.5.桌面办公应用
    • 8.6.文档阅读器
    • 8.7.财务
  • 第9章 多媒体
    • 9.1.概述
    • 9.2.设置声卡
    • 9.3.音频播放器
    • 9.4.视频播放器
    • 9.5.视频会议
    • 9.6.图像扫描仪
  • 第10章 配置 FreeBSD 内核
    • 10.1.概述
    • 10.2.为什么要构建定制内核
    • 10.3.浏览系统硬件
    • 10.4.配置文件
    • 10.5.构建并安装定制内核
    • 10.6.如果发生了错误
  • 第11章 打印
    • 11.1.快速入门
    • 11.2.连接打印机
    • 11.3.常见的页面描述语言(PDL)
    • 11.4.直接打印
    • 11.5.LPD(行式打印机程序)
    • 11.6.其他打印系统
  • 第12章 Linux 二进制兼容层
    • 12.1.概述
    • 12.2.配置 Linux 二进制兼容层
    • 12.3.Linux 用户空间
    • 12.4.高级主题
  • 第13章 WINE
    • 13.1.概述
    • 13.2.WINE 概述和概念
    • 13.3.在 FreeBSD 上安装 WINE
    • 13.4.在 FreeBSD 上运行第一个 WINE 程序
    • 13.5.配置 WINE 安装程序
    • 13.6.WINE 图形化用户管理界面
    • 13.7.多用户 FreeBSD 与 WINE
    • 13.8.FreeBSD 上的 WINE 常见问题
  • 第三部分:系统管理
  • 第14章 配置与优化
    • 14.1.概述
    • 14.2.配置文件
    • 14.3.管理 FreeBSD 中的服务
    • 14.4.Cron 和 Periodic
    • 14.5.配置系统日志
    • 14.6.电源和资源管理
    • 14.7.添加交换空间
  • 第15章 FreeBSD 的引导过程
    • 15.1.概述
    • 15.2.FreeBSD 的引导过程
    • 15.3.Device Hints
    • 15.4.关机流程
  • 第16章 安全
    • 16.1.概述
    • 16.2.简介
    • 16.3.账户安全
    • 16.4.入侵检测系统(IDS)
    • 16.5.安全等级
    • 16.6.文件标志位
    • 16.7.OpenSSH
    • 16.8.OpenSSL
    • 16.9.Kerberos
    • 16.10.TCP 封装器(TCP Wrapper)
    • 16.11.访问控制列表(ACL)
    • 16.12.Capsicum
    • 16.13.进程记账
    • 16.14.资源限制
    • 16.15.监控第三方安全问题
    • 16.16.FreeBSD 安全公告
  • 第17章 jail 与容器
    • 17.1.概述
    • 17.2.jail 的类型
    • 17.3.主机配置
    • 17.4.传统 jail(厚 jail)
    • 17.5.瘦 jail
    • 17.6.管理 jail
    • 17.7.更新 jail
    • 17.8.jail 资源限制
    • 17.9.jail 管理器与容器
  • 第18章 强制访问控制
    • 18.1.概述
    • 18.2.关键术语
    • 18.3.了解 MAC 标签
    • 18.4.规划安全配置
    • 18.5.可用的 MAC 策略
    • 18.6.用户锁定
    • 18.7.MAC Jail 中的 Nagios
    • 18.8.MAC 框架的故障排除
  • 第19章 安全事件审计
    • 19.1.概述
    • 19.2.关键术语
    • 19.3.审计配置
    • 19.4.使用审计跟踪
  • 第20章 存储
    • 20.1.概述
    • 20.2.添加磁盘
    • 20.3.调整和增加磁盘大小
    • 20.4.USB 存储设备
    • 20.5.创建和使用 CD
    • 20.6.创建和使用 DVD
    • 20.7.创建和使用软盘
    • 20.8.备份的基础知识
    • 20.9.内存盘
    • 20.10.文件系统快照
    • 20.11.磁盘配额
    • 20.12.加密磁盘分区
    • 20.13.加密交换分区
    • 20.14.高可用性存储(HAST)
  • 第21章 GEOM: 模块化磁盘转换框架
    • 21.1.概述
    • 21.2.RAID0——条带
    • 21.3.RAID1——镜像
    • 21.4.RAID3——带有专用奇偶校验的字节级条带
    • 21.5.软件 RAID 设备
    • 21.6.GEOM Gate 网络设备
    • 21.7.为磁盘设备添加卷标
    • 21.8.通过 GEOM 实现 UFS 日志
  • 第22章 Z 文件系统(ZFS)
    • 22.1.是什么使 ZFS 与众不同
    • 22.2.快速入门指南
    • 22.3.zpool 管理
    • 22.4.zfs 管理
    • 22.5.委托管理
    • 22.6.高级主题
    • 22.7.更多资源
    • 22.8.ZFS 特性和术语
  • 第23章 其他文件系统
    • 23.1.概述
    • 23.2.Linux® 文件系统
    • 23.3.Windows® 文件系统
    • 23.4.MacOS® 文件系统
  • 第24章 虚拟化
    • 24.1.概述
    • 24.2.使用 macOS® 上的 Parallels Desktop 安装 FreeBSD
    • 24.3.使用 macOS® 上的 VMware Fusion 安装 FreeBSD
    • 24.4.使用 VirtualBox™ 安装 FreeBSD
    • 24.5.在 FreeBSD 上安装 VirtualBox™
    • 24.6.使用 FreeBSD 上的 QEMU 虚拟化
    • 24.7.使用 FreeBSD 上的 bhyve 虚拟机
    • 24.8.基于 FreeBSD 的 Xen™ 虚拟机
  • 第25章 本地化——i18n/L10n 的使用和设置
    • 25.1.概述
    • 25.2.使用本地化
    • 25.3.寻找 i18n 应用程序
    • 25.4.特定语言的区域配置
  • 第26章 FreeBSD 更新与升级
    • 26.1.概述
    • 26.2.更新 FreeBSD
    • 26.3.更新 Bootcode
    • 26.4.更新文档
    • 26.5.追踪开发分支
    • 26.6.从源代码更新 FreeBSD
    • 26.7.多台机器的追踪
    • 26.8.在非 FreeBSD 主机上进行构建
  • 第27章 DTrace
    • 27.1.概述
    • 27.2.实现上的差异
    • 27.3.开启 DTrace 支持
    • 27.4.启用内核外部模块 DTrace
    • 27.5.使用 DTrace
  • 第28章 USB 设备模式/USB OTG
    • 28.1.概述
    • 28.2.USB 虚拟串行端口
    • 28.3.USB 设备模式网络接口
    • 28.4.USB 虚拟存储设备
  • 第四部分:网络通讯
  • 第29章 串行通信
    • 29.1.概述
    • 29.2.串行术语和硬件
    • 29.3.终端
    • 29.4.拨入服务
    • 29.5.拨出服务
    • 29.6.设置串行控制台
  • 第30章 PPP
    • 30.1.概述
    • 30.2.配置 PPP
    • 30.3.PPP 连接的故障排除
    • 30.4.使用以太网 PPP(PPPoE)
    • 30.5.使用 ATM 上的 PPP (PPPoA)
  • 第31章 电子邮件
    • 31.1.概述
    • 31.2.邮件组件
    • 31.3.DragonFly 邮件代理(DMA)
    • 31.4.Sendmail
    • 31.5.修改邮件传输代理
    • 31.6.邮件用户代理
    • 31.7.高级主题
  • 第32章 网络服务器
    • 32.1.概述
    • 32.2.inetd 超级服务器
    • 32.3.网络文件系统(NFS)
    • 32.4.网络信息系统(NIS)
    • 32.5.轻型目录访问协议(LDAP)
    • 32.6.动态主机设置协议(DHCP)
    • 32.7.域名系统(DNS)
    • 32.8.零配置网络(mDNS/DNS-SD)
    • 32.9.Apache HTTP 服务器
    • 32.10.文件传输协议(FTP)
    • 32.11.用于 Microsoft® Windows® 客户端的文件和打印服务(Samba)
    • 32.12.用 NTP 进行时钟同步
    • 32.13.iSCSI target 和 initiator 的配置
  • 第33章 防火墙
    • 33.1.概述
    • 33.2.防火墙的概念
    • 33.3.PF
    • 33.4.IPFW
    • 33.5.IPFILTER(IPF)
    • 33.6.Blacklistd
  • 第34章 高级网络
    • 34.1.概述
    • 34.2.网关和路由
    • 34.3.虚拟主机
    • 34.4.无线高级身份验证
    • 34.5.无线自组织(Ad-hoc)模式
    • 34.6.USB 网络共享
    • 34.7.蓝牙
    • 34.8.桥接
    • 34.9.链路聚合与故障转移
    • 34.10.使用 PXE 进行无盘操作
    • 34.11.共用地址冗余协议(CARP)
    • 34.12.VLAN
  • 第五部分:附录
  • 附录 A.获取 FreeBSD
    • A.1.镜像站
    • A.2.使用 Git
    • A.3.使用 Subversion
    • A.4.光盘
  • 附录 B.书目
    • B.1.FreeBSD 相关书籍
    • B.2.安全性参考文献
    • B.3.UNIX 历史
    • B.4.期刊与杂志
  • 附录 C.网络资源
    • C.1.网站
    • C.2.邮件列表
    • C.3.Usenet 新闻组
  • 附录 D.OpenPGP 密钥
    • D.1.官方成员
  • 术语表
  • 后记
由 GitBook 提供支持
在本页
  • 32.9.1. 配置和启动 Apache
  • 32.9.2. 虚拟主机
  • 32.9.3. Apache 模块
  • 32.9.3.1. SSL 支持
  • 32.9.3.2. mod_perl
  • 32.9.3.3. mod_php
  • 32.9.3.4. HTTP2 支持
  • 32.9.4. 动态网站
  • 32.9.4.1. Django
  • 32.9.4.2. Ruby on Rails
在GitHub上编辑
导出为 PDF
  1. 第32章 网络服务器

32.9.Apache HTTP 服务器

上一页32.8.零配置网络(mDNS/DNS-SD)下一页32.10.文件传输协议(FTP)

最后更新于6天前

LogoLogo

FreeBSD 中文社区(CFC) 2025

开源的 Apache HTTP 服务器是最广泛使用的 web 服务器。FreeBSD 默认并未安装此 web 服务器,但可以通过 软件包和 Ports 进行安装。

本节总结了如何在 FreeBSD 上配置和启动版本 2.x 的 Apache HTTP 服务器。有关 Apache 2.X 及其配置指令的更详细信息,请参阅 。

32.9.1. 配置和启动 Apache

在 FreeBSD 中,Apache HTTP 服务器的主配置文件安装在 /usr/local/etc/apache2x/httpd.conf,其中 x 代表版本号。这个 ASCII 文本文件以 # 开头注释行。最常修改的指令有:

ServerRoot "/usr/local"

指定 Apache 安装的默认目录层次结构。二进制文件存储在服务器根目录的 bin 和 sbin 子目录中,配置文件存储在 etc/apache2x 子目录中。

ServerAdmin you@example.com

将此项更改为接收服务器问题的电子邮件地址。此地址也会出现在一些服务器生成的页面上,如错误文档。

ServerName www.example.com:80

允许管理员设置一个主机名,该主机名会返回给客户端。例如,可以使用 www 代替实际的主机名。如果系统没有注册的 DNS 名称,请输入其 IP 地址。如果服务器将监听其他端口,请将 80 改为其他端口号。

DocumentRoot "/usr/local/www/apache2_x_/data"

指定文档的根目录,默认情况下,所有请求都来自此目录,但可以使用符号链接和别名指向其他位置。

在进行更改之前,最好先备份 Apache 配置文件。配置完成后,保存文件并使用 apachectl 验证配置。运行 apachectl configtest 应返回 Syntax OK。

要在系统启动时启动 Apache,请在 /etc/rc.conf 中添加以下行:

apache24_enable="YES"

如果 Apache 需要以非默认选项启动,可以在 /etc/rc.conf 中添加以下行来指定所需的标志:

apache24_flags=""

如果 apachectl 没有报告配置错误,现在启动 httpd:

# service apache24 start

可以通过在 web 浏览器中输入 http://localhost 来测试 httpd 服务,将 localhost 替换为运行 httpd 的机器的完全限定域名。默认显示的网页是 /usr/local/www/apache24/data/index.html。

在 httpd 运行时,进行后续配置更改后,可以使用以下命令测试 Apache 配置是否有错误:

# service apache24 configtest

注意

32.9.2. 虚拟主机

虚拟主机允许多个网站在一个 Apache 服务器上运行。虚拟主机可以是 基于 IP 的 或 基于名称的。基于 IP 的虚拟主机为每个网站使用不同的 IP 地址。基于名称的虚拟主机使用客户端的 HTTP/1.1 头部来确定主机名,从而允许多个网站共享同一个 IP 地址。

要配置 Apache 使用基于名称的虚拟主机,请为每个网站添加一个 VirtualHost 块。例如,对于名为 www.domain.tld 的 web 服务器和虚拟域 www.someotherdomain.tld,可以在 httpd.conf 文件中添加以下条目:

<VirtualHost *>
    ServerName www.domain.tld
    DocumentRoot /www/domain.tld
</VirtualHost>

<VirtualHost *>
    ServerName www.someotherdomain.tld
    DocumentRoot /www/someotherdomain.tld
</VirtualHost>

对于每个虚拟主机,将 ServerName 和 DocumentRoot 的值替换为要使用的值。

32.9.3. Apache 模块

32.9.3.1. SSL 支持

曾几何时,Apache 中对 SSL 的支持需要一个名为 mod_ssl 的附加模块。如今,默认安装的 Apache 已经内建了 SSL 支持。有关如何启用 SSL 网站支持的示例,请参见 /usr/local/etc/apache24/extra 目录中的已安装文件 httpd-ssl.conf。该目录中还包含一个名为 ssl.conf-sample 的示例文件。建议检查这两个文件,以正确设置 Apache web 服务器的安全网站。

SSL 配置完成后,必须在主 httpd.conf 中取消注释以下行,以便在下次重启或重新加载 Apache 时激活更改:

#Include etc/apache24/extra/httpd-ssl.conf

警告

SSL 版本 2 和版本 3 已知存在漏洞问题。强烈建议启用 TLS 版本 1.2 和 1.3 来替代较旧的 SSL 选项。可以通过在 ssl.conf 中设置以下选项来实现:

SSLProtocol all -SSLv3 -SSLv2 +TLSv1.2 +TLSv1.3
SSLProxyProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

要完成 SSL 的配置,必须取消注释以下行,确保在 Apache 重启或重新加载时将配置加载:

# 安全 (SSL/TLS) 链接
Include etc/apache24/extra/httpd-ssl.conf

此外,还必须取消注释 httpd.conf 中以下几行,以完全支持 Apache 中的 SSL:

LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache24/mod_ssl.so

下一步是与证书颁发机构合作,安装适当的证书。这将为网站建立信任链,并防止出现自签名证书的警告。

32.9.3.2. mod_perl

mod_perl 模块使得可以使用 Perl 编写 Apache 模块。此外,服务器中嵌入的持久解释器避免了启动外部解释器的开销和 Perl 启动时间的惩罚。

32.9.3.3. mod_php

PHP: Hypertext Preprocessor(PHP)是一种通用的脚本语言,特别适合用于 Web 开发。它可以嵌入到 HTML 中,其语法借鉴了 C、Java™ 和 Perl,旨在帮助 Web 开发人员快速编写动态生成的网页。

可以通过安装相应的 Port 为 Apache 提供对 PHP 及其编写的任何其他功能的支持。

对于所有支持的版本,可以使用 pkg 搜索包数据库:

# pkg search php

将显示一个列表,包括版本和它们提供的附加功能。这些组件是完全模块化的,意味着通过安装相应的 Port 来启用功能。要为 Apache 安装 PHP 7.4,请执行以下命令:

# pkg install mod_php74

如果需要安装任何依赖包,它们也将被安装。

默认情况下,PHP 不会启用。需要在 /usr/local/etc/apache24 中的 Apache 配置文件中添加以下行以使其生效:

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

此外,还需要更新配置文件中的 DirectoryIndex,并且 Apache 需要重启或重新加载以使更改生效。

通过 pkg 安装许多 PHP 功能的支持。例如,要安装对 XML 或 SSL 的支持,请安装各自的 Port:

# pkg install php74-xml php74-openssl

与以前一样,安装模块后,Apache 配置需要重新加载才能使更改生效。

要进行平滑重启以重新加载配置,执行以下命令:

# apachectl graceful

安装完成后,有两种方法可以获取已安装的 PHP 支持模块及构建的环境信息。第一种是安装完整的 PHP 二进制文件并运行以下命令获取信息:

# pkg install php74
# php -i | less

需要将输出传递给分页器,如 more 或 less,以便更容易处理大量输出。

最后,要更改 PHP 的全局配置,可以编辑安装在 /usr/local/etc/php.ini 中的文档化文件。安装时此文件不会存在,因为有两个版本可供选择,一个是 php.ini-development,另一个是 php.ini-production。这两个文件是管理员部署时的起点。

32.9.3.4. HTTP2 支持

Apache 默认支持 HTTP2 协议,当使用 pkg 安装 Port 时,会自动包含此支持。新版本的 HTTP 比较旧版本有很多改进,包括使用单一连接来访问网站,减少了 TCP 连接的往返次数。此外,包头数据也被压缩,并且 HTTP2 默认要求加密。

当 Apache 配置为仅使用 HTTP2 时,Web 浏览器将要求使用安全的加密 HTTPS 连接。当 Apache 配置为同时使用两种版本时,如果在连接过程中出现问题,则 HTTP1.1 会作为回退选项。

虽然此更改确实要求管理员进行一些修改,但它们是积极的,意味着互联网变得更加安全。此更改仅对尚未实施 SSL 和 TLS 的站点要求进行修改。

注意

此配置依赖于之前的部分内容,包括 TLS 支持。建议在继续此配置之前,先完成那些指示。

首先,通过取消注释 /usr/local/etc/apache24/httpd.conf 中的行来启用 http2 模块,并将 mpm_prefork 模块替换为 mpm_event,因为前者不支持 HTTP2。

LoadModule http2_module libexec/apache24/mod_http2.so
LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so

注意

还有一个独立的 Port mod_http2 可用。它旨在比捆绑在 Port apache24 中的模块更快地提供安全性和错误修复。虽然它不是 HTTP2 支持所必需的,但它是可用的。如果安装了该模块,应在 Apache 配置中使用 mod_h2.so 替代 mod_http2.so。

有两种方法可以在 Apache 中实现 HTTP2;一种方法是对所有站点和系统上运行的每个虚拟主机全局启用 HTTP2。要全局启用 HTTP2,可以在 ServerName 指令下添加以下行:

Protocols h2 http/1.1

注意

要启用无加密的 HTTP2,请在 httpd.conf 中使用 h2h2chttp/1.1。

使用 h2c 允许在系统上传递无加密的 HTTP2 数据,但不推荐这样做。此外,使用 http/1.1 使系统可以回退到 HTTP1.1 协议版本(如果需要的话)。

要为单独的虚拟主机启用 HTTP2,请在 httpd.conf 或 httpd-ssl.conf 中的 VirtualHost 指令中添加相同的行。

通过使用 apachectl reload 命令重新加载配置,并在访问其中一个托管页面后使用以下方法测试配置:

# grep "HTTP/2.0" /var/log/httpd-access.log

这将返回类似以下内容的信息:

192.168.1.205 - - [18/Oct/2020:18:34:36 -0400] "GET / HTTP/2.0" 304 -
192.0.2.205 - - [18/Oct/2020:19:19:57 -0400] "GET / HTTP/2.0" 304 -
192.0.0.205 - - [18/Oct/2020:19:20:52 -0400] "GET / HTTP/2.0" 304 -
192.0.2.205 - - [18/Oct/2020:19:23:10 -0400] "GET / HTTP/2.0" 304 -

另一种方法是使用 Web 浏览器内建的站点调试工具或 tcpdump;不过,使用这两种方法超出了本文的范围。

通过使用 mod_proxy_http2.so 模块,可以支持 HTTP2 反向代理连接。在配置 ProxyPass 或 RewriteRules 语句时,应使用 h2:// 作为连接方式。

32.9.4. 动态网站

除了 mod_perl 和 mod_php 外,还有其他语言可以用来创建动态网页内容。这些包括 Django 和 Ruby on Rails。

32.9.4.1. Django

Django 是一个 BSD 许可的框架,旨在帮助开发人员快速编写高性能、优雅的 Web 应用程序。它提供了一个对象关系映射器(ORM),使数据类型可以作为 Python 对象进行开发。对于这些对象,Django 提供了丰富的动态数据库访问 API,开发人员无需编写 SQL 代码。它还提供了一个可扩展的模板系统,使应用程序的逻辑与 HTML 展示分离。

Django 安装完成后,应用程序需要一个项目目录以及 Apache 配置,以便使用嵌入的 Python 解释器。该解释器用于根据网站上的特定 URL 调用应用程序。

要配置 Apache 以将特定 URL 的请求传递给 Web 应用程序,请在 httpd.conf 中添加以下内容,指定项目目录的完整路径:

<Location "/">
    SetHandler python-program
    PythonPath "['/dir/to/the/django/packages/'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonAutoReload On
    PythonDebug On
</Location>

32.9.4.2. Ruby on Rails

需要注意的是,configtest 不是 标准,不能期望它适用于所有启动脚本。

有关设置虚拟主机的更多信息,请参考 Apache 官方文档:。

Apache 使用模块来增强基本服务器所提供的功能。有关可用模块的完整列表及其配置细节,请参阅 。

在 FreeBSD 中,某些模块可以通过 Port 编译。在 /usr/ports/www/apache24 目录中输入 make config 以查看哪些模块可用,以及哪些模块是默认启用的。如果该模块未随端口一起编译,FreeBSD Ports 提供了便捷的方式来安装许多模块。本节描述了三种最常用的模块。

可以通过 软件包和 Ports 安装 mod_perl。有关使用此模块的文档可以在 找到。

Django 依赖于 mod_python 和 SQL 数据库引擎。在 FreeBSD 中, Port 会自动安装 mod_python,并支持 PostgreSQL、MySQL 或 SQLite 数据库,默认使用 SQLite。如果要更改数据库引擎,可以在 /usr/ports/www/py-django 中键入 make config,然后安装 Port。

有关如何使用 Django 的更多信息,请参阅 。

Ruby on Rails 是另一个开源 Web 框架,提供了完整的开发堆栈。它优化了 Web 开发人员的生产力,使他们能够快速编写强大的应用程序。在 FreeBSD 上,可以使用 软件包和 Ports 安装。

有关如何使用 Ruby on Rails 的更多信息,请参阅 。

www/apache24
httpd.apache.org
rc(8)
http://httpd.apache.org/docs/vhosts/
http://httpd.apache.org/docs/current/mod/
www/apache24
www/mod_perl2
http://perl.apache.org/docs/2.0/index.html
www/py-django
https://docs.djangoproject.com
www/rubygem-rails
http://guides.rubyonrails.org