分享

apache整合php编译安装配置(LAMP)

 忧郁_小刚 2011-04-23

环境:VMware Workstation  Centos5.5
首先用yum卸载掉系统自安装的httpd,mysql,php
软件需要:
eaccelerator-0.9.6.1.tar.bz2
gd-2.0.33.tar.gz
httpd-2.2.9.tar.gz
mysql-5.5.11.tar.gz
php-5.2.8.tar.gz
ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
一、        mysql的安装
解压缩后
安装步骤为:
#cmake .
#make
#make install
安装后的目录/usr/local/mysql/
建立mysql用户和组
#useradd mysql
这里要给mysql安装目录以mysql用户和组权限:
#cd /usr/local/mysql/
#chown -R mysql:mysql .
#/usr/local/mysql/bin/mysql_install_db  --user=mysql
# chown -R root.root /usr/local/ mysql/
启动mysql:
#cd /usr/local/mysql/bin
#./mysqld_safe &
设置root密码:
#./mysqladmin  -u root  password “mysql”(这里是我的mysql密码)
登陆mysql:
#./mysql –u root  -p
Mysql安装到/usr/local/mysql
添加到系统服务,并开机启动
#cp  /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld (复制自带脚本到启动目录)
#chmod  755 /etc/rc.d/init.d/mysqld  (加执行权限)
#chkconfig  --add  mysqld  (添加到chkconfig列表)
#chkconfig  --level 2345 mysqld on  (在2345级别开机启动)
这样设置后,就可以用service管理mysqld服务的启动、关闭和重启。
添加库文件搜索路径
#echo  "/usr/local/mysql/lib/"  >>  /etc/ld.so.conf  (添加到ld.so.conf)
#ldconfig   (载入修改)
#ldconfig –v  (查看所有搜索路径)
#echo  "export PATH=$PATH:/usr/local/mysql/bin/"  >>  ~/.bashrc  (添加环境变量到家目录,这对本用户有效)
#source  ~/.bashrc  (使修改立即生效)
二、        安装GD
# tar -jxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/www/gd --with-png --with-freetype --with-jpeg --with-zlib  --with-fontconfig
注意这里配置完成后,最后面会打印出来一个文字框,有些no状态的,这时候可以用yum来安装相应的库文件,可以参考下面的文件是否安装,安装问这些库文件,再来重新configure,直到所有的项都问yes状态(即使为no,configure也会成功)。
bzip2-devel  zlib-devel  libjpeg-devel  libpng-devel  libtiff-devel  freetype-devel  openssl-devel  libxml2-devel  gettext-devel  fontconfig-devel
# make
#如果GD报错:configure.ac:64: warning: macro `AM_ICONV' not found in library就make clean一下,然后再make
# make install
三、        安装apache
# groupadd http
# useradd -g http -s /sbin/nologin -M http
# tar -zxvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9.tar.gz
2.2.x版本的apache是自带了apr和apr-util的,不用下载,直接编译,注意编译要指明安装路径,否则编译apache时候会找不到apr和apr-util的
# cd srclib/apr  
# ./configure --prefix=/usr/local/apr --enable-threads --enable-other-child --enable-static
# make && make install
# cd ../apr-util
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
# cd ../..
# ./configure --prefix=/usr/local/www/apache --enable-so --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
# make
# make install
添加到自启动
# cp /usr/local/www/apache/bin/apachectl /etc/rc.d/init.d/httpd
然后 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
#chkconfig:2345 70 30
#description: Activates/Deactivates Apache Web Server
#processname: httpd
关键是 chkconfig: 2345 70 30 这一行,第一个数字 2345 表示让 apache 在 2345 这四个级别都自动运行;第二个数字 70 表示进程启动的优先级;第三个数字 30 表示进程停止的优先级。修改保存之后执行 /sbin/chkconfig 就自动在各个级别的 rc*.d 中增加 httpd 的 link 。要查看 chkconfig 是否 reset 正确,通过命令 /sbin/chkconfig --list httpd 就可以查看当前 httpd service 被配置在哪几个运行级别自启动。
关于chkconfig: 2345 70 30 这一行中第二和第三个数字设置时需要注意的地方:
1、优先级的数字越大,表示越靠后,也就是越不优先;
2、一般把数据库服务器的启动优先级高于依赖于该数据库的应用
3、不依赖其它服务的服务优先启动,依赖于其它服务的服务要后启动;
4、停止时的优先级顺序刚好同启动时相反,也就是说依赖于其它服务的服务要先关闭;被别的服务依赖的服务要后关闭。

最后,运行chkconfig把Apache添加到系统的启动服务组里面:
# chkconfig --add httpd
# chkconfig httpd on

配置apache
#vi /usr/local/www/apache/conf/httpd.conf
(1)找到DocumentRoot "/usr/local/www/apache/htdocs"
修改为:DocumentRoot "/var/www/html"
(2)找到
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all        //这句改为Allow from all
</Directory>
(3)找到<Directory "/usr/local/www/apache/htdocs">
修改为:<Directory "/var/www/html">
(4)找到
Options Indexes FollowSymLinks  //这行注释掉,禁止目录列表
(5)找到

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

User daemon              //改为http
Group daemon             //改为http

</IfModule>
</IfModule>

四、        安装php
# tar -jxvf php-5.2.17.tar.bz2
# cd php-5.2.17
# ./configure --prefix=/usr/local/www/php --with-apxs2=/usr/local/www/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/www/gd --with-config-file-path=/usr/local/www/php --enable-mbstring=all --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization  --enable-mbregex --with-zlib --enable-sockets --enable-soap --enable-exif --with-zlib-dir --with-bz2 --with-libxml-dir
# make
# make install
# cp php.ini-dist /usr/local/www/php/php.ini

整合apache与php
# vi /usr/local/www/apache/conf/httpd.conf
找到AddType application/x-gzip .gz .tgz在其下加以下内容
AddType application/x-httpd-php .php
设置WEB默认文件
DirectoryIndex index.html
改成:
DirectoryIndex index.php index.html index.htm
保存退出
#/etc/init.d/httpd restart
然后在目录/var/www/html中建一个index.php用来测试php情况:
#vim  index.php
<?php
phpinfo();
?>
保存退出
重启apache即可
五、        安装php加速程序
1、        安装eaccelerator加速软件
eaccelerator是php的加速软件,使用后php的执行效率会有很大幅度的提升。
# tar –jxvf eaccelerator-0.9.6.1.tar.bz2
# cd eaccelerator-0.9.6.1
# /usr/local/www/php/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/www/php/bin/php-config
# make
# make install
make install后会看到屏幕提示的eaccelerator.so所在的目录,php5.2.x系列是在/usr/local/www/php/lib/php/extensions/no-debug-non-zts-20060613
修改php.ini
# vi /usr/local/www/php/php.ini
在文件最后,[zend]之前,注意,这部分内容务必放在[zend]之前,不然可能会出现不可预期的服务器问题。添加下列信息:
[eaccelerator]
zend_extension="/usr/local/www/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


# mkdir /tmp/eaccelerator
# chmod 777 /tmp/eaccelerator

2、安装Zend
# tar -zxvf  ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
cp ZendOptimizer-3.3.0-linux-glibc21-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/www/php/lib/php/extensions/no-debug-non-zts-20060613/
# vi /usr/local/www/php/php.ini
添加如下内容
[Zend Optimizer]
zend_optimizer.optimization_level=1
zend_optimizer.encoder_loader=0
zend_extension="/usr/local/www/php/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so"
在浏览器中打开phpinfo()那个测试页,如果出现以下内容,证明安装成功!
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
    with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多