麒麟OS安装Apache有三种主流方法:一、YUM在线安装,适用于联网环境,执行yum install httpd并systemctl启动;二、离线RPM批量安装,需提前下载全部依赖包(如httpd、apr、pcre等)后rpm -Uvh强制安装;三、源码编译安装,支持自定义模块与版本,需配置./configure参数并make install,再注册systemd服务。

如果您在麒麟操作系统上需要提供Web服务,但尚未部署Apache HTTP服务器,则需根据系统连通性、架构类型及安全策略选择适配的安装路径。以下是多种可行的安装方法:
一、使用YUM包管理器在线安装
该方式适用于能访问互联网或已配置可用软件源的麒麟V10服务器(x86_64或ARM64架构),由系统自动解析并安装依赖,操作简洁、适合快速部署。
1、更新系统软件包索引,确保获取最新元数据:
sudoyum update -y
2、执行Apache主程序及配套模块安装:
sudoyum install -y httpd
3、启动Apache服务并设为开机自启:
sudosystemctl start httpd
sudosystemctlenable httpd
4、验证服务状态:
sudosystemctl status httpd
5、检查默认监听端口是否就绪:
sudo ss -tlnp | grep :80
二、离线RPM包批量安装
该方式专为无外网连接的生产环境设计,需提前在可联网机器下载全部依赖RPM包,再统一上传至目标麒麟服务器,规避网络隔离导致的依赖缺失问题。
1、确认目标系统架构与版本:
cat /etc/os-release | grep -E "(NAME|VERSION_ID|ARCH)"
重点核对arch字段为x86_64或aarch64,以及VERSION_ID匹配SP3/SP4等补丁版本
2、从银河麒麟官方源或可信镜像站下载以下RPM包(以V10 SP3 x86_64为例):
httpd-*.rpm、httpd-tools-*.rpm、httpd-manual-*.rpm、apr-*.rpm、apr-util-*.rpm、pcre-*.rpm、zlib-*.rpm、openssl-libs-*.rpm、systemd-*.rpm、glibc-*.rpm
3、将所有RPM文件上传至服务器/tmp/httpd_offline/目录
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
4、进入该目录并强制安装全部包(忽略依赖检查,因已全量提供):
cd /tmp/httpd_offline/
sudo rpm -Uvh *.rpm --force --nodeps
5、创建Apache运行用户并赋权:
sudo useradd -r -s /sbin/nologin -d /var/www apache
sudo chown -R apache:apache /var/www /var/log/httpd
三、源码编译安装(支持自定义模块与版本)
该方式适用于需启用特定模块(如mod_ssl、mod_rewrite、mod_http2)、适配ARM64平台优化或安装非仓库提供的新版Apache(如2.4.60)的场景,具备最高灵活性。
1、安装基础编译工具与开发库:
sudoyum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel expat-devel apr-devel apr-util-devel
2、下载Apache源码包(以2.4.60为例):
wget https://downloads.apache.org/httpd/httpd-2.4.60.tar.gz
3、解压并进入源码目录:
tar zxvf httpd-2.4.60.tar.gz
cd httpd-2.4.60
4、配置编译参数(启用SSL、重写、指定用户与安装路径):
./configure --prefix=/usr/local/apache2 \
--enable-so \
--enable-ssl \
--enable-rewrite \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config \
--with-ssl=/usr/lib64/openssl
5、编译并安装:
make -j$(nproc)
sudo make install
6、创建系统服务单元文件:
sudo tee /etc/systemd/system/httpd-local.service << 'EOF'
[Unit]
Description=Apache HTTP Server (source-built)
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
ExecReload=/usr/local/apache2/bin/apachectl graceful
ExecStop=/usr/local/apache2/bin/apachectl stop
PrivateTmp=true
User=apache
Group=apache
[Install]
WantedBy=multi-user.target
EOF
7、重载systemd配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable httpd-local
sudo systemctl start httpd-local

















