日期:2014-05-16  浏览次数:20637 次

Linux+Apache+Mysql+Php部署
一.apache的部署
 
上传:httpd-2.2.22.tar.gz
解压:tar xzvf httpd-2.2.22.tar.gz    
进入解压后的文件目录,进行注册初始化操作:  ./configure --enable-dav --enable-so --prefix=[apache安装目录]
make
make install
进入[apache安装目录]/bin目录   启动服务器 ./apachectl  start
测试:http://localhost


二.php的部署

(1)安装php
 
上传: php-5.3.13.tar.gz
解压:tar xzvf  php-5.3.13.tar.gz    
进入解压后的文件目录,进行注册初始化操作:
./configure--prefix=[php安装目录] --with-config-file-path=[php安装目录]--with-apxs2=[apache安装目录]/bin/apxs 
make
make test
make install

问题:
在make时 编译安装时出现 undefined reference to `libiconv' 错误
解决:在第三步结束后   修改下 Makefile,找到其中的
 EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt

在最后面添加 -liconv ,修改后如下
 
EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt –liconv


(2)将php-5.3.13目录中的php.ini-development(若是开发环境建议用php.ini-development,若是生产或测试环境建议用php.ini-production)文件复制到php安装目录,并重命名为php.ini

(3)在“--with-apxs2”指定的apache的modules文件夹生成libphp5.so,修改apache的httpd.conf文件,添加如下内容:
LoadModule php5_module modules/libphp5.so  
PHPIniDir [php.ini所在目录]  
AddType application/x-httpd-php .php 

若“ LoadModule php5_module modules/libphp5.so ”已存在,则不需添加。

安装完成后在htdocs目录下,新建一个PHP文件如:
vim test.php  
<?php  
 phpinfo();  
 ?>  


测试:http://localhost/test.php

三.安装mysql数据库

(1.)查看是否已经安装数据库
a)查看系统中是否以rpm包安装的mysql
rpm -qa | grep -i mysql  
MySQL-server-5.1.49-1.glibc23  
MySQL-client-5.1.49-1.glibc23  

卸载MySQL-server-5.1.49-1.glibc23和MySQL-client-5.1.49-1.glibc23
rpm -e MySQL-client-5.1.49-1.glibc23  
rpm -e MySQL-server-5.1.49-1.glibc23  


b)查看有没有mysql服务
chkconfig --list | grep -i mysql  
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off  

删除mysql服务
chkconfig --del mysql  

c)删除分散mysql文件夹
whereis mysql  
mysql: /usr/lib/mysql /usr/share/mysql  

分别删除

rm -rf /usr/lib/mysql/  
rm -rf /usr/share/mysql  


通过以上几步,mysql应该已经完全卸载干净了


(2)安装mysql数据库
1.安装以下mysql包:
MySQL-shared-compat-5.1.63-1.rhel4.x86_64.rpm
MySQL-shared-community-5.1.63-1.rhel4.x86_64.rpm
MySQL-devel-community-5.1.63-1.rhel4.x86_64.rpm
MySQL-client-community-5.1.63-1.rhel4.x86_64.rpm


例如:rpm -ivh   MySQL-shared-compat-5.1.63-1.rhel4.x86_64.rpm

2. 进入php-5.3.13/ext/mysql目录,执行如下命令
[php安装目录]/bin/phpize  
./configure --with-php-config=[php安装目录]/bin/php-config --with-mysql  
make  
make install  

3.安装完成后会生成一个mysql.so的文件
4.在php安装目录新建ext目录如:/opt/php/ext。将mysql.so文件复制到此目录下
修改php.ini文件加载mysql组件,添加extension_dir=/opt/php/ext和extension=mysql.so,如果有extension_dir=/opt/php/ext则不需要增加