mysql+php+apache的安装

mysql+php+apache的安装

mysql+php+apache的安装

        作者:余俊松 来源:计世网 (2006-05-15 12:18:38)        
                        www服务器是目前Internet上最流行的信息载体,目前的www服务器主要分为两大阵营-Unix-Like上面的Apache与Windows上面的IIS。就性价比来说,当然是Linux上面的  Apache最棒。www服务器的类型可以分为静态与动态,而这些动态的网站中,很多都是目前Linux+Apache+Mysql+PHP架设而成,简称为LAMP。
    很多类Unix系统操作系统都集成了Apache,无论是免费Linux,Freebsd,还是商业的Solaris,AIX,都包含了Apache组件,所不同的是,在商业版本中对相应的系统进行了优化,并加入了一些安全模块。
    Apache是根据NCSA服务器发展而来的,NCSA是最早出现的www服务器程序之一,由伊利诺斯大学Urbana-Champaign的美国国家 超级计算应用中心开发,在发展初期,Apache主要是一个基于unix系统的服务器,它的宗旨是建成一个基于Unix系统的,功能更强,效率更高并且速 度更快的www服务器,这就决定了它是从其它的服务器演变而来,并添加了大量的补丁来增强它在某一个方面的性能,所以它就命令为“APAtCHy Server(一个补丁组成的服务器)”。发展到今天,Apache已经被移植到很多平台了。Apache的开发遵循GPL协议,由全球的志愿者开发和维 护,在保持强大功能及不断更新的同时,它仍是免费的,并且公开源代码。
    在www服务器市场,Apache以免费,可靠,快速和很好的扩展性等优点脱颖而出,已经远远超过了Microsoft IIS ,Netscape, NCSA等其它www服务器,据英国Web服务企业Netcraft今年10月份进行了一次Web服务器调查并收到了来自74,409,971个站点的回 应,相比9月份增加了268万个站点。2005年Web站点共增加了1750万个,成为Internet生长最快的一年,轻松超过之前的纪录保持者 2000年(增长1600万)。下图一是该公司调查统计得出的1995年到2005年各主流www服务器所占的市场份额,从该图可以看出,Apache服 务器在www市场中占有绝对优势。

图一:netcraft调查的从1995到2005年的各www服务器所占的市场份额
Apache之所以能如此流行,不光是因为它的开放源代码性,它还具有如下的特性和优点:
1) 几乎可以运行在所有的计算机平台上.  
2) 支持最新的HTTP/1.1协议  
3) 简单而且强有力的基于文件的配置(HTTPD.CONF).  
4) 支持通用网关接口(CGI)  
5) 支持虚拟主机.  
6) 支持HTTP认证.  
7) 集成PERL.  
8) 集成的代理服务器  
9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.  
10) 支持服务器端包含命令(SSI).  
11) 支持安全SOCKET层(SSL).  
12) 具有用户会话过程的跟踪能力.  
13) 支持FASTCGI  
14) 支持JAVA SERVLETS.
    Apache的缺点是没有为管理员提供图形用户接口(GUI), 但最近的APACHE版本已经有了GUI的支持。
     Apache服务器以其强大的功能和高度的可配置性成为同类软件中的佼佼者。对于服务器软件开发者来说,Apache的开放式软件开发模式为他们提供了极 大的方便。本文详细介绍了如何在Linux系统上使用和管理Apache Web服务器,重点介绍了Apache的安装、配置等方面的知识,让大家对安装Apache有一个清楚的了解。
     本文中所使用的mysql,php和apache都是开源软件,都可以到各自的官方网站(www.mysql.org,www.php.org,www.apache.org)上下载,本文所使用的安装版本是mysql-standard-4.0.16-pc-linux-i686.tar.gz, php-4.2.3.tar.gz, apache_1.3.27.tar.gz)。
  安装mysql之前,先查看系统是否安装了mysql及其版本,用如下的命令:
rpm -qa |grep  mysql
  如果没有安装,我们首先创建一个组,称为mysql,然后创建一个名为mysql的用户,命令如下图二。


图二:创建一个mysql组和一个mysql用户
    然后解压mysql-standard-4.0.16-pc-linux-i686.tar.gz,用命令tar –zxvf mysql-standard-4.0.16-pc-linux-i686.tar.gz, 解压后在当前目录生成一个mysql-standard-4.0.16-pc-linux-i686的文件夹,进入该目录,看看里面有哪些文件和目录,然 后用./configure对mysql的安装目录进行配置,如下图所示的./configure –prefix=/usr/local/mysql/是将mysql安装在/usr/local目录下的mysql目录中。如下图三所示。


图三:./configure配置mysql的安装目录
    对于一般的文件,剩下就只需make & make  install了。
但是这个版本的mysql,只需将mysql-standard-4.0.16-pc-linux-i686目录复制到/usr/local下,然后重命名为mysql即可,如下图四所示。


图四:复制mysql的目录至/usr/local下并重新命令目录为mysql
    然后安装数据库,用#scrīpts/mysql_install_db,如下图五所示,mysql_install_db是一个脚本文件,将创建 mysql和test两个数据库。mysql数据库是系统库,包含一些重要信息,如用户信息等,在不完全清楚的情况下,建议不要直接操作次数据库。 test数据库是一个测试用的数据库。

