手工编译安装Apache!一个又一个的坑!!

一、关于Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache有以下几个特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
因此,掌握并使用Apache能够提升自己的技能。

二、部署环境,编译安装

2.1安装环境

虚拟机环境:Centos7.6 最小化安装 4核4G内存

apache版本:httpd-2.4.25

apr版本:apr-1.4.6

apr-util版本:apr-util-1.4.1

下载链接 https://apr.apache.org/download.cgi

2.2编译安装

yum -y install lrzsz      # lrzsz是一款在linux里可代替ftp上传和下载的程序,它有两个命令rz和sz

将下载好的软件包直接放到/opt目录下

tar zxvf http-2.4.25.tar.gz                          #解压这三个软件包
tar zxvf apr-1.4.6.tar.gz 
tar zxvf apr-util-1.4.1.tar.gz

将两个底层包放入Apache源码包中并分别取名为 /apr和 /apr-util

mv apr-1.4.6 httpd-2.4.25/srclib/apr
mv apr-util-1.4.1 httpd-2.4.25/srclib/apr-util

安装编译器、环境包

yum -y install gcc gcc-c++ make pcre pcre-devel zlib-devel

在 /opt目录下的 httpd-2.4.25/ 带有configure的路径执行脚本

cd /opt/http-2.4.25
./configure \
--prefix=/usr/local/apache \          # 指定安装路径
--enable-so \                         #启用Apache核心模块功能
--enable-rewrite \                    #启用Apache重写内容用能
--enable-mods-shared=most \           #开启共享模块
--with-mpm=worker \                   #设置mpm为worker
--disable-cgid \                      #启用底层网段接口功能
--disable-cgi                         #启用底层网段接口功能
make                                  #编译
make install                          #安装
生成启动脚本便于service管理
grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
vi /etc/init.d/httpd   在文件最前面插入下面的行
#!/bin/sh
# chkconfig:2345 85 15 
# description:Apache is a World Wide Web server
chmod +x /etc/init.d/httpd
chkconfig --add httpd
chkconfig --list httpd 
chkconfig --level 35 httpd on

建立软连接便于管理(配置文件)

ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf

输入/Listen(查找Listen),更改ip地址,输入/ServerN更改域名

vim /etc/httpd.conf
...
Listen 192.168.179.144:80
#Listen 80
ServerName:主机名.域名
...

关闭防火墙,临时关闭selinux

systemctl stop firewalld.service
setenforce 0

启动Apache服务

cd /usr/local/apache/bin  
./apachectl start

这时打开刚刚设置的网址,可以看到
在这里插入图片描述
Apache的主页存放路径为/usr/ local/ apache/htdocs/ index. html,可以进去修改主页

vim index.html

在这里插入图片描述
再次打开网址
在这里插入图片描述

三、可能遇到的错误

在配置时出现这种错误在这里插入图片描述
这种情况是apr-util没有放到httpd下面的srclib目录中,解压后一定要注意文件存放位置,不要搞错

在这里插入图片描述
在make时出现这种错误,这是因为系统缺失 expat 库,安装 expat 库解决该问题

yum install -y expat-devel

最后,特别要注意的,在下载apache,apr,apr-util时一定要注意版本兼容性,我一开始在官网下载最新版的apr,apr-uti怎么也无法安装成功,发现是版本不兼容,最好先查一下版本兼容问题,不要白忙活!!

猜你喜欢

转载自blog.csdn.net/weixin_47153988/article/details/107026057