1. Apache 在 Ubuntu 18.04 上到底怎么装才稳
如果你手头正好有一台 Ubuntu 18.04 的服务器,或者跟我一样因为项目兼容性问题不得不继续用这个版本,那装 Apache 这件事我建议一步到位装对。网上搜 Ubuntu 装 Apache 的教程一抓一大把,但很多是 CentOS 的 yum 流程混着讲,或者把配置文件路径写错,照着敲完命令报一堆错,最后连 80 端口都没起来。
这篇文章就解决两件事:第一,在 Ubuntu 18.04 上把 Apache 装到能正常访问;第二,把默认的 80 端口改成你自己想要的端口。这两个操作看着基础,但涉及的系统文件、服务机制和坑点,我实际折腾过之后发现有很多细节值得单独拎出来讲。
先说适用范围。这个操作特别适合以下几类人:第一次接触 Linux 服务器的学生或者转行开发,需要本地起一个 Web 环境做测试;公司内部部署一些管理后台,不想用默认 80 端口暴露;或者你同时跑了 Nginx、Tomcat 等多个服务,80 端口被占用,必须给 Apache 换个端口。无论哪种情况,这篇都能帮上忙,而且我保证每一个步骤都是在 18.04 上实测过的,不是从老教程里复制粘贴的。
开始之前,先交代两个基础知识,省得到时候混淆。Ubuntu 下 Apache 的服务名是 apache2,配置目录是 /etc/apache2/,而 CentOS 里叫 httpd,配置文件在 /etc/httpd/。很多人就是在这一步踩了坑,照着 CentOS 的命令在 Ubuntu 上执行,自然什么都找不到。还有一点,Ubuntu 18.04 官方仓库里带的 Apache 版本是 2.4.x,对绝大多数场景完全够用,不需要去编译源码。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装前的准备工作:先搞清楚你的系统状态
2.1 确认系统版本和网络环境
在正式安装之前,我强烈建议你先花一分钟确认系统信息。这里不是说非要严谨到查所有细节,而是避免下一步操作的时候出现版本不匹配的问题。打开终端依次执行:
bash复制lsb_release -a
uname -m
ping -c 4 mirrors.ubuntu.com
第一行看系统版本是不是 18.04,第二行看架构(一般是 x86_64),第三行确认能不能访问 Ubuntu 的软件源。我自己就遇到过内网机器源配置错误,导致 apt 安装直接超时的情况,所以网络连通性这一步真的别省。
还有一个容易被忽略的点:检查 /etc/apt/sources.list 里的源是否正常。18.04 的代号是 bionic,如果源文件里写的是旧版本代号,apt update 大概率会报 404。如果发现源有问题,先把源修改正确再继续,不然下面所有安装步骤都是白搭。
2.2 更新软件源和系统包
确认没问题后,第一步永远是更新软件源索引。这个操作的意义在于让系统知道你所在的软件仓库里最新有哪些包、什么版本。我见过有人跳过这步直接装,结果装到的是很久以前的旧版本,甚至可能因为依赖关系缺失而失败。
bash复制sudo apt update
apt update 只是刷新索引,不会真的升级软件。如果你系统已经跑了一段时间,建议顺便执行一次 apt upgrade 把现有软件包升级到与源匹配的最新版本,避免安装 Apache 的时候因为某个底层库版本过旧而出现依赖冲突。不过要注意,apt upgrade 会更新系统里已安装的软件包,如果在生产环境操作,建议先确认没有正在跑关键任务。
2.3 确认 80 端口是否被占用
这一步非常关键。Apache 默认监听 80 端口,如果你机器上已经装了 Nginx、Tomcat 或者其他 Web 服务,80 端口可能已经被占用,那 Apache 装完后服务根本起不来。所以装之前先检查端口情况,养成习惯,后面能省下大量排查时间。
bash复制ss -lntp | grep :80
如果输出为空,说明 80 端口空闲,可以放心继续。如果有输出,能看到是哪个进程占用了端口,例如:
code复制LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=12345,fd=6))
那你就得权衡一下,是停掉 Nginx 还是直接换个端口给 Apache。这篇博文的主线就是修改默认端口,所以在安装前先了解端口占用情况,能使你后面的决策更清晰。
3. 正式安装 Apache:apt 安装与基础验证
3.1 执行安装命令
系统准备好了,
