温馨提示×

debian apache怎么迁移

小樊
36
2026-09-21 18:14:03
栏目: 智能运维

下面给你一个在 Debian 上迁移 Apache(网站 + 配置 + 数据)的通用方案,适用于同机迁移、换服务器、换目录等场景。你可以按需取用。


一、明确迁移内容

一般 Apache 迁移包含:

  1. Apache 配置文件
    • /etc/apache2/
  2. 网站文件
    • 默认:/var/www/
    • 或自定义目录
  3. 数据库(如有)
    • MySQL / MariaDB
  4. SSL 证书
    • Let’s Encrypt:/etc/letsencrypt/
    • 自签或商业证书
  5. 用户/权限
  6. PHP 等运行环境(可选)

二、源服务器操作(旧 Debian)

1. 停止服务(可选,保证一致性)

sudo systemctl stop apache2

2. 打包 Apache 配置

sudo tar czvf apache-conf.tar.gz /etc/apache2

3. 打包网站目录

假设网站在 /var/www

sudo tar czvf www.tar.gz /var/www

4. 导出数据库(如有)

mysqldump -u root -p --all-databases > db.sql

5. 备份证书(Let’s Encrypt)

sudo tar czvf letsencrypt.tar.gz /etc/letsencrypt

三、传输到新服务器

scp apache-conf.tar.gz www.tar.gz db.sql letsencrypt.tar.gz user@new-server:/tmp

四、目标服务器操作(新 Debian)

1. 安装 Apache

sudo apt update
sudo apt install apache2

如需 PHP:

sudo apt install php libapache2-mod-php

2. 恢复 Apache 配置

sudo rm -rf /etc/apache2
sudo tar xzvf /tmp/apache-conf.tar.gz -C /

检查配置:

sudo apache2ctl configtest

3. 恢复网站文件

sudo rm -rf /var/www
sudo tar xzvf /tmp/www.tar.gz -C /

修复权限:

sudo chown -R www-data:www-data /var/www

4. 恢复数据库

mysql -u root -p < /tmp/db.sql

5. 恢复 SSL 证书

sudo tar xzvf /tmp/letsencrypt.tar.gz -C /

如用 certbot:

sudo apt install certbot python3-certbot-apache
sudo certbot renew --dry-run

五、启用站点 & 模块

sudo a2ensite your-site.conf
sudo a2enmod rewrite ssl
sudo systemctl restart apache2

六、防火墙 & 端口

sudo ufw allow 80
sudo ufw allow 443

七、验证

systemctl status apache2
curl -I http://localhost

八、常见问题

  • 403 Forbidden → 目录权限或 DocumentRoot
  • AH00558 → 配置文件语法问题
  • SSL 不生效 → 未启用 ssl 模块或证书路径错

如果你能告诉我:

  • 本机迁移还是跨服务器
  • 是否用 Docker / Nginx + Apache
  • 是否有 数据库 / SSL

我可以给你更精确的命令

0