Apache-mod_ssl-PHP-Howto

Apache-mod_ssl-PHP-Howto

版本1.0
作者:Falko Timme

本文介绍如何安装启用了mod_ssl和PHP的Apache Web服务器(1.3.x)。

这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。

本文档不附带任何形式的保证!


1获取来源

我们需要以下软件:openssl,apache(1.3.x),mod_ssl和PHP。 我们将从/ tmp目录安装软件。

cd / tmp
wget http://www.openssl.org/source/openssl-0.9.7c.tar.gz
wget http://www.apache.de/dist/httpd/apache_1.3.29.tar.gz
wget http://www.modssl.org/source/mod_ssl-2.8.16-1.3.29.tar.gz

然后去http://www.php.net下载最新的PHP版本(在本文撰写的时候是4.3.4)。 将其下载到/ tmp目录


2安装Openssl

tar xvfz openssl-0.9.7c.tar.gz
cd openssl-0.9.7c
./config
使
安装


3配置并安装mod_ssl和apache

cd / tmp
tar xvfz apache_1.3.29.tar.gz
tar xvfz mod_ssl-2.8.16-1.3.29.tar.gz
cd mod_ssl-2.8.16-1.3.29
./configure --with-apache = .. / apache_1.3.29 --with-ssl = / usr / local / ssl / --prefix = / usr / local / apache --enable-module = most -enable-shared = max --logfiledir = / var / log / httpd --htdocsdir = / usr / local / httpd / htdocs --bindir = / usr / bin --sbindir = / usr / sbin --sysconfdir = / etc / httpd 线!)

(选项 --htdocsdir = / usr / local / httpd / htdocs 指定此Web服务器将要发送的文档的默认位置在 / usr / local / httpd / htdocs中

请注意:您可以更改configure命令以满足您的需要。 类型

./configure --help

获取所有配置选项的列表!)

cd ../apache_1.3.29
使
使证书TYPE = custom

< - 签名算法:R
< - 国家名称:输入您的国家名称(例如德国DE)
< - 州或省名称:例如下萨克森州,加利福尼亚州等
< - 地点名称:例如Lueneburg,洛杉矶,巴黎,伦敦等
< - 组织名称:例如您公司的名称
< - 组织单位名称:例如IT部门
< - 通用名称:例如我的公司CA
< - 电子邮件地址:例如info@mycompany.tld
< - 证书有效期:例如365(一年)
< - 证书版本:3
< - 国家名称:见上文
< - 州或省名称:见上文
< - 地点名称:见上文
< - 组织名称:见上文
< - 组织单位名称:见上文
< - 通用名称:服务器的完全限定域名(FQDN),例如www.example.com
< - 电子邮件地址:见上文
< - 证书有效期:见上文
< - 证书版本:3
< - 现在加密私钥? n
< - 现在加密私钥? n

请注意:接受以上所有问题的默认值是安全的,因为在任一情况下,如果您尝试访问服务器上的SSL站点,您将在浏览器中收到警告:

如果你不想得到这个警告,你必须得到一个“真正的”SSL证书(但这不是免费的!)。 看看以下网站:

安装


4安装PHP

cd / tmp
tar xvfz php-4.3.4.tar.gz
cd php-4.3.4
./configure --with-apxs = / usr / sbin / apxs --enable-track-vars --enable-sockets --with-config-file-path = / etc --enable-ftp --with-zlib - -with-openssl = / usr / local / ssl --enable-force-cgi-redirect --enable-exif --with-gd (1行!)

请注意:您可以更改configure命令以满足您的需要

./configure --help

获取所有可用配置选项的列表! 如果不指定--with-mysql [= DIR]选项,则将使用捆绑的MySQL库。 这在大多数情况下起作用。

如果使用--with-gd,并且由于缺少libpng库而收到错误消息,请安装它,然后重新运行configure命令。 在Debian,

apt-get install libpng-dev libpng2 libpng2-dev libpng3

工作正常我安装libpng 。 如果您有基于rpm的发行版,请使用http://www.rpmfind.net为您找到rpm,或者查看http://www.libpng.org/pub/png/libpng.html 。)

使
安装

这将安装一个可以从命令行运行的PHP二进制文件(通常在/ usr / local / bin / php下 )以及一个Apache模块。

现在我们必须创建/etc/php.ini。 最简单的方法是使用PHP源代码:

cp /tmp/php-4.3.4/php.ini-dist /etc/php.ini

如果你喜欢,现在可以修改/etc/php.ini来满足你的需要。


5配置Apache

现在我们必须在/etc/httpd/httpd.conf中添加以下条目(在处理文档类型的部分中,应该有如AddHandlerAddType这样的条目):

AddType application / x-httpd-php .php .php4 .php3

创建/etc/init.d/httpd

#!/bin/sh
          
case "$1" in
start)
  /usr/sbin/apachectl startssl
;;
stop)
  /usr/sbin/apachectl stop
;;
restart)
  $0 stop && sleep 3
  $0 start
;;
reload)
  $0 stop
  $0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac


chmod 755 /etc/init.d/httpd

为了在启动时启动Apache ,请执行以下操作:

ln -s /etc/init.d/ httpd /etc/rc2.d/S20 httpd
ln -s /etc/init.d/ httpd /etc/rc3.d/S20 httpd
ln -s /etc/init.d/ httpd /etc/rc4.d/S20 httpd
ln -s /etc/init.d/ httpd /etc/rc5.d/S20 httpd
ln -s /etc/init.d/ httpd /etc/rc0.d/K20 httpd
ln -s /etc/init.d/ httpd /etc/rc1.d/K20 httpd
ln -s /etc/init.d/ httpd /etc/rc6.d/K20 httpd

然后启动你的Apache:

/etc/init.d/httpd开始


6测试您的配置

netstat -tap

应该告诉你Apache使用端口80(http)和443(https)。

现在转到/ usr / local / httpd / htdocs并创建一个名为info.php的文件,内容如下:

<?php
  phpinfo();
php?>


尝试使用浏览器(例如使用服务器的IP地址)通过http (例如http://192.168.0.1/info.php )和httpshttps://192.168.0.1/info.php )访问它。 输出应与此截图类似:


链接

Apache: http//www.apache.org/

OpenSSL: http : //www.openssl.org/

mod_ssl: http : //www.modssl.org/

PHP: http : //www.php.net/


赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