Linux下apache的安装

1.获取软件:

http://httpd.apache.org/   httpd-2.4.25.tar.gz

并上传至服务器。

运行以上命令时,可能会出现“APR not found.”的错误。此时需要下载依赖包。

2.下载安装依赖包:

创建文件夹:

mkdir /usr/httpd-refer

cd /usr/httpd-refer/

下载依赖包:

wget http://p5osdejt4.bkt.clouddn.com/apr-1.5.2.tar.gz

wget http://p5osdejt4.bkt.clouddn.com/apr-util-1.5.4.tar.gz

wget http://p5osdejt4.bkt.clouddn.com/pcre-8.40.tar.gz

解压依赖包:

tar -xzvf apr-1.5.2.tar.gz

tar -xzvf apr-util-1.5.4.tar.gz

tar -xzvf pcre-8.40.tar.gz

安装依赖包:

cd apr-1.5.2

./configure --prefix=/usr/httpd-refer/apr

make && make install

cd apr-util-1.5.4

./configure --prefix=/usr/httpd-refer/apr-util --with-apr=/usr/httpd-refer/apr/bin/apr-1-config

make && make install

cd pcre-8.40

./configure --prefix=/usr/httpd-refer/pcre

make && make install

3.解压apache源文件:

tar zvxf httpd-2.4.25.tar.gz

cd httpd-2.4.25

./configure --prefix=/usr/local/apache --with-apr=/usr/httpd-refer/apr --with-apr-util=/usr/httpd-refer/apr-util/ --with-pcre=/usr/httpd-refer/pcre  --enable-s --enable-rewrite

make && make install

运行./configure 命令进行编译源代码,

--prefix=/usr/local/apach 是设置编译安装到的系统目录,

--enable-s  参数是使httpd服务能够动态加载模块功能,

--enable-rewrite  是使httpd服务具有网页地址重写功能。

4.启动apache:

/usr/local/apache/bin/apachectl start

将apache加入到系统服务,用service命令来控制apache的启动和停止

首先以apachectl脚本为模板生成Apache服务控制脚本:

grep -v "#" /usr/local/apache/bin/apachectl  > /etc/init.d/apache

用vi编辑Apache服务控制脚本/etc/init.d/apache:

vim /etc/init.d/apache

在文件最前面插入下面的行,使其支持chkconfig命令:

#!/bin/sh              

# chkconfig: 2345 85 15              

# description: Apache is a World Wide Web server.

保存后退出vi编辑器,执行下面的命令增加Apache服务控制脚本执行权限:

chmod +x /etc/init.d/apache

执行下面的命令将Apache服务加入到系统服务:    

chkconfig --add apache

执行下面的命令检查Apache服务是否已经生效:

chkconfig --list

命令输出类似下面的结果:  

apache          0:off 1:off 2:on 3:on 4:on 5:on 6:off       

表明apache服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制Apache的启动和停止。

启动Apache服务:service apache start

停止Apache服务:service apache stop

执行下面的命令开启开机自启动:chkconfig apache on

5.apache配置文件

开启虚拟服务器,使得不同域名访问不同目录及配置虚拟端口。

vim /usr/local/apache/conf/httpd.conf

编辑配置文件,去掉proxy的注释:

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

去掉"Include conf/extra/httpd-vhosts.conf"的注释:

#Include conf/extra/httpd-vhosts.conf

编辑httpd-vhosts.conf文件:

多个域名访问不同的文件:

    DocumentRoot "/usr/local/apache/htdocs/test"

    ServerName www.test.com

< /VirtualHost  >

以上含义就是代表www.test.com这个域名访问的是/usr/local/apache/htdocs/test下的文件。

配置虚拟主机,按域名解析到不同端口:

    ServerName www.test.com

    ServerAlias www.test.com

    ProxyPreserveHost On

    ProxyRequests Off

    ProxyPass / http://192.21.00.00:8080/

    ProxyPassReverse / http://192.21.00.00:8080/

    ErrorLog "logs/test.com-error_log"

    CustomLog "logs/test.com-access_log" common

以上含义就是www.test.com访问的是192.21.00.00这台主机下的8080端口。

你可能感兴趣的:(Linux下apache的安装)