h4ck1nH4ck1n  2022-09-26 14:42 字节时代 隐藏边栏 |   抢沙发  29 
文章评分 1 次,平均分 5.0

简介

YOURLS是一款使用 PHP+MySQL 开发的开源短链接管理系统,可以创建公开或私有的短链接,允许随机或自定义关键字,拥有强大的数据统计分析功能,文档齐全,插件丰富,支持开放API扩展。

项目:https://github.com/YOURLS/YOURLS
官网:http://yourls.org/
下载:https://github.com/YOURLS/YOURLS/archive/master.zip

准备

  • VPS 主机(腾讯云等)
  • 短域名
  • 宝塔面板

部署

YOURLS的安装环境要求如下:

  • Nginx 1.20
  • PHP 7.2.0+
  • MySQL 5+

使用准备好的短域名,根据上面的要求使用宝塔新建一个站点。

下载YOURLS源码,可以直接用宝塔自带的远程下载,下载到网站根目录。

下载后,解压,并把所有文件移动到网站根目录。

将程序自带的一些默认文件改名,可以使用宝塔直接修改,具体修改如下:

cp user/config-sample.php user/config.php   # 配置文件
cp sample-public-front-page.txt index.php   # 网站首页,如果不对外提供短链服务,可以不改
cp sample-robots.txt robots.txt

编辑/www/wwwroot/你的域名/user/config.php文件,按照自己的情况配置。

/** MySQL 数据库用户名 */
define( 'YOURLS_DB_USER', 'your db user name' );

/** MySQL 数据库密码 */
define( 'YOURLS_DB_PASS', 'your db password' );

/** 用来存储 YOURLS 数据的数据库名 */
define( 'YOURLS_DB_NAME', 'yourls' );

/** 数据库主机ip '127.0.0.1:666'
 ** 如果你正在使用一个非标准断口,指定为'主机名:端口',例如'本地主机:9999'或'127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );

/** MySQL 表前缀字符 */
define( 'YOURLS_DB_PREFIX', 'yourls_' );

/** YOURLS 安装 URL -- 字母小写,并且结尾不带斜线
 ** 如果你把它定义为“http://iyideng.vip“,不要使用”http://www.iyideng.vip“在浏览器中(反之亦然) */
define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );

/** 服务器时区 GMT 值,北京时间 +8 */
define( 'YOURLS_HOURS_OFFSET', 0 );

/** YOURLS 语言
 **更改此设置以使用您的语言的翻译文件,而不是默认的英语。
 **翻译文件 (a .mo file) 必须被安装在 user/language 目录中。
 **更多信息,请访问 http://yourls.org/translations
 **请访问 https://github.com/ZvonimirSun/YOURLS-zh_CN/archive/master.zip 下载YOURLS汉化包,然后将包中的zh_CN.mo和zh_CN.po文件放到 /user/languages 目录下,然后在下面填入zh_CN */
define( 'YOURLS_LANG', '' );

/** 允许多个短链接对应同一原链接
 ** 设置为 true 则表示短链接和原链接一一对应(默认 Yourls 设置)
 ** 设置为 false 则允许多个短链接对应同一原链接(类似 bit.ly 表现) */
define( 'YOURLS_UNIQUE_URLS', true );

/** Private 表示后台管理需要密码登陆作为默认手段来实现管理
 ** 设置为 false 意味着对公众开放模式(例如在内网配置或者测试安装)
 ** 查看 http://yourls.org/privatepublic 获取更多细节 */
define( 'YOURLS_PRIVATE', true );

/** 用来加密 cookies 的一串随机哈希值,并不需要记住这个,要让它尽量长而复杂,可以从 http://yourls.org/cookie 来获取随机哈希值 **/
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );

/** 允许访问网站的用户名和密码。密码为纯文本或加密哈希
 ** YOURLS将自动加密此文件中的纯文本密码
 ** 阅读 http://yourls.org/userpassword 了解更多信息 */
