下面给你一套**在 Debian 上升级 LAMP(Linux + Apache + MySQL/MariaDB + PHP)**的常见做法,适用于 Debian 10/11/12,以及从旧版本升级到新版本(如 Debian 11 → 12,或 PHP 7.x → 8.x)。
# 网站目录
tar czf /backup/www.tar.gz /var/www
# 数据库
mysqldump -u root -p --all-databases > /backup/all-db.sql
# 配置文件
cp -a /etc/apache2 /backup/apache2
cp -a /etc/php /backup/php
cp -a /etc/mysql /backup/mysql
cat /etc/debian_version
apache2 -v
php -v
mysql --version
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
例如从 bullseye → bookworm:
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
或手动编辑:
sudo nano /etc/apt/sources.list
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
完成后重启:
sudo reboot
Debian 升级后 Apache 会自动升级,但可手动确认:
sudo apt install apache2
apache2 -v
重启:
sudo systemctl restart apache2
mysql --version
sudo apt install mariadb-server
或(MySQL):
sudo apt install mysql-server
sudo mysql_upgrade -u root -p
新版本 MariaDB 通常自动完成,但建议检查。
Debian 默认仓库 PHP 版本较旧,推荐用 Sury 仓库。
sudo apt install -y curl wget gnupg2 ca-certificates apt-transport-https
curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-fpm \
php8.2-mysql php8.2-curl php8.2-gd \
php8.2-mbstring php8.2-xml php8.2-zip
sudo a2dismod php7.4
sudo a2enmod php8.2
sudo systemctl restart apache2
如用 PHP-FPM:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2 php8.2-fpm
systemctl status apache2
systemctl status mariadb
php -v
测试 PHP:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
sudo apachectl configtest
sudo apt install php8.2-xxx
tail -f /var/log/apache2/error.log
✅ 先升级 Debian
✅ 再升级 Apache / MariaDB
✅ 最后升级 PHP(用 Sury 仓库)
✅ 升级前 一定备份
如果你愿意,可以告诉我:
我可以给你精确到命令的升级方案。