依然是太无聊了,搭个短链接玩,还特意淘了个短链接域名surl.pw
看了很多个短链接程序,pass掉了很多简单功能的 包括cf workers搭建的程序。最后在以下两个star数多的中做选择:
https://github.com/shlinkio/shlink
https://github.com/YOURLS/YOURLS
备注:yourls的插件https://github.com/YOURLS/awesome#plugins
最开始选择了shlink。因为介绍页清晰明白,功能看上去大致能覆盖我的需求。yourls star更多,支持插件扩展,更换主题等,但我觉得通过插件实现很多功能太麻烦,太臃肿,太不稳定,不想浪费太多精力在看插件上,只想即搭即用。但后来发现shlink最低只支持php8.1,不想装多php版本,所以最后还是选择了yourls。
1. 安装
下载最新版本文件到网站目录https://github.com/YOURLS/YOURLS/releases
解压,复制user/config-sample.php
到user/config.php
填写user/config.php
所需的设置详细内容参考https://yourls.org/docs/guide/essentials/configuration
<?php
/**MySQL设置 */
/** 您的MySQL用户名 */
define( 'YOURLS_DB_USER', 'MySQL用户名' );
/** 您的MySQL密码*/
define( 'YOURLS_DB_PASS', 'MySQL密码' );
/** 您的数据库名称
** 仅使用小写字母[a-z]、数字[0-9]和下划线[_] */
define( 'YOURLS_DB_NAME', 'MySQL数据库名称' );
/** MySQL数据库主机
** 如果使用非标准端口,请将其指定为'主机名:端口'例如'localhost:9999'或'127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );
/** MySQL数据库表前缀
** YOURLS将使用此表前缀创建表(例如`yourls_url`,`yourls_options`等)
** 仅使用小写字母[a-z]、数字[0-9]和下划线[_] */
define( 'YOURLS_DB_PREFIX', 'yourls_' );
/**网站选项 */
/** YOURLS安装网站
** 全部小写,结尾没有斜杠。
** 如果要把它定义为"http://sho.rt",不使用 "http://www.sho.rt"请不要在浏览器中使用www的二级域名(反之亦然)
** 要使用多语种域名(如http://你好.世界),请在此处写入其ascii格式 (如http://xn--6qq79v.xn--rhqv96g/) */
define( 'YOURLS_SITE', '您的网站' );
/** YOURLS语言
** 更改此设置以使用语言的翻译文件,而不是使用默认的英语
** 翻译文件(.mo文件)必须导入在 user/language 目录中
** 可以查看 http://yourls.org/translations 了解更多信息 */
define( 'YOURLS_LANG', 'zh_CN' );
/** 允许同一个长URL包含多个短URL
** 如果设置为true,则同一长链接,不能有多个短链接
** 设置为false则允许多个短链接指向同一个长链接 */
define( 'YOURLS_UNIQUE_URLS', true );
/** 私有意味着访问短链接后台需要登录
** 设置为false则用于公共用途
** 如果您不确定,请阅读http://yourls.org/privatepublic 了解更多 */
define( 'YOURLS_PRIVATE', true );
/** 用于加密cookies的随机密码,您不需要记住它,所以可以使它更复杂
** 提示:在 http://yourls.org/cookie 生成随机的密码*/
define( 'YOURLS_COOKIEKEY', '修改为一些随机的字符' );
/** 允许访问后台的用户名和密码,密码可以是纯字符的,也可以是加密的散列
** YOURLS将自动加密此文件中的纯文本密码
** 阅读 http://yourls.org/userpassword 了解更多信息 */
$yourls_user_passwords = [
'用户名' => '密码',
// 'username2' => 'password2',
// 您可以设置多个用户名和密码 'login'=>'password' lines
];
/** URL缩短方法: 36 或 62
** 36: 生成所有小写字母数字组合 (如:13jkm)
** 62: 生成大小写混合的字母数字组合 (如:13jKm或13JKm) */
define( 'YOURLS_URL_CONVERT', 36 );
/** 调试模式输出一些内部信息
** 默认值为false,编码时或提交新问题前启用 */
define( 'YOURLS_DEBUG', false );
/**
* 保留关键字(设置后生成的随机URL将避开保留的关键字)
* 在这里可以设置一些负面的、不需要的或潜在误导性的关键字
*/
$yourls_reserved_URL = [
'porn', 'sex', 'fuck',
];
/*
** Personal settings would go after here.
*/
访问 域名/admin
开始安装
发现设置了中文,但还是英语。在这里找到翻译文件https://github.com/YOURLS/awesome#translations
将.po .mo文件上传到 ./user/languages
路径即可
2. 启用插件
点此启用插件
默认的几个插件中,我启用了以下两个:
3. 安装sleeky主题
默认主题实在太“经典”,其他可替换主题也只有三个主题,设计上相对比较现代的也已经是四年前的了。https://github.com/Flynntes/Sleeky
主题分为前端和后端两部分。下载解压 Sleeky 主题后可以看到两个文件夹 sleeky-frontend
和 sleeky-backend
,前端只需要将 sleeky-frontend
中的文件复制到yourls网站根目录即可,后端则需要将 sleeky-backend
文件夹放到yourls目录下的 user/plugins
中,然后在后台管理(yourdomain.com/admin/plugins.php)
中启动主题插件即可看到效果。
安装后发现前端显示异常。经搜索后找到解决方法:
将 sleeky-frontend/frontend/header.php
中第15行左右 < link rel =" stylesheet " href =" <?php echo $ YOURLS_SITE ?> /frontend/dist/styles.css " >
中的 <?php echo $ YOURLS_SITE ?>
删除即可。
略微编辑了下:
备注:
- 主题配置改
/frontend/config.php
,其中注意启用reCAPTCHA - 文字汉化改
index.php
4. 发现打开短链接404
搜索得知,宝塔面板需要在网站-配置文件的最后一个 }
前添加以下内容
# URL重写
location / {try_files $uri $uri/ /yourls-loader.php$is_args$args;}
保存后测试正常。
暂无评论内容