手动安装 Blessing Skin - prinsss/blessing-skin-server GitHub Wiki
虽然 Blessing Skin 提供了较为完善的自动安装程序,但是由于某些神秘的原因(e.g. 你的主机提供商禁用了某些 PHP 函数),你可能无法在你的机器上使用安装程序一键安装 Blessing Skin。这时候你就需要通过手动的方法安装皮肤站到你的机器上。
注意:下面的操作需要一定的动手能力。
如果你遇到了上述问题而导致无法进行自动安装,却又看不懂我下面在说什么的话,那么我建议你:
换一家主机提供商。
按照 README 中的步骤,配置好 Blessing Skin,并确保你能访问皮肤站安装程序的「欢迎界面」。
一般来说就算你无法自动安装,访问「欢迎界面」还是没有问题的。
如果你看不到上述界面,并且皮肤站报错了,那么请根据 FAQ 的内容自行解决或者联系我。
访问你的数据库(通过 phpMyAdmin 之类的),运行如下 SQL 语句:
CREATE TABLE IF NOT EXISTS `users` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(100) NOT NULL,
`nickname` varchar(50) NOT NULL DEFAULT '',
`score` int(11) NOT NULL,
`avatar` int(11) NOT NULL,
`password` varchar(255) NOT NULL,
`ip` varchar(32) NOT NULL,
`permission` int(11) NOT NULL DEFAULT '0',
`last_sign_at` datetime NOT NULL,
`register_at` datetime NOT NULL,
`verified` tinyint(1) NOT NULL DEFAULT '0',
`verification_token` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `players` (
`pid` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`player_name` varchar(50) NOT NULL,
`preference` varchar(10) NOT NULL,
`tid_steve` int(11) NOT NULL,
`tid_alex` int(11) NOT NULL,
`tid_cape` int(11) NOT NULL,
`last_modified` datetime NOT NULL,
PRIMARY KEY (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `closets` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`textures` longtext NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `textures` (
`tid` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`type` varchar(10) NOT NULL,
`likes` int(11) NOT NULL,
`hash` varchar(64) NOT NULL,
`size` int(11) NOT NULL,
`uploader` int(11) NOT NULL,
`public` int(11) NOT NULL,
`upload_at` datetime NOT NULL,
PRIMARY KEY (`tid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `options` (
`id` int(20) unsigned NOT NULL AUTO_INCREMENT,
`option_name` varchar(50) NOT NULL,
`option_value` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
怎么运行 SQL 语句我就不多说了,不会的话还是放弃手动安装吧。
注意,上面的 SQL 语句理论上适用于 Blessing Skin v3.1 及以上版本。
上面的 SQL 语句中,verified
和 verification_token
两个字段是 BS v3.5.0 新增的。
一般情况下,升级脚本会自动帮你添加这两个字段。但是特殊情况下,自动升级脚本可能会失败。
如果你在站点配置页看到了「安装不完全」的提示,那么请在数据库的 users
表中手动添加 verified
和 verification_token
两个字段(字段详情请参照上面的 SQL 语句,怎么添加字段我这里就不赘述了)。
运行如下 SQL(记得修改下面 site_url
的值):
INSERT INTO `options` (`option_name`, `option_value`) VALUES
('site_url' , 'https://修改成你的皮肤站地址.蟹蟹'),
('site_name' , '站点名称'),
('site_description' , '默认的站点描述,会显示在首页'),
('user_can_register' , 'true'),
('regs_per_ip' , '3'),
('ip_get_method' , '0'),
('api_type' , 'false'),
('announcement' , '默认的公告'),
('color_scheme' , 'skin-blue'),
('home_pic_url' , './resources/assets/dist/images/bg.jpg'),
('custom_css' , ''),
('custom_js' , ''),
('allow_chinese_playername' , 'true'),
('comment_script' , ''),
('allow_sending_statistics' , 'true'),
('user_initial_score' , '1000'),
('sign_gap_time' , '24'),
('sign_score' , '10,100'),
('score_per_storage' , 'true'),
('private_score_per_storage' , '10'),
('return_score' , 'true'),
('score_per_player' , '100'),
('sign_after_zero' , 'false'),
('version' , ''),
('check_update' , 'true'),
('update_source' , 'https://work.prinzeugen.net/update.json'),
('copyright_text' , '<strong>Copyright © 2018 <a href="{site_url}">{site_name}</a>.</strong> All rights reserved.'),
('auto_del_invalid_texture' , 'false'),
('return_200_when_notfound' , 'false'),
('cache_expire_time' , '31536000'),
('max_upload_file_size' , '1024'),
('force_ssl' , 'false'),
('auto_detect_asset_url' , 'true'),
('plugins_enabled' , ''),
('copyright_prefer' , '0'),
('score_per_closet_item' , '0'),
('favicon_url' , 'dist/images/favicon.ico');
这些配置项你也可以之后访问后台配置页面再次更改。
到这里,你的皮肤站应该可以正常访问了(登录、注册、上传 etc.)。
如果你是自动安装的话,安装程序会自动帮你新建一个管理员账号。但是现在你只能手动进行这一操作了:
- 通过「注册」页面注册一个普通用户;
- 访问数据库,进入
users
表; - 找到你刚刚创建的那个用户的数据表记录;
- 将这条记录的
permission
字段从0
改为2
(权限说明:0 代表普通用户,1 代表管理员,2 代表超级管理员,-1 代表封禁用户); - 现在,登录该用户,你已经可以访问后台管理页面了。
其他字段不懂的话就不用乱改,尤其是 password
字段。
至此,你已经完成了 Blessing Skin 的手动安装。👍
如果有什么疑问,可以联系我。