Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1473347
  • 博文数量: 463
  • 博客积分: 10540
  • 博客等级: 上将
  • 技术积分: 5450
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-12 08:30
文章分类

全部博文(463)

文章存档

2014年(2)

2012年(14)

2011年(42)

2010年(18)

2009年(78)

2008年(35)

2007年(182)

2006年(92)

我的朋友

分类: LINUX

2007-09-26 16:13:27

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都是开源软件,都可以到各自的官方网站(,,)上下载,本文所使用的安装版本是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

    然后安装数据库,用#scripts/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下的安装和配置,并且通过图形化的安装以及说明,希望给读者一些帮助。

    参考文献:1:《Apache服务器安装与配置》

    2:《Apache 简介及基本配置》http://www.cnplayer.com/eSchool/develop/java/148155.htm

阅读(448) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~