MC皮肤站搭建心得
背景:Windows环境下的Nginx之痛
最初在 Windows 系统下,我通过宝塔面板搭建了皮肤站。虽然初期配置顺利,但每次服务器重启后,Nginx 代理总会启动失败,反复调试无果后,我决定将整个服务迁移至更稳定的 Linux 环境。
第一步:LXC容器与Ubuntu版本的选择
为了隔离环境并方便管理,我选择在 Proxmox VE(PvE 8.2.2)中通过 LXC 容器部署 Ubuntu。
初尝败绩:Ubuntu 23.04 的兼容性问题
安装 23.04 版本后,发现官方镜像和软件源已停止支持,无法正常更新依赖包。
经验总结:非 LTS(长期支持)版本的 Ubuntu 生命周期较短,需优先选择 LTS 版本。再战遇阻:PvE 不支持 Ubuntu 24.10
尝试改用 24.10 版本时,PvE 提示不兼容。通过修改 PvE 的版本检测逻辑(参考社区教程),强制绕过限制,最终成功创建容器。
解决unsupported Ubuntu version '24.04'
问题描述:我在重装 pve8.2.2 恢复我的容器和虚拟机的时候,发现 24.04 的容器恢复时出现了如下错误:
TASK ERROR: unable to restore CT 104 - unsupported Ubuntu version '24.04'在 pve 的论坛可以看到这篇文章:Ubuntu 24.04 - unsupported Ubuntu version '24.04'这里只是对文章进行一个梳理。
修改 PVE/LXC/Setup/Ubuntu.pm
参见原文:Setup support Ubuntu 24.04 noble
find / -name "Ubuntu.pm"它应该在
/usr/share/perl5/PVE/LXC/Setup/Ubuntu.pm或者其他的地方,修改它。my $known_versions = { + '24.04' => 1, # noble '23.10' => 1, # mantic '23.04' => 1, # lunar '22.10' => 1, # kinetic添加 24.04 这一行。
然后运行pveam available pveam update pveam available确保第二次运行
pveam available的时候已经有system ubuntu-24.04-standard_24.04-2_amd64.tar.zst
然后参考这篇文章换源:PVE8 修改软件仓库源和 CT 模板(LXC)源为国内源,重要的是 CT 模板换源,如果已经换过了可以跳过。最后下载 24.04 模板即可
最后重新尝试恢复容器成功
第二步:PHP版本适配的曲折之路
根据皮肤站官方教程,需安装特定 PHP 版本(如 8.1),但 Ubuntu 官方源仅提供 PHP 8.3。以下是关键解决步骤:
添加第三方 PPA 源
通过 Ondřej Surý维护的 PPA 源获取旧版 PHP:sudo add-apt-repository ppa:ondrej/php sudo apt update非 LTS 系统的适配问题
问题现象:本仓库 PPA 明确提示不支持非 LTS 版本的 Ubuntu。
解决方案:手动修改 PPA 配置文件(位于/etc/apt/sources.list.d/ondrej-ubuntu-php-oracular.sources),将系统代号替换为最接近的 LTS 版本(如将mantic改为jammy),强制允许安装。安装目标 PHP 版本
sudo apt install php8.1 php8.1-fpm php8.1-mysql # 按需安装扩展风险提示:修改发行版代号可能导致依赖冲突,需谨慎操作!
第三步:成功安装
后面的步骤就很常规了,安装官方教程安装好就可以用了。