Apache2是Linux环境下常用的Web服务器,以下是基础部署及常见优化(虚拟主机、SSL、权限设置)的详细步骤,覆盖Ubuntu/CentOS等主流系统。
根据系统类型选择对应命令:
sudo apt update && sudo apt install apache2 -y
sudo yum update -y && sudo yum install httpd -y
安装完成后,Apache会自动启动(可通过systemctl status apache2/systemctl status httpd验证状态)。
# 启动Apache服务
sudo systemctl start apache2 # Ubuntu/Debian
sudo systemctl start httpd # CentOS/RHEL
# 设置开机自启
sudo systemctl enable apache2
sudo systemctl enable httpd
通过systemctl status apache2确认服务状态为“active (running)”。
若系统启用防火墙(如Ubuntu的UFW、CentOS的firewalld),需放行HTTP(80端口)和HTTPS(443端口):
sudo ufw allow 'Apache Full' # 允许HTTP和HTTPS
sudo ufw enable # 启用防火墙(若未启用)
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
/var/www/yourdomain.com(替换yourdomain.com为你的域名或项目名):sudo mkdir -p /var/www/yourdomain.com/html
www-data,CentOS为apache)对目录有读写权限:sudo chown -R www-data:www-data /var/www/yourdomain.com # Ubuntu
sudo chown -R apache:apache /var/www/yourdomain.com # CentOS
sudo chmod -R 755 /var/www/yourdomain.com
html目录下创建index.html,写入简单内容:echo "<h1>Hello, World!</h1><p>Your website is working!</p>" | sudo tee /var/www/yourdomain.com/html/index.html
虚拟主机允许同一服务器托管多个网站。以Ubuntu为例,步骤如下:
/etc/apache2/sites-available/下新建配置文件(如yourdomain.com.conf):sudo nano /etc/apache2/sites-available/yourdomain.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com # 管理员邮箱
ServerName yourdomain.com # 主域名
ServerAlias www.yourdomain.com # 别名(可选)
DocumentRoot /var/www/yourdomain.com/html # 网站根目录
<Directory /var/www/yourdomain.com/html>
Options Indexes FollowSymLinks # 允许目录列表和符号链接
AllowOverride All # 允许.htaccess覆盖配置
Require all granted # 允许所有用户访问
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain.com_error.log # 错误日志路径
CustomLog ${APACHE_LOG_DIR}/yourdomain.com_access.log combined # 访问日志格式
</VirtualHost>
sudo a2ensite yourdomain.com.conf # 启用站点
sudo a2dissite 000-default.conf # 可选:禁用默认站点
sudo systemctl reload apache2 # 重新加载配置
/etc/httpd/conf.d/目录下(如yourdomain.com.conf),无需额外启用,修改后重启Apache即可。http://localhost,应显示测试页面。http://yourdomain.com,若看到测试页面则部署成功。使用Let’s Encrypt免费获取SSL证书,提升网站安全性:
sudo apt install certbot python3-certbot-apache -y
sudo yum install certbot python2-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按提示选择“Redirect to HTTPS”(强制跳转HTTPS),完成配置后,访问https://yourdomain.com将显示安全锁标志。chmod 755)和所有者(chown www-data:www-data/apache:apache)。/var/log/apache2/error.log或/var/log/httpd/error_log)定位问题。通过以上步骤,即可完成Apache2的基础网站部署。根据需求可进一步优化(如配置缓存、压缩、重定向等),提升网站性能与用户体验。