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 # 按需安装扩展
风险提示:修改发行版代号可能导致依赖冲突,需谨慎操作!
第三步:成功安装
后面的步骤就很常规了,安装官方教程安装好就可以用了。