阿里云轻量服务器Ubuntu系统如何配置Apache做Web服务器?

在阿里云轻量应用服务器上部署 Apache,核心逻辑其实和你在本地虚拟机或物理机上装 Linux 没太大区别。区别主要在于两点:一是云服务器的防火墙策略(安全组)需要手动放行端口,二是 Ubuntu 的包管理习惯。

以下是实操步骤,按顺序来,别跳步。

1. 连接服务器

使用 SSH 工具(如 Terminal、PuTTY、Xshell)连接你的 Ubuntu 实例。

ssh root@你的服务器IP
# 如果提示密码,输入root密码;如果配置了密钥,直接连接

2. 更新系统源(可选但推荐)

保持软件库最新,避免安装旧版本导致兼容性问题。

sudo apt update && sudo apt upgrade -y

3. 安装 Apache

Ubuntu 默认仓库里有 Apache,一行命令搞定。

sudo apt install apache2 -y

安装完成后,Apache 通常会自动启动。你可以用以下命令检查状态:

systemctl status apache2

如果看到 active (running),说明服务已运行。如果没有,手动启动:

sudo systemctl start apache2
sudo systemctl enable apache2  # 设置开机自启

4. 配置阿里云安全组(关键步骤)

很多新手在这一步卡住,发现本地浏览器访问服务器 IP 显示“无法连接”。这是因为阿里云轻量服务器的防火墙是双向的:Linux 内部有 ufw/iptables,阿里云控制台也有一个“防火墙”面板。

  • 登录阿里云控制台,进入你的轻量应用服务器详情页。
  • 找到 “防火墙” 标签页。
  • 添加一条规则:
    • 方向:入方向
    • 协议:TCP
    • 端口:80 (HTTP)
    • 授权对象0.0.0.0/0 (允许所有 IP 访问)
    • 策略:允许

注意:如果你后续要配 HTTPS,记得同时放行 443 端口。

5. 验证安装

打开本地浏览器,访问 http://你的服务器IP
你应该能看到 Apache2 Ubuntu Default Page,上面写着 “It works!”。这说明 Web 服务已经通了。

6. 调整文件权限与目录结构

Apache 的默认网站根目录是 /var/www/html

  • 建议不要直接用 root 用户编辑文件,容易出错且不安全。
  • 创建一个普通用户来管理网站文件(可选,但推荐):
    sudo adduser webadmin
    sudo usermod -aG www-data webadmin  # 将用户加入 www-data 组,方便读写
  • 修改网站目录的所有权:
    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html

7. 配置虚拟主机(Virtual Host)

如果你想托管多个域名或多个站点,需要配置虚拟主机。

  1. 创建一个新的配置文件:
    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf
  2. 编辑新文件:
    sudo nano /etc/apache2/sites-available/mysite.conf
  3. 修改内容如下(示例):

    <VirtualHost *:80>
       ServerAdmin admin@example.com
       ServerName yourdomain.com  # 替换为你的域名或IP
       DocumentRoot /var/www/html/mysite
    
       <Directory /var/www/html/mysite>
           AllowOverride All
           Require all granted
       </Directory>
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
  4. 创建对应的目录并放入测试文件:
    sudo mkdir /var/www/html/mysite
    echo "<h1>Hello from MySite</h1>" | sudo tee /var/www/html/mysite/index.html
    sudo chown -R www-data:www-data /var/www/html/mysite
  5. 启用新站点,禁用默认站点:
    sudo a2ensite mysite.conf
    sudo a2dissite 000-default.conf
  6. 重启 Apache 使配置生效:
    sudo systemctl restart apache2

8. 配置 UFW 防火墙(Linux 内部)

虽然阿里云控制台防火墙已经放行,但为了双重保险,建议在 Linux 内部也开启 ufw。

sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'  # 这会同时放行 80 和 443
sudo ufw enable
sudo ufw status

确认状态为 active 且包含 Apache Full

9. 常见问题排查

  • 权限问题:如果页面显示 403 Forbidden,通常是目录权限不对。执行:
    sudo chown -R $USER:$USER /var/www/html/your_site
    sudo chmod -R 755 /var/www/html/your_site
  • 模块加载:如果需要 PHP、Rewrite 等模块,先启用再重启:
    sudo a2enmod rewrite
    sudo systemctl restart apache2
  • 日志查看:出问题时,第一时间看日志:
    tail -f /var/log/apache2/error.log
    tail -f /var/log/apache2/access.log

总结

整个流程就是:装软件 → 开云防火墙 → 改配置 → 重启。阿里云轻量服务器的优势在于网络带宽和集成度高,劣势在于初始配置项较多(尤其是安全组)。只要确保 80 端口内外都通,剩下的就是常规的 Linux 运维操作了。

未经允许不得转载:云计算HECS » 阿里云轻量服务器Ubuntu系统如何配置Apache做Web服务器?