FreeBSD 中文手册
FreeBSD 中文社区
  • 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 提供支持

FreeBSD 中文社区

在本页
  • 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 服务器

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

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

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

注意

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

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 的值替换为要使用的值。

有关设置虚拟主机的更多信息,请参考 Apache 官方文档:http://httpd.apache.org/docs/vhosts/。

32.9.3. Apache 模块

Apache 使用模块来增强基本服务器所提供的功能。有关可用模块的完整列表及其配置细节,请参阅 http://httpd.apache.org/docs/current/mod/。

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

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 启动时间的惩罚。

可以通过 www/mod_perl2 软件包和 Ports 安装 mod_perl。有关使用此模块的文档可以在 http://perl.apache.org/docs/2.0/index.html 找到。

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

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>

有关如何使用 Django 的更多信息,请参阅 https://docs.djangoproject.com。

32.9.4.2. Ruby on Rails

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

有关如何使用 Ruby on Rails 的更多信息,请参阅 http://guides.rubyonrails.org。

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

最后更新于1个月前

这有帮助吗?