一、什么是Apache?

在开始搭建网站前,我们先简单了解一下主角——Apache。Apache是世界上最流行的Web服务器软件之一,它开源免费,能稳定地运行在Linux、Windows等系统上,用于接收和响应来自浏览器的网页请求。对于初学者来说,它安装简单、配置灵活,是学习Linux服务器部署的绝佳选择。

二、准备工作

在动手前,确保你满足以下条件:
1. 一台Linux服务器:可以是云服务器(如阿里云、腾讯云的CentOS/Ubuntu实例),也可以是本地虚拟机(如VMware安装的CentOS或Ubuntu)。
2. Linux基础操作能力:能使用命令行(如cdlsvim等),并具备基本的文件和权限概念。
3. 权限:需要rootsudo权限(即能执行apt/yum安装命令的用户)。

三、安装Apache服务器

Linux系统有不同的包管理工具,以下分别介绍主流发行版的安装步骤:

1. CentOS/RHEL系统(使用yum命令)

  • 更新系统包列表(可选但推荐):
  sudo yum update -y
  • 安装Apache
  sudo yum install httpd -y

httpd是CentOS中Apache的软件包名称)

2. Ubuntu/Debian系统(使用apt命令)

  • 更新系统包列表
  sudo apt update
  • 安装Apache
  sudo apt install apache2 -y

apache2是Ubuntu中Apache的软件包名称)

四、启动Apache并设置开机自启

安装完成后,需要启动Apache服务,并设置它在服务器重启时自动运行:

启动服务

  • CentOS:
  sudo systemctl start httpd
  • Ubuntu:
  sudo systemctl start apache2

设置开机自启

  • CentOS:
  sudo systemctl enable httpd
  • Ubuntu:
  sudo systemctl enable apache2

检查服务状态

可以用以下命令确认Apache是否正常运行:

sudo systemctl status httpd  # CentOS
sudo systemctl status apache2  # Ubuntu

输出中显示active (running)表示启动成功。

五、开放防火墙端口(关键步骤!)

如果服务器开启了防火墙(如CentOS的firewalld或Ubuntu的ufw),需要开放80端口(HTTP默认端口),否则外部无法访问网站。

1. CentOS(使用firewalld)

  • 开放80端口并永久生效:
  sudo firewall-cmd --add-port=80/tcp --permanent
  • 重新加载防火墙规则:
  sudo firewall-cmd --reload

2. Ubuntu(使用ufw)

  • 允许80端口访问:
  sudo ufw allow 80/tcp
  • 确认防火墙状态:
  sudo ufw status  # 显示“80/tcp”已允许则成功

六、部署你的第一个网站

现在Apache已安装并可访问,我们需要把网站文件放到Apache的默认网站目录中。

1. 找到网站根目录

  • CentOS:/var/www/html
  • Ubuntu:/var/www/html(路径一致,不同系统下路径相同)

2. 创建简单的HTML文件

进入网站目录,用vim创建一个index.html文件(网站首页默认名称):

cd /var/www/html
sudo vim index.html

vim编辑器中输入以下内容(简单的HTML页面):

<!DOCTYPE html>
<html>
<head>
    <title>我的第一个Linux网站</title>
</head>
<body>
    <h1>Hello, Linux Server!</h1>
    <p>这是我通过Apache搭建的第一个网站。</p>
</body>
</html>

Esc键,输入:wq保存并退出vim

七、测试网站访问

  1. 重启Apache服务
    让修改生效(无需完全重启,用reload更轻量):
    - CentOS:sudo systemctl reload httpd
    - Ubuntu:sudo systemctl reload apache2

  2. 浏览器访问
    在本地或其他设备的浏览器中,输入服务器的公网IP地址(如果是云服务器,需在安全组开放80端口)。例如:
    http://123.45.67.89
    你应该能看到刚才创建的index.html页面,显示“Hello, Linux Server!”。

七、常见问题排查

如果访问失败,按以下步骤检查:
1. 确认Apache状态:运行systemctl status httpd/apache2,确保服务是active
2. 检查防火墙:运行firewall-cmd --list-ports(CentOS)或ufw status(Ubuntu),确认80端口已开放。
3. 文件权限:网站目录和文件可能需要权限,确保Apache用户(CentOS:apache;Ubuntu:www-data)有读取权限。
例如:sudo chown -R apache:apache /var/www/html(CentOS)或sudo chown -R www-data:www-data /var/www/html(Ubuntu)。
4. 文件路径:确认HTML文件在/var/www/html下,且文件名是index.html(默认首页)。

八、进阶:简单配置虚拟主机(可选)

如果需要搭建多个网站(如example.comtest.com),可以通过虚拟主机实现。以CentOS为例:
1. 新建网站目录:sudo mkdir -p /var/www/example.com
2. 创建HTML文件:sudo vim /var/www/example.com/index.html
3. 编辑配置文件:sudo vim /etc/httpd/conf.d/example.com.conf
4. 写入以下内容(替换example.com为你的域名):

   <VirtualHost *:80>
       ServerName example.com
       DocumentRoot /var/www/example.com
       <Directory /var/www/example.com>
           Require all granted
       </Directory>
   </VirtualHost>
  1. 重启Apache:sudo systemctl restart httpd
  2. 用浏览器访问http://example.com(需配置域名解析)即可看到对应网站。

总结

通过以上步骤,你已成功在Linux服务器上用Apache搭建了第一个网站!核心流程是:安装Apache → 开放端口 → 部署文件 → 测试访问。后续可以继续学习PHP环境搭建、SSL证书配置等进阶内容,让网站更完善。

关键提醒:服务器安全很重要,建议定期更新系统和Apache,避免使用弱密码,后续可考虑添加mod_security等安全模块。

小夜