图五:安装mysql的数据库
接下来是设置目录权限了,如下图六所示,用如下的命令
#chown -R root:mysql  /usr/local/mysql
  #chown -R mysql:mysql /usr/local/mysql/data
  分别设置目录usr/local/mysql的所属用户是root,所属组是mysql,设置/usr/local/mysql/data的所属用户是mysql,所属组是mysql。

图六:设置mysql目录权限
测试数据库,进入mysql目录下的bin目录,用如下的命令
./bin/safe_mysqld --user=mysql &  来启动mysql,
然后用./mysql –u root –p 来进入mysql,注意mysql安装后的初始密码为空。分别如下图的图七和图八所示。


图七:启动mysql

图八:测试mysql
  测试如通过,将mysql设置为系统启动时启动,可以用vi编辑/etc/rc.d/rc.local也可以用下面的命令直接将mysql的启动项加入到自启动。
echo “/usr/local/mysql/bin/safe_mysqld –user=mysql &” >>/etc/rc.d/rc.local

     Mysql已经安装完毕,再来安装php和apache。
  在安装Apache之前,先看看系统是否已经安装了Apache及其版本,用如下命令:rpm –qa |grep apache ,如果存在,系统会返回类似下面的字样,
apache-1.3.19-5
apache-0.7.2
  如没有安装,则用tar –zxvf  apache_1.3.27.tar.gz来解压apache,解压后会在当前目录下生成一个apache_1.3.27的目录,进入该目录,我们先在 /usr/local下创建一个servers的目录,用mkdir /usr/local/servers,然后我们用./configure –prefix=/usr/local/servers/apache对apache的安装目录进行设置,如图十所示,


图十:创建servers目录并用./configure 对apache的安装目录设置。
  然后用tar –zxvf  php-4.2.3.tar.gz解压php,解压后生成php-4.2.3的目录,进入到该目录,./configure --with-apache=/home/apache_1.3.27 --with-mysql=/usr/local/mysql --enable-track-vars ,这个设置很重要,
  它配置了php与apache以及mysql的关联,相当与将apache和mysql联系在一起,。如果此配置成功完成,将会出现如图十二所示的界面。

图十二:php参数配置成功后的界面
接下来,如图十三,make & make install,至此已成功安装php。


图十三:编译php
  我们来回到tar –zxvf  apache_1.3.27.tar.gz后生成的目录apache_1.3.27下,然后,再用./configure --prefix=/usr/local/servers/apache \--activate-module=src/modules/php4/libphp4.a 来对apache进行重新设置,主要是加入识别php代码的模块,如图十四所示。


图十四:重新设定Apache的安装参数
  接着make & make  install,编译apache,如图十五,如编译成功,则会出现如图十六的安装成功界面。


图十五:编译apache


图十六:编译apache成功后的界面
  我们回到解压php后生成的php-4.2.3目录下,将php.ini-dist复制到/usr/local/lib/php目录下。


                  图十七:php.ini-dist复制到/usr/local/lib/php目录下。
  然后我们要修改Apache的配置文件httpd.conf
  查看httpd.conf文件中是否有如下行:
  AddType application/x-httpd-php         .php
  AddType application/x-httpd-php-source  .phps
  
  第一条指令指定PHP文件的扩展名为php;第二条指令的意思是,当用浏览器查看一个扩展名为phps的PHP文件时,可以看到加了颜色的源码。
如没有看到,我们在httpd.conf里添加上面的两行,如图十八所示。


图十八:添加两行配置语句到配置文件里
  现在apache已经配置完毕,我们可以启动apache了。
  #cd /usr/local/servers/apache/bin
  #apachectl start
  和mysql一样,我们设置为系统启动时运行apache,用下面的命令echo “/usr/local/servers/apache/bin/apachetl start”>> /etc/rd.d/rc.local
  接下来的工作就是把我们已经写好的网页文件放到目录/usr/local/servers/apache/htdocs/ 下,
  数据库文件放到/usr/local/mysql/data/ 下即可,然后重新启动系统就可以浏览我们的网页了,呵呵。
  文章介绍了当前最流行的web服务器apache+php+mysql套装在Linux下的安装和配置,并且通过图形化的安装以及说明,希望给读者一些帮助。
                                                
                                                
能看懂部分,学习中!
帮帮忙看一下我为什么会出错呢??我用的是redhat
[root@localhost httpd-2.0.54]# ./configure --prefix=/usr/local/apache
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking target system type... i686-pc-linux-gnulibc1

Configuring Apache Portable Runtime library ...

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking target system type... i686-pc-linux-gnulibc1
Configuring APR library
Platform: i686-pc-linux-gnulibc1
checking for working mkdir -p... yes
APR Version: 0.9.6
checking for chosen layout... apr
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
Applying APR hints file rules for i686-pc-linux-gnulibc1
  setting CPPFLAGS to "-DLINUX=2"
  adding "-D_REENTRANT" to CPPFLAGS
(Default will be unix)
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
configure failed for srclib/apr  #这是啥意思呢???
有点旧了!
上面提示要你看log
把log附上来看一下
:987w(1