shell练习(3)
源码编译安装httpd 2.4,提供系统服务管理脚本并测试
(建议两种方法实现)
下载链接:https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.gz
先装C 和 C++ 编程中常用的工具
[root@openEuler-22 ~]# yum install gcc gcc-c++ make -y
再查看解压
解压:
#将解压后的文件存放到 /usr/local/src/ 目录下
[root@openEuler-22 ~]# tar xf httpd-2.4.62.tar.gz -C /usr/local/src/
创建一个名为 apache 的系统组和系统用户
#-r 表示创建系统组,-g 48 表示组 ID 为 48
[root@openEuler-22 ~]# groupadd -r -g 48 apache
#-r 表示创建系统用户,-u 48 表示用户 ID 为 48,-g 48 表示用户所属组为 apache 组,
# -c "Apache server" 表示用户的注释为 "Apache server",-s /sbin/nologin 表示用户的登录
#shell 为 /sbin/nologin,即不允许该用户登录系统
[root@openEuler-22 ~]# useradd -r -u 48 -g 48 -c "Apache server" -s /sbin/nologin apache
运行 configure 脚本,为 Apache 服务器的编译做准备
# 切换到 /usr/local/src/httpd-2.4.62/ 目录
[root@openEuler-22 src]# cd /usr/local/src/httpd-2.4.62/
# 运行 configure 脚本,--prefix=/usr/local/apache 表示将 Apache 服务器安装到
#/usr/local/apache 目录下
[root@openEuler-22 httpd-2.4.62]#./configure --prefix=/usr/local/apache
#会发现无法运行,因为还缺少依赖包,依次将显示出来缺少的包下载下来,直到可以运行成功
# 使用 yum 安装 apr-devel 开发库,用于 Apache 服务器的编译
[root@openEuler-22 httpd-2.4.62]# yum install apr-devel -y
# 使用 yum 安装 apr-util-devel 开发库,用于 Apache 服务器的编译确认
[root@openEuler-22 httpd-2.4.62]# yum install apr-util-devel -y
# 使用 yum 安装 pcre-devel 开发库,用于 Apache 服务器的编译
[root@openEuler-22 httpd-2.4.62]# yum install pcre-devel -y
#无缺少依赖包
[root@openEuler-22 httpd-2.4.62]#./configure --prefix=/usr/local/apache
成功截图:
使用 make 命令编译 Apache 服务器源代码
[root@openEuler-1 httpd-2.4.62]#make
# 使用 make install 命令将编译好的 Apache 服务器安装到系统中
[root@openEuler-22 httpd-2.4.62]# make install
# 切换到 /usr/local/apache/bin 目录,这里存放着 Apache 服务器的可执行文件和控制脚本
[root@openEuler-22 httpd-2.4.62]# cd /usr/local/apache/bin
# 使用 vim 编辑器编辑 apachectl 文件,该文件通常是 Apache 服务器的控制脚本
[root@openEuler-22 bin]# vim apachectl
# 尝试使用 systemctl 启动 httpd 服务,这里应该是启动 Apache 服务器服务
[root@openEuler-22 bin]# systemctl start httpd