准备工作
在开始之前,请确保您:

- 拥有一台已经安装好的 Linux 系统(推荐使用服务器版)。
- 拥有
sudo权限或root权限。 - 系统已经连接到互联网。
第一步:选择您的 Linux 发行版并执行安装
Apache 软件包在不同的发行版中有不同的名称,最常见的是 apache2 (用于 Debian/Ubuntu) 和 httpd (用于 CentOS/RHEL/Fedora)。
基于 Debian/Ubuntu 的系统 (如 Ubuntu 20.04/22.04, Debian 10/11)
使用 apt 包管理器。
-
更新软件包列表 这是一个好习惯,确保您获取到最新的软件包信息。
sudo apt update
-
安装 Apache2 执行以下命令安装 Apache 服务器及其相关文件。
(图片来源网络,侵删)sudo apt install apache2
安装过程中,系统可能会提示您继续,按
Y并回车即可。 -
启动并启用 Apache 服务
start: 立即启动 Apache 服务。enable: 设置 Apache 在系统启动时自动运行(开机自启)。sudo systemctl start apache2 sudo systemctl enable apache2
基于 CentOS/RHEL/Fedora 的系统 (如 CentOS 7/8, Rocky Linux, AlmaLinux, Fedora)
使用 dnf 或 yum 包管理器,在较新的版本(如 CentOS 8, Fedora)中,推荐使用 dnf。
-
安装 Apache (httpd)
(图片来源网络,侵删)# 对于使用 dnf 的系统 (CentOS 8+, Fedora) sudo dnf install httpd # 对于使用 yum 的旧系统 (CentOS 7) # sudo yum install httpd
安装过程中,输入
y确认。 -
启动并启用 Apache 服务 命令与 Debian/Ubuntu 类似,但服务名称是
httpd。sudo systemctl start httpd sudo systemctl enable httpd
第二步:验证安装
安装完成后,我们需要验证 Apache 是否正在运行并且可以被访问。
-
检查服务状态 查看Apache服务的运行状态,确保它处于
active (running)。# Debian/Ubuntu sudo systemctl status apache2 # CentOS/RHEL sudo systemctl status httpd
您应该会看到绿色的
active (running)字样,按q键退出状态界面。 -
通过浏览器访问 Apache 默认会监听服务器的 80 端口,在您的同一局域网内,或者如果云服务器已开放 80 端口,可以通过另一台设备的浏览器访问:
http://<你的服务器IP地址>如何获取服务器 IP 地址?
# 方法一 ip addr # 方法二 hostname -I
如果一切正常,您将看到 Apache 的默认欢迎页面,页面标题通常为 "Apache2 Debian Default Page" 或 "Apache HTTP Server Test Page",这表明您的 Apache 服务器已成功安装并运行。
第三步:基本配置
配置文件位置
了解配置文件的位置对于后续管理至关重要。
- 主配置文件:
- Debian/Ubuntu:
/etc/apache2/apache2.conf - CentOS/RHEL:
/etc/httpd/conf/httpd.conf
- Debian/Ubuntu:
- 网站配置目录:
- Debian/Ubuntu:
/etc/apache2/sites-available/(存放可用站点配置) 和/etc/apache2/sites-enabled/(存放已启用的站点配置,通常是指向sites-available的软链接)。 - CentOS/RHEL:
/etc/httpd/conf.d/(所有以.conf结尾的文件都会被自动加载)。
- Debian/Ubuntu:
- 网站根目录:
- Debian/Ubuntu:
/var/www/html/ - CentOS/RHEL:
/var/www/html/这是您放置网页文件(如index.html)的默认目录。
- Debian/Ubuntu:
创建一个简单的测试页面
让我们修改默认的网站根目录,创建一个个性化的页面来确认配置。
-
备份默认首页
# Debian/Ubuntu sudo mv /var/www/html/index.html /var/www/html/index.html.bak # CentOS/RHEL sudo mv /var/www/html/index.html /var/www/html/index.html.bak
-
创建新的首页 使用
echo命令或文本编辑器(如nano或vim)创建一个新文件。# 使用 echo 命令 echo "<h1>Hello from My Apache Server!</h1><p>My Server IP is $(hostname -I)</p>" | sudo tee /var/www/html/index.html
或者使用
nano编辑器(sudo apt install nano或sudo dnf install nano):sudo nano /var/www/html/index.html
然后输入以下内容并保存(在
nano中按Ctrl+X,然后按Y,最后按Enter):<html> <head> <title>My First Apache Page</title> </head> <body> <h1>Hello from My Apache Server!</h1> <p>This page is served by Apache on my Linux machine.</p> </body> </html> -
刷新浏览器 再次访问
http://<你的服务器IP地址>,您应该能看到您刚刚创建的新页面。
第四步:配置防火墙
如果您的服务器启用了防火墙(如 ufw 或 firewalld),您需要允许 HTTP (80端口) 和 HTTPS (443端口) 流量通过。
对于 Debian/Ubuntu (使用 UFW - Uncomplicated Firewall)
-
允许 Apache 流量 UFW 通常有预设的应用简写,我们可以直接使用。
sudo ufw allow 'Apache Full'
这个命令会同时开放 80 (HTTP) 和 443 (HTTPS) 端口。
-
确保防火墙正在运行 UFW 未启用,请启用它。
sudo ufw enable
对于 CentOS/RHEL/Fedora (使用 Firewalld)
-
永久添加服务规则
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
-
重新加载防火墙使规则生效
sudo firewall-cmd --reload
第五步:常用管理命令
掌握这些命令可以方便您日常管理 Apache 服务。
-
重新加载配置 (不中断服务,使新配置生效)
# Debian/Ubuntu sudo systemctl reload apache2 # CentOS/RHEL sudo systemctl reload httpd
-
重启服务 (中断服务并重新启动,通常在修改了核心配置后使用)
# Debian/Ubuntu sudo systemctl restart apache2 # CentOS/RHEL sudo systemctl restart httpd
-
停止服务
# Debian/Ubuntu sudo systemctl stop apache2 # CentOS/RHEL sudo systemctl stop httpd
-
禁用开机自启
# Debian/Ubuntu sudo systemctl disable apache2 # CentOS/RHEL sudo systemctl disable httpd
恭喜!您已经成功在 Linux 服务器上安装、配置并运行了 Apache HTTP 服务器,从现在开始,您可以:
- 在
/var/www/html/目录中放置您的网站文件。 - 编辑配置文件来配置虚拟主机,以托管多个网站。
- 安装 PHP、MySQL 等软件来搭建动态网站(如 LAMP 或 LNMP 环境)。
希望这份详细的指南对您有帮助!
