Linux下PHP+MYSQL+APACHE配置方法

apache: http://www.apache.org  
mysql: http://www.mysql.com  
php: http://www.php.net/downloads.php  
gd: http://www.boutell.com/gd/#buildgd  
ZendOptimizer http://www.zend.org/products/zend_optimizer  
Gettext http://ftp.gnu.org/pub/gnu/gettext/  
netpbm http://sourceforge.net/projects/netpbm/  
所用的软件版本如下:  
Redhat Enterprise As 4  
(apache)httpd-2.0.50.tar.gz  
mysql-standard-5.0.18-linux-i686.tar.gz  
php-5.1.2.tar.gz  
gd-2.0.33.tar.gz  
ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz  
Imap  
Gettext  
一.安装MYSQL mysql-standard-5.0.18-linux-i686.tar.gz  
我把他全部下载到/usr/local/software目录下  
进入安装包目录:cd /usr/local/software  
1、[root@localhost software]# chmod 755 mysql-standard-5.0.18-linux-i686.tar.gz  
2、[root@localhost software]# tar xfz mysql-standard-5.0.18-linux-i686.tar.gz  
解压后生成mysql-standard-5.0.18-linux-i686目录,我们进入该目录:  
3、[root@localhost software]# cd mysql-standard-5.0.18-linux-i686  
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个  
安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help:  
在这里我要特别强调在编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了  
所以我这样编译  
访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.  
7、我们先建立一个mysql和mysql用户来访问mysql:  
[root@localhost mysql-standard-5.0.18-linux-i686]# groupadd mysql #建立mysql组  
8、[root@localhost mysql-standard-5.0.18-linux-i686]# useradd mysql -g mysql #建立mysql用户并且加入到mysql组中  
9、建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)  
[root@localhost mysql-standard-5.0.18-linux-i686]# ./scripts/mysql_install_db --user=mysql  
#初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限,;  
10、[root@localhost mysql-standard-5.0.18-linux-i686]# mv mysql-standard-5.0.18-linux-i686 /usr/local/mysql  
然后设置权限  
cd /usr/local/mysql  
11、[root@localhost mysql]# chown -R root . #设定root能访问/usr/local/mysql  
12、[root@localhost mysql]# chown -R mysql data #设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件  
13、[root@localhost mysql]# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql  
14、设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:  
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &  
如果没有问题的话,应该会出现类似这样的提示:  
[1] 42264  
# Starting mysqld daemon with databases from /usr/local/mysql/var  
这就证明你安装成功了  
用如下命令修改root密码,默认安装密码为空,为了安全你必须马上修改  
15、/usr/local/mysql/bin/mysqladmin -uroot password xksoft321  
现在修改的密码为:xksoft321  
16.设置开机自动启动  
cp support-files/mysql.server /etc/init.d/  
二、安装apache  
进入安装包目录:cd /usr/local/software  
1、# chmod 755 httpd-2.0.50.tar.gz  
2、# tar xfz httpd-2.0.50.tar.gz  
3、# cd httpd-2.0.50  
开始配置APACHE  
4、#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most  
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-module=most --enable-shared=max --enable-rewrite  
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-access  
#./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all C-enable-rewrite=shared  
5、# make  
6、# make install  
7、察看编译进apache的模块:  
# /usr/local/apache2/bin/httpd -l  
compiled-in modules:  
http_core.c  
mod_so.c  
看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。  
三、安装GD  
进入安装包目录:cd /usr/local/software  
1、tar -zxvf gd-2.0.33.tar.gz  
2、cd gd-2.0.33  
3、./configure --prefix=/usr/local/gd2  
4、make  
5、make install  
Gettext  
1 .tar xfz  
2 cd  
3 ./configure Cwith-prefix=/usr/local/gettext  
4 make  
5 make install  
四、安装php  
进入安装包目录:cd /usr/local/software  
1、# tar xfz php-5.1.2.tar.gz  
2、解压后进入目录:  
# cd php-5.1.2  
3、进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得:  
# ./configure --enable-mbstring=LANG --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd2 --with-apxs2=/usr/local/apache2/bin/apxs Cwith-gettext=/usr/local/gettext  
DDenable-mbstring=LANG(解决php extension:mbstring的问题)  
如果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误.  
比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译:  
4、# make  
编译成功后出现"Build complete."字样,那么就可以进行安装了:  
5、# make install  
6、安装完成后把php.ini-dist复制到/usr/local/lib/,并重命名为php.ini  
# cp php.ini-dist /usr/local/lib/php.ini  
基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误.  
7、为了让Apache能够直接解析php,我们还要进行一些配置.  
# vi /usr/local/apache2/conf/httpd.conf  
在httpd.conf文件中,添加(应该将以下两句添加在其他AddType之后)  
AddType application/x-httpd-php .php .phtml  
AddType application/x-httpd-php-source .phps  
确保文件中有以下一句话,没有就自己添加在所有LoadModule之后:  
LoadModule php5_module modules/libphp5.so  
把index.php加入以下DirectoryIndex后面  
DirectoryIndex index.php index.html index.html.var  
好了,在vi中使用":wq"保存httpd.conf文件,退出vi。  
8、启动apache server:  
# /usr/local/apache2/bin/apachectl restart  
现在apache就能够运行php了,写个文件测试一下,在/usr/local/apache2/htdocs目录下,新建一个phpinfo.php文件,  
文件中只有一行代码:  
<? phpinfo(); ?>  
保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。  
如果出现错误,比如提示你下载phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确.  
五、ZendOptimizer  
进入安装包目录:cd /usr/local/software  
1、# tar xfz ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz  
2、# cd ZendOptimizer-2.6.2-linux-glibc21-i386  
3、# ./install.sh  
4、问Confirm the location of your php.ini file的时候打入/usr/local/lib/  
问Are you using Apache web server?的时候选YES  
六、  
1、./configure --prefix=/usr  
2、make  
3、make check  
4、make install  
随系统启动服务配置  
如果要在计算机启动的时候就运行httpd服务,可以在/etc/rc.d/rc.local文件中加入这几行:  
#start apache  
/usr/local/apache2/bin/apachectl start  
如果启动不了,请给相应的启动脚本可执行权限  
比如apache启动不了 chmod a=x apachectl  
为了以后操作不要输入类似/usr/local/apache2/bin的路径,在/etc/profile文件中添加$PATH变量  
把apache、tomcat和mysql的路径都加上  
附:  
一、建立resin和apache的虚拟主机  
例如建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机  
vi /usr/java/httpd2/conf/httpd.conf  
复制如下内容到httpd.conf里  
NameVirtualHost 192.168.0.* 虚拟主机建立所在的IP  
<VirtualHost 192.168.1.*>  
DocumentRoot /home/jsp1/ 文件所在目录  
ServerName tes1.jsp.com 访问的域名  
</VirtualHost>  
VirtualHost 192.168.1.*>  
DocumentRoot /home/jsp2/  
ServerName test2.jsp.com  
</VirtualHost>  
vi /usr/java/resin/conf/resin.conf  
查找如下代码并修改:  
<host id="" root-directory=".">  
<!--  
- configures an explicit root web-app matching the  
- webapp's ROOT  
-->  
<web-app id='/' document-directory="/usr/java/httpd2/htdocs"/>  
</host>  
<host id='tes1.jsp.com'>  
<web-app id='/' document-directory="/home/jsp1"/>  
</host>  
<host id='tes2.jsp.com'>  
<web-app id='/' document-directory="/home/jsp2"/>  
</host>  
保存从启apache和resin  
tes1.jsp.com 和tes2.jsp.com 虚拟主机可以运行了  
可以做如下测试http://localhost/caucho-status/  
可以看到测试面上有  
Virtual Host: tes1.jsp.com:80  
Virtual Host: tes2.jsp.com:80  
证明JSP虚拟主机工作很正常  
二、linux软件安装  
从网站或者是光盘上找到的Linux软件包,常见的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。我们平时用的最多的恐怕是rpm和tgz了,据统计,在网上最流行的版本应改是redhat和mandrake了,而这两个版本都是用rpm封装  
的,tar是最通用的软件包格式,几乎每个linux软件都会提供tar的格式的软件包,因为这种格式的软件包任何版本的linux都支持,所以大家至少要了解tar和rpm的使用方法。至于deb可用alien工具转换成tgz或rpm方式。bz2可用bunzip2解包即可。  
1、RPM文件的安装  
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux,mandrake及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。  
RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例:  
在Terminal中,基本的安装指令如下:  
rpm -i xv-3.10a-13.i386.rpm  
如果你的连网速度足够快,也可以直接从网络上安装应用软件,只需要在软件的文件名前加上适当的URL路径:  
rpm -i ftp://ftp.trilon.com/pub/xv/xv-3.10a-13.i386.rpm  
作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料。我们也可以使用RPM来卸载相关的应用程序。  
rpm -e xv  
RPM的常用参数还包括:  
-vh:显示安装进度;  
-U:升级软件包;  
-qpl:列出RPM软件包内的文件信息;  
-qpi:列出RPM软件包的描述信息;  
-qf:查找指定文件属于哪个RPM软件包;  
-Va:校验所有的RPM软件包,查找丢失的文件;  
更为详尽的参数及其用法可以查看RPM的帮助文档。  
在X-Window中,RPM文件的图形化安装及管理方式对用户来说,显得更为友好。在kde上先安装好kpackage后,安装rpm仅仅是按一下鼠标就可以了,比windows 98更方便。但是这必须先安装kde.  
我还是介绍更常用的方法吧,仍以XV软件为例,在Linux的文件管理器中找到xv-3.10a-13.i386.rpm文件之后,用鼠标右击它,在弹出菜单中就可以找到专为RPM软件包准备的三个指令:Show Info、Upgrade、Install。  
选择“Show Info”之后,我们将可以看到如图所示的软件包信息窗口。窗口分为三个部分,顶端显示的是软件名、大小、创建及安装日期以及开发者网站等相关信息;在中间的方框内,是关于软件的概述;而下面显示的则是软件包内包含的所有文件及其路径信息,它会告诉你软件包内的各个文件将被安装到系统的哪些目录中,  
留意这些信息的好处是,你可以很容易地找到启动程序的路径。  
此时点击底部的“Install”或者“Upgrade”按钮之后,将开始进行软件的安装或者升级,此时还会弹出一个提示安装进度的窗口。  
RPM软件包较之于其他类型的软件包,有着许多优势,但是并不是说RPM软件的安装都是一帆风顺的。常见的错误包括***图安装一个已经安装好了的软件、所要安装的软件需要其他软件或者系统库文件的支持(此时应该先行安装这些相关软件或者系统库文件)等,情形都和Windows类似。  
2、tar的安装  
tar.gz、tar.Z、tgz、bz2等文件格式要先解压为tar后再用tar解包安装。解压缩及解包指令举例简述如下:  
1.解xv.tar.gz:tar zxf xv.tar.gz  
2.解xv.tar.Z:tar zxf xv.tar.Z  
3.解xv.tgz:tar zxf xv.tgz  
4.解xv.bz2:bunzip2 xv.bz2  
5. 解xv.tar:tar xf xv.tar

上一篇:PostgreSQL的 create index concurrently


下一篇:MySql:SELECT 语句(五)正则表达式的使用