ApacheMySQLPHPSSL服务器之完全安装攻略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ApacheMySQLPHPSSL服务器之完全安装攻略目的我们的目标是安装一个承诺我们托管多个网站的web服务器,其中一些是针对电子商务的安全解决方案,而大部分网站是通过连接一个数据库服务器同时提取其数据的脚本驱动的。
为了那个任务所需的工具是:
Apache-一个网站服务器
Mod_SSL-一个安全套接字层(SSL)的模块
OpenSSL-开放源代码工具箱(mod_ssl所需)
RSARef-仅对美国用户
MySQL-一个数据库服务器
PHP-一种脚本语言
“条条大路通罗马”……因此这只是专门多能达到我们要求的配置之一。我选择如此的配置,是因为它是最简单和最快的一种。选择Mod_SSL/OpenSSL的缘故是因为我有它的先前体会,是最快配置和最容易安装的一种。为了彼此方便地与Apache 集成,我选择了PHP和MySQL。记住,Perl能做到你想要做任何工作,然而,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 明白如何样签署你自己的证书
本文将覆盖大量的信息。本指南作为一个入门性地的指南,让你步入电子商务、网站脚本和安全套接字层 (SSL)的世界,目的是关心你建立由储备在数据库中的动态信息驱动的安全网站。
本文绝非是一个详细全面的文档,它因此将有一些错误(期望最小),在你阅读它时请记住这一点。然而,它将激起你的热情并运行前面提到的产品,期望让你更好明白得这些东西是如何样工作的。不需要往常的编程知识,但假定你有点运算机知识背景。我的目标是编写那个文档以便任何新手能明白得我正在谈论的东西。假如我达到了,那么我做了一件好事。假如你轻而易举地建立了电子商务站点,比我做的更杰出:-) 给我一些说明。
假设
本文假设你差不多把下列软件安装在你的系统上了。
Perl (最好是ver 5+)
gzip或gunzip
gcc 和 GNU make
假如你没有安装好这些,你将需要采取必要的步骤在说明本文的任何过程前把他们安装好。
你也需要对UNIX命令、HTML、和SQL的一个差不多了解。你应该有如何样治理你的Linux机器的一个差不多了解。你也需要一个完全正常的Linux机器,你将在它上面安装软件。因此你将需要在前面列出的必要的软件包以编译源代码,同时最后,保证你还没有在Linux机器中预装了MySQL、Apache、或PHP。
工作原理
明白得在幕后发生了什么是有关心的。那个地点是一个过分简化的工作原理,下图和随后的说明目前不是完全正确的,只是它的一个要点概述:
情形是:我们有一个从一个数据库取出一些数据的网页。John Doe从他的扫瞄器要求该页,要求被发送给web服务器,接着调用一个PHP脚本。PHP脚本由PHP预处理器说明并从数据库中取出数据,然后结果由余下的PHP脚本加工并转化成HTML,做后的HTML被发回用户的扫瞄器。
让我们一步一步地看:
John Doe 从他的扫瞄器中点击一个链接;他的扫瞄器发送对 :// yourserver /test.php的要求。
Apache得到对test.php的要求,它明白.php文件应由PHP预处理器(mod_php)处理,因此它通知 PHP处理它。它明白这些,是因为我们在Apache的配置中指定它。test.php是包含命令的一个PHP脚本。这些命令之一是打开一个到一个数据库的连接并抓取数据。PHP 处理到数据库的连接,同时说明SQL调用从DB中提取数据。服务器服务器得到从PHP说明器来的连接要求,同时处理那个要求。要求可能是类似于一个简单的选择语句,或数据库表创建等。
数据库然后将应答和结果回送到PHP说明器。
Apache回送该结果到John Doe的扫瞄器,作为对他要求的应答。John Doe现在看见一个包含从一个数据库来的一些信息的网页。
假如这是一个对 s:// yoursecureserver /test.php的要求,整个过程与上述类似,除了每个要求和应答在两端被加密和解密,即,扫瞄器连接Apache,获得它的加密键码,加密要求并发送它。
服务器看到要求,解密同时认证它。它处理文件,加密同时发送它。然后扫瞄器用服务器的键码解密它。记住既然连接被加密,确实是用不同的端口用。端口80用在在非安全连接上,而端口443用在安全连接时。
再说一次,它不是100%的正确,然而它足够快地让你明白幕后发生的情况的专门简单的概述。
既然我们对我们正在试图达到的目标有了一个专门差不多的了解,让我们连续安装软件吧。
预备
Apache (Web服务器)- ://
Mod_SSL (安全服务器层)- ://
OpenSSL (SSL工具箱)- ://
PHP (脚本语言)- ://
MySQL (SQL数据库服务器 )- :// mysql
下载所有(tar文件)源代码到一个临时名目下。保证你把他们放在有专门多空间的地点……你应该以root身份下载他们以幸免权限问题。
我们的打算
我们的打确实是第一安装MySQL服务器并保证它工作,然后我们将安装PHP和
Mod_SSL,最后我们将安装Apache网站服务器。在我们安装了Apache以后,我们能够测试PHP和Mod_SSL支持是否起作用了。
MySQL源代码安装(UNIX)
你必须用来执行安装MySQL源代码分发的差不多命令是(自一个没解开“tar”文件):通过使用su成为 root用户。
$su
直截了当进入你有tar文件的名目。(使用一个临时名目。那个地点使用
/tmp/download/ )
#cd /tmp/download/
使用下列命令提取文件。
# gunzip -d -c mysql-3.22.xx.tar.gz | tar xvf -
改变到新名目,它在提取期间创建。
# cd mysql-3.22.xx