OpenSSL 项目是一个协作努力,旨在开发一个强大、商业级、功能齐全的开源工具包,实现安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议,以及一个功能强大的通用加密库。 该项目由一个世界范围内的志愿者社区管理,他们使用互联网进行沟通、计划和开发 OpenSSL 工具包及其相关文档。 OpenSSL 基于 Eric A. Young 和 Tim J. Hudson 开发的出色的 SSLeay 库。 OpenSSL 工具包在 Apache 式许可下获得许可,这基本上意味着您可以免费获得它并将其用于商业和非商业目的,但须遵守一些简单的许可条件。 从作者的角度来看,它是使用开源软件构建安全 Unix 服务器的基础,它对于 mod_ssl、OpenSSH 和许多其他提供加密数据处理的主要产品来说是必需的。 | ||
--www.openssl.org |
OpenSSL 提供了上述产品所需的库和包含文件,并提供了一个用于构建服务器和客户端证书的应用程序。
GNU dbm 是一组使用可扩展哈希的数据库例程。它的工作方式类似于标准的 UNIX dbm 例程。 | ||
--www.gnu.org/software/gdbm |
GNU dbm 是几乎每个发行版都使用的非常重要的应用程序。 因此,默认情况下,它已安装在我测试的所有发行版上。
很可能,构建带有 mod_rewrite 和 PHP 的 Apache 所必需的头文件默认情况下未安装。 请查阅您的发行版 CD/DVD 并安装 devel 包(版本可能有所不同)
rpm -i gdbm-devel-1.8.0-546 |
此过程已针对 SuSE 和 Redhat 进行了验证。 请确认其他基于 RPM 的系统,如 Mandrake。 Debian 将尽快跟进。
Debian 基础系统的用户可以按如下方式安装 gdbm
apt-get install libgdbmg1-dev |
MySQL 是一个非常快速、强大且易于处理的数据库。
特别是对于大多数访问是读取,很少写入的网络应用程序,MySQL 是首选。 最新版本也具有事务功能。 如果您计划一个将大量数据写入数据库的 Web 应用程序,那么 PostgreSQL 也许更适合您的项目,请参阅 第 6.2.4 节 获取安装提示
如果您希望 PHP 中包含 MySQL 支持,则需要来自 MySQL 的 C-API 来编译 PHP。 如果您想使用 mod_authmysql,也需要它,有关更多信息,请参阅 第 4.3 节
cd /usr/local tar -xvzf mysql-3.23.55.tar.gz cd mysql-3.23.55 ./configure \ --prefix=/usr/local/mysql \ --enable-assembler \ --with-innodb \ --without-debug make make install /usr/local/mysql/bin/mysql_install_db echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf ldconfig |
为了提高安全性,请在您的系统上添加一个 MySQL 用户,例如 “mysql”。
chown -R mysql /usr/local/mysql/var |
您可能希望在启动时自动启动 MySQL,复制/usr/local/mysql/share/mysql/mysql.server到/etc/init.d/(或 rc-script 所在的任何位置)并在运行级别目录中创建相应的符号链接。
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/ ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/K20mysql |
此部分是可选的,描述了如何将 MySQL 守护进程绑定到 localhost IP
我建议只将 MySQL 绑定到环回接口 127.0.0.1。 这样可以确保没有人可以通过网络连接到您的 MySQL 守护进程。 但当然,只有当 MySQL 与 Web 服务器在同一台机器上运行时才有意义。
编辑/etc/init.d/mysql.server并按如下方式编辑第 107 行
原始行
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file& |
更改的行
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --bind-address=127.0.0.1& |
或者,您可以完全禁用 MySQL 的网络功能。
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --skip-networking & |
[1] | 此 RPM 包含 php 所需的头文件 |
[2] | 仅当从 CVS 树构建 PHP 时才需要 |