在 Ubuntu 上要彻底(干净)卸载 Apache2,仅仅使用 apt remove 是不够的,因为还会残留配置文件和网站数据。请按照以下步骤操作,确保卸载干净。
⚠️ 警告: 以下操作会删除 Apache2 及其所有配置文件和网站数据(如
/var/www下的文件)。如果你有重要的网站或配置,请务必提前备份!
首先,停止正在运行的 Apache2 服务并禁止其开机自启:
sudo systemctl stop apache2
sudo systemctl disable apache2
purge 会比 remove 更彻底,它会删除软件包以及相关的配置文件。
sudo apt-get purge apache2 apache2-utils apache2-bin apache2-common
(如果你想把所有以 apache2 开头的包都卸掉,也可以使用通配符 sudo apt-get purge 'apache2*',但建议先确认不会误删其他依赖)
卸载主程序后,可能还有一些之前自动安装但现在已经不需要的依赖包,使用 autoremove 清理掉:
sudo apt-get autoremove --purge
apt 包管理器可能不会删除你(或系统)在以下目录创建的自定义文件。为了“卸载干净”,需要手动删除这些目录:
sudo rm -rf /etc/apache2
sudo rm -rf /var/www/html # 网站根目录(如果你确定不需要里面的网站文件)
sudo rm -rf /var/log/apache2
sudo rm -rf /var/lib/apache2
(如果你只是想重装 Apache 但保留网站文件,可以跳过删除 /var/www 目录)
刷新 systemd 配置,并检查是否还有 Apache 的残留:
sudo systemctl daemon-reload
验证 Apache2 是否已经完全移除:
which apache2
# 应该没有任何输出,或者提示 not found
dpkg -l | grep apache2
# 应该没有任何输出
systemctl status apache2
# 应该提示 Unit apache2.service could not be found.
Apache 默认会创建一个名为 www-data 的系统用户和组。如果以后不再搭建任何 Web 服务,可以顺便删掉(一般不建议删除,因为其他程序如 PHP-FPM、Nginx 等也可能用到):
sudo deluser --system www-data
sudo delgroup --system www-data
完成以上步骤后,Apache2 就已经从你的 Ubuntu 系统中彻底卸载干净了。