目前查询所有的apache安装都有或多或少的问题,于是我采用纯净板linux重新安装一遍,给大家做参考,因刚学写CSDN,其中格式错误以及操作错误,还望各位指正。
一、前期说明(理论) 1、apache跟httpd之间的关系:2、linux下安装软件(linux下分为3种安装模式)apache 2.0之后改名为httpd,所以可以理解为一个东西。
后文以httpd代替apache
1.源码包安装:下载–>解压–>配置–>编译–>安装(相当于下载源代码咱们自己编译好直接用)
2.yum安装(相当于应用商店,咱们直接搜索点安装就可以了)
3.prm安装(相当于我们自己网络上下载可执行文件.prm,手动安装)
我们此次使用的是yum跟源码包安装
3、如何下载压缩包下载压缩包使用wget软件,因为我的系统是纯净版,所以需要先安装wget软件,这里采用yum方式安装。
sudo yum install -y wget #为了防止权限问题,建议使用超级用户去输入命令,也就是前面加上sudo4、httpd安装依靠的库
1、httpd安装需要依靠apr、apr-util、pcre-devel 这3个库,所以我们需要先安装这3个库再安装httpd。
2、安装apr-util库需要expat-devel库(apr-util 1.6及1.6版本以上的还需要libxml2-devel库)
3、安装apr库需要gcc库(默认gcc库是已安装的)
如上图,方块代表使用yum方式安装,圆角矩形使用源码包安装。
5、httpd及其依赖库的下载网址apr: http://dlcdn.apache.org//apr/apr-1.7.0.tar.gz apr-util: http://dlcdn.apache.org//apr/apr-util-1.6.1.tar.gz httpd: http://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz 注:如果下载过程中出错,提示use '--no-check-certificate' 代表网址验证出错,不验证下载即可 wget --no-check-certificate 网址。二、实际操作 1、准备工作
确保yum、 wget(安装看上节理论3)两个软件已经安装
2、 yum安装依赖库使用yum安装「流程图1」里面所有方块
sudo yum install - y gcc sudo yum install -y expat-devel sudo yum install -y libxml2-devel sudo yum install -y pcre-devel3、源码包安装依赖库 3.1、先下载源码包(根据理论5)
wget http://dlcdn.apache.org//apr/apr-1.7.0.tar.gz wget http://dlcdn.apache.org//apr/apr-util-1.6.1.tar.gz wget --no-check-certificate http://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz #因为需要验证无法下载,所以加上--no-check-certificate跳过验证3.2、解压所有下载的压缩包(建议先ls查看下压缩包名)
tar -zxvf apr-1.7.0.tar.gz tar -zxvf apr-util-1.6.1.tar.gz tar -zxvf httpd-2.4.51.tar.gz3.3、配置、编译、安装(参考流程图1)
目前根据「实际操作2中」gcc、expat-devel、libxml2-level、pcre-devel已经安装完成。
根据「理论4」中的1、2、3、反方向操作安装即可。
理解:目前还需要安装apr、apr-util。其中apr-util安装需要基于apr,所以先安装apr。
源码包安装方式:
1、配置:先进入apr解压好的包里面查看所有文件(ls命令),里面有个configure文件,执行此配置文件(执行参考下面命令行)。
2、编译:配置好后可以编译文件(make命令) #建议使用超级用户执行,防止有些文件没有权限执行
3、安装:编译完成后使用make install安装 #建议使用超级用户执行,防止有些文件没有权限执行
源码包apr安装方式(命令行): 1、./configure --prefix=/usr/local/apr #配置 # ./这个为当前目录中的configure文件, --prefix 参数为要配置的地方,先配置在/usr/local/apr下面。 2、sudo make #编译 # 这里使用sudo(超级用户)进行编译,防止编译过程中权限问题。 3、sudo make install # 安装 # 这里也是权限问题,使用了sudo
此时apr就安装完成了,完成后进入到apr-util的解压缩后的文件夹下面(一定要进入apr-util文件夹才能执行apr-util的配置),采用上面的方式安装apr-util。
源码包apr-util安装方式(命令行): 1、./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr #配置 # 这里多了一个--with-apr参数,apr-util配置需要基于apr,所以我们把刚才安装的路径写进来,让配置文件能够寻找的到。 2、sudo make #编译 3、sudo make install # 安装3.4、最后一步,安装httpd(参考上面源码包安装,一定要先进入到刚才解压缩的httpd文件里面)
源码包httpd安装方式(命令行): 1、./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util #配置 # 这里把 apr 跟 apr-util 的路径都写进来,让配置能够找到。 2、sudo make #编译 3、sudo make install # 安装三、启动httpd 1、启动apache(httpd)
至此服务器就安装完成了,安装路径/usr/local/apache
我们执行apache/bin/apachectl start开启服务器
sudo /usr/local/apache/bin/apachectl start # 这里使用sudo超级用户,文件需要超级用户才能访问2、报错
如果报错AHAH00558:查看端口80是被哪个进程占用了。解除占用或者更换apache端口即可。
四、外部网页访问外部ip打开,显示it work网页代表成功,如显示‘已拒绝连接’,说明服务器80端口未打开。
1、打开80tcp端口# 开启80tcp端口 sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
端口打开后,一定要重启防火墙,才能生效。
# 重启防火墙 sudo firewall-cmd --reload参考文献:
【1】: WinkJie.2020-03-20.Linux系统中软件安装的几种方式
【2】:扶桑啊啊.2018-05-02. 22.Linux下Apache源码包安装方法,解决apr,apr-util,pcre,proxy等错误提示
【3】:AugustRed. 2018-12-13.linux查看并设置开放端口



