温馨提示×

Ubuntu LAMP怎样配置虚拟主机

小樊
44
2025-11-26 13:52:23
栏目: 云计算

Ubuntu LAMP 配置虚拟主机

一 准备与安装

  • 更新系统并安装组件:
    • sudo apt update
    • sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
  • 验证安装:
    • 访问服务器 IP 或域名,看到 Apache 欢迎页即表示 Apache 正常。
    • 创建测试文件 /var/www/html/info.php,内容:,访问 http://服务器IP/info.php 显示 PHP 信息页即表示 PHP 正常。

二 创建站点目录与权限

  • 创建网站根目录(示例域名为 your_domain):
    • sudo mkdir -p /var/www/html/your_domain
  • 设置目录属主与权限(Apache 运行用户通常为 www-data):
    • sudo chown -R www-data:www-data /var/www/html/your_domain
    • sudo chmod -R 755 /var/www/html/your_domain

三 创建并启用虚拟主机

  • 新建站点配置(/etc/apache2/sites-available/ 下创建文件 your_domain.conf):
    • sudo nano /etc/apache2/sites-available/your_domain.conf
  • 写入示例配置(按需替换域名与目录):
    • <VirtualHost *:80>
      • ServerAdmin webmaster@your_domain
      • ServerName your_domain
      • ServerAlias www.your_domain
      • DocumentRoot /var/www/html/your_domain
      • <Directory /var/www/html/your_domain>
        • Options Indexes FollowSymLinks
        • AllowOverride All
        • Require all granted
      • ErrorLog ${APACHE_LOG_DIR}/your_domain_error.log
      • CustomLog ${APACHE_LOG_DIR}/your_domain_access.log combined
  • 启用站点与可选禁用默认站点:
    • sudo a2ensite your_domain.conf
    • sudo a2dissite 000-default.conf(可选)
  • 检查语法并重启 Apache:
    • sudo apache2ctl configtest(出现 Syntax OK 再继续)
    • sudo systemctl restart apache2

四 DNS 与防火墙

  • 域名解析:在域名注册商将 your_domainwww.your_domainA 记录指向服务器 公网 IP
  • 防火墙(若使用 UFW):
    • sudo ufw allow ‘Apache Full’(同时放行 80/443

五 可选启用 HTTPS 与常见问题

  • 启用 HTTPS(Let’s Encrypt 免费证书):
    • 安装 Certbot:sudo apt install certbot python3-certbot-apache
    • 获取并自动配置证书:sudo certbot --apache -d your_domain -d www.your_domain
  • 常见问题与要点:
    • 目录权限与属主:确保 DocumentRootwww-data 可读可执行,否则会出现 403 Forbidden
    • 启用重写模块:如需 .htaccess 或伪静态,启用 mod_rewrite:sudo a2enmod rewrite
    • 配置语法检查:每次修改后先执行 apache2ctl configtest,再重启服务,避免配置错误导致站点不可用。

0