$yourls_user_passwords = array(
    'username' => 'password',
    // 'username2' => 'password2',
    // 你可以使用 'login'=>'password' 这种格式来添加更多行
);

/** 调试模式,用来输出一些内部信息
 ** 对于运行中的站点默认是 false,在编码或者获取提交信息时才会启用 */
define( 'YOURLS_DEBUG', false );

/** 链接缩短方式:36 或者 62 **/
define( 'YOURLS_URL_CONVERT', 36 );
/*
* 36: 生成数字和小写字母组成的短链接关键字(例如:13jkm)
* 62: 生成数字大小写混合的短链接关键字(例如:13jKm 或者 13JKm)
* 选择一个来设置,你开始创建连接之后最好别再更改
*/

/**
* 保留关键字(这样子在创建链接时就会屏蔽这些关键字)
* 这里会填上负面、潜在误导性的词语
*/
$yourls_reserved_URL = array(
    'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
);

/*
 ** 自定义的个人设置项可以写在下面
 */

编辑index.php文件,将$page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ;,如果不需要访问网站首页,可以不修改。

设置伪静态,网站->设置->伪静态,输入以下代码并保存:

location / {
    try_files $uri $uri/ /yourls-loader.php?$args;
}

访问你的域名开始安装,安装界面如下:

点击install yourls开始安装,完成后如图所示:

打开你的域名就可以看到首页了,输入一个网址,如果能正确生成短网址,就没问题了。

设置中文

前面我们修改user/config.php时设置了中文,不过安装后并不是中文,所以我们还需要安装汉化包。

访问yourls-zh_CN下载汉化包,并解压到user/languages目录。

安装好之后,刷新一下就发现已经是中文了。

使用插件

在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。

点击左上角的“管理插件”,这里便能管理和激活插件,将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。

先激活自带的Random SHortURLs插件,它可以让短链末尾生成随机的字符串。

另外,推荐安装reCaptcha,可以在登录页面增加谷歌验证码,安装和使用方法参考源码的README.md文件。

访问 https://github.com/YOURLS/awesome-yourls 可以获得更多插件。

使用主题

YOURLS默认的界面比较简陋,推荐安装更好看的主题。

目前有三款主题:SleekyInfinity SquaredAir 666

推荐使用Sleeky这款主题,安装和使用方法参考源码的README.md文件。

后端演示:

前端演示:

问题解决

一、激活插件时提示No plugin specified, or not a valid plugin

打开/www/wwwroot/你的域名/includes/functions-plugins.php文件,找到如下代码:

function yourls_is_a_plugin_file($file) {
    return false === strpos( $file, '..' )
           && false === strpos( $file, './' )
           && 'plugin.php' === substr( $file, -10 )
           && is_readable( $file );
}

修改成

function yourls_is_a_plugin_file($file) {
    return 'plugin.php' === substr( $file, -10 )
           && is_readable( $file );
}

重新激活插件,就可以正常激活了。

二、启用 reCaptcha 后验证一直超时

由于大家都懂的原因,国内主机无法正常解析google.com域名,也就无法正常使用 reCaptcha 服务。

只要把插件源码中 reCaptcha 服务接口域名由google.com替换成recaptcha.net即可。

找到reCaptcha的安装目录/www/wwwroot/你的域名/user/plugins/Admin-reCaptcha,打开recaptchalib.php文件,将

private static $_siteVerifyUrl =
"https://www.google.com/recaptcha/api/siteverify?";

替换成

private static $_siteVerifyUrl =
"https://www.recaptcha.net/recaptcha/api/siteverify?";

打开plugin.php文件,将

$.getScript( "https://www.google.com/recaptcha/api.js?onload=loadCaptcha&render=explicit");

替换成

$.getScript( "https://www.recaptcha.net/recaptcha/api.js?onload=loadCaptcha&render=explicit");

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

h4ck1n
H4ck1n 关注:0    粉丝:0 最后编辑于:2022-10-18
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到

扫一扫二维码分享