# 阿里云配置 Apache > Ubuntu Apache2 配置指南 --- ## 安装 Apache ```bash sudo apt-get update sudo apt-get install apache2 -y ``` --- ## 配置文件 ### 重要文件位置 | 文件 | 说明 | |------|------| | `/etc/apache2/apache2.conf` | 主配置文件 | | `/etc/apache2/sites-available/` | 站点配置目录 | | `/etc/apache2/sites-enabled/` | 已启用站点 | | `/etc/apache2/ports.conf` | 端口配置 | > ⚠️ **注意**:Apache2 用 `apache2.conf`,不是传统的 `httpd.conf` --- ## 基本配置 ### 1. 配置 apache2.conf ```bash sudo vim /etc/apache2/apache2.conf ``` 添加: ```apache ServerName localhost DirectoryIndex index.html index.htm index.php ``` ### 2. 设置默认字符集 ```apache AddDefaultCharset UTF-8 ``` ### 3. 设置监听端口 ```apache Listen 80 # 监听 80 端口 Listen 8080 # 监听 8080 端口 ``` ### 4. 创建虚拟目录 ```apache Alias /down "/software/download" Alias /ftp "/var/ftp" ``` ### 5. 设置目录权限 ```apache Options FollowSymLinks AllowOverride None Require all granted ``` --- ## 配置站点 ### 1. 编辑默认站点 ```bash sudo vim /etc/apache2/sites-available/000-default.conf ``` ```apache ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ``` ### 2. 启用站点 ```bash sudo a2ensite 000-default.conf sudo a2enmod rewrite ``` --- ## 常用命令 ```bash # 启动/停止/重启 sudo systemctl start apache2 sudo systemctl stop apache2 sudo systemctl restart apache2 # 或 sudo /etc/init.d/apache2 start sudo /etc/init.d/apache2 restart # 查看状态 sudo systemctl status apache2 # 启用/禁用站点 sudo a2ensite site-name sudo a2dissite site-name ``` --- ## 测试配置 ```bash # 测试配置文件语法 sudo apache2ctl configtest # 查看已启用模块 apache2ctl -M ``` --- ## 安全建议 1. 禁用不必要的模块 2. 隐藏 Apache 版本信息 3. 启用 HTTPS (Let's Encrypt) 4. 配置防火墙只开放 80/443 --- > 参考:[百度经验 - Ubuntu Apache2 配置](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)