Linux下安装和配置Apache
概要:本文介绍在CentOS5.4 Linux中安装和配置Apache2.2.14,并且实
现Apache和Tomcat6的整合。文章分为三部分,分别是删除系统自带的Apache、安装Apache2.2.14和配置Apache2.2.14。
文章中介绍的知识也可以在其它版本的Linux中使用,但并不适用于所有版本的Linux。
文中所有的操作都是由Linux的root用户来执行的,请注意这一点。
1. 删除系统自带的Apache
我们首先查看Linux测试系统是否已经安装了Apache(通常是rpm包安装方式),如果没有安装,则省略了这一步,直接去看第二部分的内容。
命令“rpm -qa”可以列出系统中已安装的所有rpm软件包,以软件包的名称作为命令的参数能够查看该软件包是否已安装。Apache安装包的名称一般是“httpd”。如下:
# rpm -qa | grep httpd
httpd-manual-2.2.3-31.el5.centos httpd-2.2.3-31.el5.centos system-config-httpd-1.3.3.3-1.el5
这说明测试系统中已经存在了Apache2.2.3,并且还可以看到/etc/init.d目录中有httpd脚本文件,/etc目录下有httpd目录,另外还有/etc/sysconfig目录下的httpd文件、/usr/sbin目录下的apachectl文件,等等。这说明Apache的文件是很分散的。
既然可以确定系统已经安装了Apache,那么我们应当删掉原有的Apache。删除操作可以分为下面的三步操作。
⑴、关闭并删除httpd服务(假设存在httpd系统服务,且服务已开启): [root@localhost ~]# service httpd stop [root@localhost ~]# chkconfig --del httpd
⑵、列出系统中存在的且和httpd相关的rpm包,然后倒序删除: [root@localhost ~]# rpm -qa | grep httpd httpd-manual-2.2.3-31.el5.centos httpd-2.2.3-31.el5.centos
system-config-httpd-1.3.3.3-1.el5 开始倒序删除:
[root@localhost ~]# rpm -e system-config-httpd-1.3.3.3-1.el5 [root@localhost ~]# rpm -e httpd-2.2.3-31.el5.centos [root@localhost ~]# rpm -e httpd-manual-2.2.3-31.el5.centos
注意:一般情况下,使用“rpm -e”命令删除一个软件包时可能会出错,出现错误的原因可能是被删包与其它包有关联。如果出错,软件包不会被成功删除。我们为“rpm -e”命令添加“--nodeps”选项强制删除,如下:
[root@localhost ~]# rpm -e system-config-httpd-1.3.3.3-1.el5 --nodeps [root@localhost ~]# rpm -e httpd-2.2.3-31.el5.centos --nodeps [root@localhost ~]# rpm -e httpd-manual-2.2.3-31.el5.centos --nodeps
⑶、查看与系统原有Apache相关的文件或目录是否被删除,手动删除仍然存在的文件或目录,操作步骤省略。
到此,已经成功删除了系统原有的Apache。
2. 安装Apache2.2.14
将安装文件httpd-2.2.14.tar.gz拷贝到/tmp目录中,解压该文件: [root@localhost tmp]# tar -zxvf httpd-2.2.14.tar.gz 解压后生成httpd-2.2.14目录。 [root@localhost tmp]# cd httpd-2.2.14
下面使用的命令中:configure 是预编译,为make做准备工作;make是编译;make install是安装。
[root@localhost httpd-2.2.14]# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most --enable-rewrite=shared --enable-proxy=shared --enable-proxy-ajp=shared --enable-proxy-balancer=shared --enable-speling=shared
//注意 注意 执行 ./configure 命令之前要新建 /usr/local/apache 如果 不存在的话 不然 make 会报错
make: *** No targets specified and no makefile found. Stop.
//该命令的参数比较多,这里不一一介绍各个参数的作用
[root@localhost httpd-2.2.14]# make //编译,需要很长时间
[root@localhost httpd-2.2.14]# make install
//安装,需要很长时间
上面的命令成功执行后,Apache也就成功安装了,安装的路径在configure命令参数中已经指定了,即/usr/local/apache,我们查看一下Apache的安装目录:
[root@localhost httpd-2.2.14]# cd /usr/local/ [root@localhost local]# ls
apache bin etc games include lib libexec sbin share src tomcat
到此Apache已经安装完毕了,下面运行Apache。首先查看Apache有没有
在安装完毕后自动启动。因为Apache启动后会创建一个名为httpd的守护进程,所以我们查看当前系统中有没有名为httpd的守护进程。
[root@localhost ~]# ps -ef | grep httpd
root 31036 3604 0 00:18 pts/1 00:00:00 grep httpd
这说明Apache没有启动,我们手动启动之。在Apache主目录下的bin目录中有一个名为apachectl的脚本文件,它是控制Apache启动和关闭的脚本文件,这样来执行这个文件:
# ./apachectl start #启动Apache # ./apachectl stop #关闭Apache # ./apachectl restart
#重启Apache
于是,启动Apache的命令如下: [root@localhost ~]# cd /usr/local/apache/bin/ [root@localhost bin]# ./apachectl start //启动Apache