一、什么是Apache?¶
在开始搭建网站前,我们先简单了解一下主角——Apache。Apache是世界上最流行的Web服务器软件之一,它开源免费,能稳定地运行在Linux、Windows等系统上,用于接收和响应来自浏览器的网页请求。对于初学者来说,它安装简单、配置灵活,是学习Linux服务器部署的绝佳选择。
二、准备工作¶
在动手前,确保你满足以下条件:
1. 一台Linux服务器:可以是云服务器(如阿里云、腾讯云的CentOS/Ubuntu实例),也可以是本地虚拟机(如VMware安装的CentOS或Ubuntu)。
2. Linux基础操作能力:能使用命令行(如cd、ls、vim等),并具备基本的文件和权限概念。
3. 权限:需要root或sudo权限(即能执行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。
七、测试网站访问¶
-
重启Apache服务:
让修改生效(无需完全重启,用reload更轻量):
- CentOS:sudo systemctl reload httpd
- Ubuntu:sudo systemctl reload apache2 -
浏览器访问:
在本地或其他设备的浏览器中,输入服务器的公网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.com和test.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>
- 重启Apache:
sudo systemctl restart httpd - 用浏览器访问
http://example.com(需配置域名解析)即可看到对应网站。
总结¶
通过以上步骤,你已成功在Linux服务器上用Apache搭建了第一个网站!核心流程是:安装Apache → 开放端口 → 部署文件 → 测试访问。后续可以继续学习PHP环境搭建、SSL证书配置等进阶内容,让网站更完善。
关键提醒:服务器安全很重要,建议定期更新系统和Apache,避免使用弱密码,后续可考虑添加mod_security等安全模块。