初尝LAMP,WAMP or MAMP,可能大多数同学会想到使用AppSer套件吧。今天,借着我们的Web Profiler,我想和大家分享的一下LAMP环境搭建(不过这里暂时不需要M)。
一. 环境准备
工欲善其事必先利其器。首先,我们需要列出环境搭建过程中的Requirements and Optional。
1. Apache HTTP Server 2.4.x
Requirements :
1.1 APR and APR-Util
1.2 PCRE 在2.4中,该兼容工具包已经不再随server一起分发,所以需要我们自己下载安装,地址在:http://www.pcre.org
1.3 GCC
1.4 基于NTP的时间同步工具,如:ntpdate,xntpd等
Optional:
1.5 Perl 5 一些apxs脚本需要运行在perl 5 解释器上
2. PHP 5.3.x
Php 的安装有些小纠结。如果你运行开源php程序,一定需要搞清楚当时的运行环境,感觉它的版本兼容性做的不是很好,某个程序在5.3.x上能运行,到5.4.x就出问题了。这里取上一个稳定版本,故选定5.3.10
Requirements :
2.1 PHP 5.3.10
2.2 Libxml
Optional:
这里根据需要选择,由于我要用到zlib,curl,xdebug等开源库,所以待会会看到我的配置参数里会有其身影。
二.开工(只列出重要步骤)
1 Apache的安装:
./configure --enable-mpms-shared=all --enable-mods-shared=most --prefix=/home/admin/apache2 --with-port=9898 --with-included-apr --with-pcre=/home/admin/pcre/bin/pcre-config --enable-so --with-included-apr --with-pcre=/home/admin/pcre/bin/pcre-config
备注:这里mpm我选择了all,目的很明确,后面要对新版本的Apache Io模型进行性能压测.最后两个选项是2.4.x与之前版本不同的地方.
2 PHP的安装:
./configure --prefix=/home/admin/php5 --with-apxs2=/home/admin/apache2/bin/apxs --with-libxml-dir=/home/admin/libxml2 --with-curl=/home/admin/curl --enable-mbstring --with-zlib-dir=/home/admin/zlib --enable-ftp --enable-zip --with-config-file-path=/home/admin/php5/lib
备注:由于GD库是随发行bundle的,所以这里我省去以下参数--with-gd --with-jpeg-dir --with-png-dir ---enable-gd-native-ttf 。mbstring是多字节编码,这个用过visual studio的朋友都很有感触吧。另外,with系列的命令根据具体需求添加,enable系列的命令同理,附一份我的配置清单吧,如下:
接下来,安装debug扩展模块,首先进入xdebug目录,执行../php5/bin/phpize,有了configure文件后,像其它源码安装一样,执行configure,make,install命令.只不过这里的配置命令需要稍作改变,如:./configure --enable-xdebug --with-php-config=/home/admin/php5/bin/php-config.最后一步,将生成的扩展模块及其一些debug信息加入php.ini文件,如:
zend_extension=/home/admin/xdebug-2.1.4/modules/xdebug.so
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=33333
最后通过php -m 或者 -i查看查看是否成功.
PHP 5.3.10 (cli) (built: Apr 7 2012 13:55:06) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.4, Copyright (c) 2002-2012, by Derick Rethans
......
3 环境配置
经过一阵子make,make install安装完毕后,进入配置环节,首先拷贝php.ini-production到我刚才指定的目录/home/admin/php5/lib,并命名为php.ini,初始化参数都在这里面定义,后面可以酌情修改(如short_open_tag = On等)。
恩,php要做的配置也就这么多了,下面是apache的一系列配置:
a. 虚拟主机配置
<Directory "/home/admin/profiler/www"> AllowOverride all Require all granted </Directory> <VirtualHost *:9898> DocumentRoot /home/admin/profiler/www </VirtualHost>
备注:2.4之前使用的访问控制命令如下:
Order allow,deny
Allow from all
现在,只需要Require all granted就搞定了
b. Php handler配置
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> <IfModule dir_module> DirectoryIndex index.php index.html index.htm </IfModule>
备注:LoadModule php5_module modules/libphp5.so,由于你指定了apxs2目录,php安装过程中也一并帮你搞定了
c. 与profiler应用相关的一些权限设置
chmod 766 tmp
chmod 766 results
chmod 766 work/jobs
chmod 766 work/video
chmod 766 logs
三.收工
参考文献:
1.http://httpd.apache.org/docs/2.4/install.html
2.http://www.php.net/manual/en/install.unix.apache2.php
3.http://httpd.apache.org/docs/2.4/upgrading.html
4.http://xdebug.org/docs/install
6.http://netbeans.org/features/php/
7.http://docs.activestate.com/komodo/6.0/debugphp.html#remote_debug_PHP
8.http://www.netperf.org/netperf/training/Netperf.html