Apache2-SSL-PHP5-Howto(+ Zend Optimizer和IonCube Loader)

Apache2-SSL-PHP5-Howto(+ Zend Optimizer And IonCube Loader)

版本1.0
作者:Falko Timme

本文档介绍如何使用SSL和PHP5(使用Zend Optimizer和ionCube Loader)安装Apache Web服务器(2.0.x)。

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

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


1获取来源

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

cd / tmp
wget http://www.openssl.org/source/openssl-0.9.7g.tar.gz
wget http://ftp.plusline.de/ftp.apache.org/httpd/httpd-2.0.53.tar.gz

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


2安装Openssl

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


3配置安装Apache2

cd / tmp
tar xvfz httpd-2.0.53.tar.gz
cd httpd-2.0.53 /
./configure --enable-ssl --with-ssl = / usr / local / ssl / --enable-suexec --with-suexec-docroot = / usr / local --enable-cgi --enable-rewrite - enable-so --enable-logio --prefix = / usr / local / apache --enable-module = most --enable-shared = max --bindir = / usr / bin --sbindir = / usr / sbin - sysconfdir = / etc / httpd (1行!)

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

./configure --help

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

使
安装

这将在/ usr / local / apache下安装Apache2。 Web根目录是/ usr / local / apache / htdocs ,日志目录是/ usr / local / apache / logs

如果要使用SSL支持启动我们的Apache2,我们必须生成文件/etc/httpd/ssl.crt/server.crt ,否则我们在启动Apache2时会收到一条错误消息。

mkdir /etc/httpd/ssl.crt
openssl genrsa -des3 -passout传递:asecretpassword -out /etc/httpd/ssl.crt/server.key.org 1024
openssl req -new -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.csr -days 3650
openssl req -x509 -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -in /etc/httpd/ssl.crt/server.csr -out / etc / httpd /ssl.crt/server.crt -days 3650
openssl rsa -passin pass:asecretpassword -in /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.key
mkdir /etc/httpd/ssl.key
mv /etc/httpd/ssl.crt/server.key /etc/httpd/ssl.key/server.key
chmod 400 /etc/httpd/ssl.key/server.key

请注意:在您创建/etc/httpd/ssl.crt/server.crt时,您可以接受所有问题的默认值,因为在任一情况下,如果您尝试访问,您将在浏览器中收到警告服务器上的SSL站点:

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


4安装PHP5

cd / tmp
tar xvfz php-5.0.4.tar.gz
./configure --with-apxs2 = / usr / sbin / apxs --with-mysql = / var / lib / mysql --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 --enable-memory-limit - -disable-debug --disable-rpath --disable-static --with-pic --with-layout = GNU --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable- trans-sid --enable-bcmath --with-bz2 --enable-ctype --with-db4 --with-iconv --enable-filepro --with-gettext --enable-mbstring --enable-shmop - enable-wddx --disable-xml --with-xmlrpc --enable-yp --with-zlib --without-pgsql --enable-dbx --enable-experimental-zts --without-mm --enable-gd -native-ttf --with-imap-ssl --enable-soap --enable-dbase (1行!)

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

./configure --help

获取所有可用配置选项的列表! 在PHP5中,必须指定--with-mysql [= DIR]选项,否则PHP5不会有MySQL支持! 是的,在运行./configure语句之前,必须先安装MySQL。 如果您从一个软件包(.rpm或.deb)安装MySQL,请确保您还安装了相应的mysql-devel软件包! 否则,./ configure语句将中止错误消息。

如果使用--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-5.0.4/php.ini-dist /etc/php.ini

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


5配置Apache

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

AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType text / html .shtml
AddOutputFilter INCLUDES .shtml
AddType application / x-httpd-php .php .php5 .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

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

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

<?php
  phpinfo();
php?>


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


7安装Zend Optimizer和IonCube Loader

如果要运行使用Zend编码器编码的 PHP文件,则需要Zend Optimizer。 如果要运行已经使用ionCube PHP Encoder编码的 PHP文件,则需要使用ionCube Loader。 我将展示如何安装两者。


IonCube装载机

http://downloads.ioncube.com/loader_downloads获取最新版本的ionCube Loader。

cd / tmp /
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xvfz ioncube_loaders_lin_x86.tar.gz
cd ioncube /
mkdir / usr / local / lib / ioncube
mv ioncube_loader_lin_5.0.so / usr / local / lib / ioncube /

现在编辑/etc/php.ini并在开头添加行zend_extension = / usr / local / lib / ioncube / ioncube_loader_lin_5.0.so行:

[PHP]
zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.0.so


Zend Optimizer

http://www.zend.com/store/free_download.php获取最新版本的Zend Optimizer,并将其保存在/ tmp /目录中。

cd / tmp /
tar xvfz ZendOptimizer-2.5.7-linux-glibc21-i386.tar.gz
cd ZendOptimizer-2.5.7-linux-glibc21-i386 / data / 5_0_x_comp /
mkdir / usr / local / lib / Zend
mv ZendOptimizer.so / usr / local / lib / Zend /

编辑/etc/php.ini ,并在文件的[PHP]部分添加两行以上,使其如下所示:

[PHP]
zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.0.so
zend_extension=/usr/local/lib/Zend/ZendOptimizer.so
zend_optimizer.optimization_level=15

现在重新启动Apache2:

/etc/init.d/httpd restart

如果您重新加载您在第6步中创建的info.php ,您现在应该看到页面上提到了ionCobe Loader和Zend Optimizer:


链接

Apache: http//www.apache.org/

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

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

Zend: http : //www.zend.com/

ionCube: http : //www.ioncube.com/


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

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

支付宝扫一扫打赏

微信扫一扫打赏