如何在Mandriva 2007 Spring春季推出PHP5
版本1.0
作者:Falko Timme
本教程将介绍如何在Mandriva 2007 Spring服务器上使用Suhosin来强化PHP5。 从Suhosin项目页面: “Suhosin是PHP安装的高级保护系统,旨在保护服务器和用户免受PHP应用程序和PHP内核中已知和未知的缺陷。Suhosin有两个独立的部分,可以单独使用或第一部分是针对PHP内核的小补丁,它实现了对缓冲区溢出或格式化字符串漏洞的一些低级保护,第二部分是强大的PHP扩展,可实现所有其他保护。
本文档不附带任何形式的保证! 我不会保证这将为您工作!
1初步说明
我已经在Mandriva 2007 Spring服务器上测试了这个IP地址为192.168.0.100
。
本教程有点不典型,因为如果安装了PHP5,在Mandriva 2007 Spring上安装Suhosin就没必要,因为默认情况下,Mandriva的PHP5已经附带了Suhosin。 无论如何,我认为仍然值得编写本教程,因为它回答了“我需要做什么来安装Suhosin?” - 没有,如果PHP5已经安装。
2安装Apache2和PHP5(可选)
(如果您已经安装了Apache2和PHP5,本章是可选的,以检查您的PHP5中是否启用了Suhosin,请跳到下一章。)
首先,如果您使用Mandriva的在线存储库(而不是Mandriva DVD)安装软件包,则应更新软件包数据库:
urpmi.update -a
如果您的服务器上没有安装Apache2和PHP5,请立即安装:
urpmi apache-mod_php libphp5_common5
很多o其他软件包将作为依赖关系连同这两个软件包一起安装,您可以在输出中看到:
[root @ server1〜]#urpmi apache-mod_php libphp5_common5
要满足依赖关系,将安装以下软件包:
apache-base-2.2.4-6.2mdv2007.1.i586
apache-conf-2.2.4-4mdv2007.1.i586
apache-mod_php-5.2.1-4mdv2007.1.i586
apache-modules-2.2.4-6.2mdv2007.1.i586
apache-mpm-prefork-2.2.4-6.2mdv2007.1.i586
ccp-0.4.1-1mdk.noarch
libmm14-1.4.2-1mdv2007.1.i586
libphp5_common5-5.2.1-4.2mdv2007.1.i586
php-ctype-5.2.1-1mdv2007.1.i586
php-filter-5.2.1-0.1mdv2007.1.i586
php-ftp-5.2.1-1.1mdv2007.1.i586
php-gettext-5.2.1-1mdv2007.1.i586
php-hash-5.2.1-1mdv2007.1.i586
php-ini-5.2.1-2mdv2007.1.i586
php-json-1.2.1-3mdv2007.1.i586
php-openssl-5.2.1-4.2mdv2007.1.i586
php-posix-5.2.1-1mdv2007.1.i586
php-session-5.2.1-1mdv2007.1.i586
php-simplexml-5.2.1-1mdv2007.1.i586
php-suhosin-0.9.18-4mdv2007.1.i586
php-sysvsem-5.2.1-1mdv2007.1.i586
php-sysvshm-5.2.1-1mdv2007.1.i586
php-timezonedb-2007.3-1mdv2007.1.i586
php-tokenizer-5.2.1-1mdv2007.1.i586
php-xmlreader-5.2.1-1mdv2007.1.i586
php-xmlwriter-5.2.1-1mdv2007.1.i586
php-zlib-5.2.1-4.2mdv2007.1.i586
继续安装27个包?
(6 MB)(Y / n)
[...]
如您所见,软件包php-suhosin
将自动安装,因此默认情况下,您的PHP5将被Suhosin加固。
然后启动Apache2:
/etc/init.d/httpd restart
您现在在您的服务器上具有基本功能的PHP5; 如果您需要特殊的PHP5模块,可以这样搜索:
urpmi --fuzzy php
从输出中,选择所需的模块,像这样安装它们并重新启动Apache2:
urpmi php-bz2 php-calendar php-ctype php-curl php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pam_auth php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php5-ini
/etc/init.d/httpd restart
3获取有关您的PHP5安装的详细信息
除非您已经在Apache安装中创建了虚拟主机,否则默认网站的文档根目录是/ var / www / html
。 我们现在将在该目录中创建一个小型的PHP文件( info.php
)(如果您已经创建了虚拟主机,将其放置在启用了PHP的任何虚拟主机中),并在浏览器中调用该文件。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。
vi /var/www/html/info.php
<?php phpinfo(); ?> |
现在我们在浏览器中调用该文件(例如http://192.168.0.100/info.php
):
如你所见,我们的PHP版本是5.2.1。
如果一切顺利,您现在应该在页面的两个地方看到Suhosin:
而已。 如果您喜欢,可以配置Suhosin(请参阅http://www.hardened-php.net/suhosin/configuration.html ),虽然Suhosin将使用其默认配置开箱即用,因此请确保您知道您的“重新做
4链接
- Suhosin: http : //www.hardened-php.net/suhosin/index.html
- PHP: http : //www.php.net
- Mandriva: http : //www.mandriva.com/en/community