APACHE+MYSQL+PHP+SSL服务器之完全安装攻略
目的我们的目标是安装一个允许我们托管多个的web服务器
为了这个任务所需的工具是:
Apache-一个服务器
Mod_SSL-一个安全套接字层(SSL)的模块
OpenSSL-开放源代码工具箱(mod_ssl所需)
RSARef-仅对美国用户
MySQL-一个数据库服务器
PHP-一种脚本语言
“条条大路通罗马”……因此这只是很多能达到我们要求的配置之一
希望你将在结束这个简单的指南后能成功地完成下列目标。
安装并设置MySQL数据库服务器
o 知道怎样检查MySQL服务器的状态
o 知道怎样使用命令行客户程序存取MySQL服务器
o 知道怎样从web存取你的DB服务器
安装并设置具备SSL的Apache服务器
o 配置一个简单的虚拟
o 知道怎样停止并启动服务器
o 知道怎样做一些基本的主机托管配置
安装并配置服务器端脚本的PHP 4.0超文本预处理器
o 知道怎样编写简单的php代码
o 知道怎样使用php连接一个DB
o 创建一个启用PHP地简单与一个数据库沟通
创造一些样本证书用于Apache SSL
o 知道怎样产生一个CSR文件
o 知道怎样加密一个键码
o 知道怎样 签署你自己的证书
本文将覆盖大量的信息。本指南作为一个入门性地的指南
本文绝非是一个详细全面的文档,它当然将有一些错误(希望最小)
假设本文假设你已经把下列软件安装在你的上了。
Perl (最好是ver 5+)
gzip或gunzip
gcc 和 GNU make
如果你没有安装好这些,你将需要采取必要的步骤在解释本文的任何
你也需要对UNIX命令、HTML、和SQL的一个基本了解
工作原理
理解在幕后发生了什么是有帮助的。这里是一个过分简化的工作原理
情况是:我们有一个从一个数据库取出一些数据的网页。John Doe从他的浏览器请求该页,请求被发送给web服务器
让我们一步一步地看:
John Doe 从他的浏览器中点击一个链接;他的浏览器发送对http:/
Apache得到对test.php的请求,它知道.php文件应由PHP预处理器(mod_php)处理
test.php是包含命令的一个PHP脚本。这些命令之一是打开一个到一个数据库的连接并抓取数据。PHP 处理到数据库的连接,并且解释SQL调用从DB中提取数据。
,支付签署费用并等待签署的证书,然后你可以把它存在一个ser
Verisign - http://digitalid.verisign.com
Thawte Consulting - http://www.thawte.com/certs
CertiSign Certificadora Digital Ltda. - http://www.certisign.com.br
IKS GmbH - http://www.iks-jena.de/produkt
Uptime Commerce Ltd. - http://www.uptimecommerce.com
BelSign NV/SA - http://www.belsign.be
你自己的CA
第二种,你可以利用自己的CA并由该CA签署CSR
为你的CA创建一个RSA私用密钥( 被Triple-DES加密并且进行PEM格式化的):
# openssl genrsa -des3 -out ca.key 1024
请在安全的地方备份这个ca.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的
# openssl rsa -noout -text -in ca.key
而且你可以为这个RSA私用密钥创建一个加密的PEM版本
# openssl rsa -in ca.key -out ca.key.unsecure
利用CA的RSA密钥创建一个自签署的CA证书(X509结构)
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt
你可以通过下列命令查看该证书的细节:
# openssl x509 -noout -text -in ca.crt
准备一个签署所需的脚本,因为"openssl ca"命令有一些奇怪的要求而且缺省的OpenSSL配置不允许
现在你可以使这个CA签署服务器的CSR,以便创建用于Apac
# ./sign.sh server.csr
它签署服务器的CSR并且结果在一个server.crt文件中
现在你有两个文件:server.ket和server.crt
SSLCertificateFile /path/to/this/server.crt
SSLCertificateKeyFile /path/to/this/server.key
server.csr不再需要了。