鲁迅:有一分热,发一分光。
Linux 环境为 : Centos-8.3-minimal
- 安装Apache前请先安装以下依赖包避免安装时出错 :
yum -y install gcc gcc-c++ zlib zlib-devel expat-devel pcre-devel make wget tar net-tools
- 因为我Centos版本是minimal 最小安装版,比较纯净,很多工具包是需要自己手动安装的
- 安装Apache必须手工复制apr apr-util 这两个所依赖库
https://downloads.apache.org/apr/apr-1.7.0.tar.gz apr
https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz apr-util
https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz httpd
- 为啥下载apache需要下载httpd呢?
Apache是一个软件基金会组织的名字,早期开发的Web Server软件非常流行,当时的名称就叫做Apache,不过后来改名字叫做httpd了,所以,现在大家常说的Apache,通常指的就是httpd
- 我的压缩包位置是 /usr/local/src ,然后解压缩
- 我们需要把 apr 和 apr-util 解压缩目录,复制( cp )到 httpd 解压缩目录下的 /srclib/ 下
cp -r /usr/local/src/apr-1.7.0 /usr/local/src/httpd-2.4.46/srclib/apr
cp -r /usr/local/src/apr-util-1.6.1 /usr/local/src/httpd-2.4.46/srclib/apr-util
- 如果编译过程中出现问题,建议删除httpd目录,从新解压复制编译安装,一定要确保依赖包安装成功再进行编译安装。
-
进去 httpd 解压缩目录 进行编译配置 配置过程中等待即可
./configure --prefix=/usr/local/apache/ --sysconfdir=/usr/local/apache/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite-shared
- 编译 && 编译安装
make && make install
- 创建用户以及用户组并设置访问权限 (初学者建议菜鸟教程看用法)
groupadd apache
useradd apache -g apache -M -s /bin/false
chown -R apache.apache /usr/local/apache/
- 安装成功后进入 /usr/local/apache/bin bin目录是apache二进制启动目录
./apachectl stop 关闭
./apachectl start 开启
./apachectl restart 重启
- 开启apache会出现报错 但是apache已经是开启状态了
- 解决报错方法:
- 编辑apache的配置文件 /usr/local/apache/etc/httpd.conf
- 找到#ServerName www.example.com:80 在下面加入 ServerName localhost:80 即可
- 保存退出 , 再次重启apache就不会再出现报错了
- 浏览器访问 需要先关闭防火墙 绿色状态是防火墙已开启 灰色则是关闭
- 附上命令:
systemctl status firewalld.service 查看防火墙状态
systemctl start firewalld.service 启动防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止防火墙自启动
systemctl enable firewalld.service 防火墙随系统开启启动
- 这样就可以访问了