在 CentOS 上从源代码构建 Apache 2.2

在 CentOS 上从源代码构建 Apache 2.2

我的问题

有没有人有 CentOS 的 Apache 2.2 正确源包的链接,如果有的话,我是否缺少任何特殊说明?

概括

我正在尝试在 AWS Linux AMI 上安装 Apache 2.2,具体 AMI ID 如下:

Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0d1000aff9a9bad89

由于 yum 不支持 Apache 2.4 之前的任何内容,因此我需要从 Apache 网站下载 2.2 版本并从源代码构建它。

我还知道,由于我运行的是 CentOS,所以我应该安装“httpd”版本而不是“apache2”

第 1 部分:使用 yum 安装 httpd 可以,但仅适用于 Apache 2.4

如果我做:

sudo yum install httpd

一切都按照我的预期安装:

  • /var/www/html 目录已创建
  • /etc/httpd/conf/httpd.conf 是
  • 创建后我可以运行“sudo service start httpd”
  • 我能够部署我的应用程序
  • 但是,它安装了 Apache 2.4

第 2 部分:下载 Apache 2.2 并从源代码构建并不像我期望的那样工作

由于我要求必须运行 2.2 版本的 Apache,因此我将其下载到实例并使用以下命令从源代码构建:

sudo wget https://archive.apache.org/dist/httpd/httpd-2.2.29.tar.gz
tar -zxf httpd-2.2.29.tar.gz
./configure
Make 
sudo Make install

运行上述命令并从源代码构建后:

  • 没有创建 /var/www/html 目录
  • 没有创建 /etc/httpd 目录
  • 我收到以下消息:

“无法启动 httpd.service:未找到单元。”

运行“sudo service httpd start”时

边注:我知道我可以复制内容并手动更改conf 文件,我认为有些问题的原因是因为我无法使用 2.2 版本运行“httpd”命令。

答案1

1. 没有创建 /var/www/html 目录 没有创建 /etc/httpd 目录

手动创建这两个目录并分配适当的权限和所有者/组

2.无法启动httpd.service:运行“sudo service httpd start”时找不到单元

/usr/lib/systemd/system 中缺少服务文件 创建 httpd.service 并编辑 systemd 中的内容文档并通过启用服务将文件软链接到 /etc/systemd/system

# systemctl enable httpd.service
# systemctl start httpd.service

相关内容