YOURLS – 一款非常优秀的开源短链接网址缩短管理系统 | 自带统计分析功能 | 支持开放API插件扩展

自今年以来,很多短链接服务商相继被迫关闭,或转型成企业用户服务项目,比如百度短网址、缩我、新浪微博t.cn和腾讯url.cn等,现在仅存且好用的也就有新浪短网址,以及国外的 bit.ly 和谷歌 goo.gl 。其中,bit.ly 和谷歌 goo.gl 在天朝大陆访问不顺畅,而且经常被干扰导致无法正常跳转新浪短网址不知何时会因监管压力而被迫停止运营,导致以前的所有推广短链接失效,得不偿失。

鉴于此,一灯不是和尚今天就为大家推荐一款优秀的开源短链接网址缩短管理系统,名字叫 YOURLS,是 Your Own URL Shortener 的英文缩写。它可以创建公开或私有的短链接,可以随机或自定义关键字,而且拥有强大的统计分析功能,支持开放API扩展功能。

YOURLS项目官网:https://yourls.org/

YOURLS项目地址: https://github.com/YOURLS/YOURLS

1、YOURLS功能简介

  • 基于 PHP 的免费开源短链接管理平台
  • 点击历史和频次统计、推介跟踪、访客地理位置等
  • 有丰富的插件架构,可以更好地拓展功能
  • 整洁的 AJAX 化的界面
  • 支持开放 API
  • 支持跨域访问
  • 安装配置方便

我们通常使用 LAMP 或 LNMP 搭建服务器环境,我这里以LNMP环境为例进行演示。搭建YOURLS服务器环境要求如下:

  • 开启 mod_rewrite 权限
  • PHP 5.6 +
  • MYSQL 5.0 +
  • Nginx 1.16 +

另外,YOURLS 不仅支持 Nginx,而且还支持 IIS 和 Cherokee 等Web服务器,请将域名解析到主机,并创建数据库。我推荐您先安装宝塔面板,然后搭建运行环境,更方便快捷。

2、手动安装YOURLS

(1)从 https://github.com/YOURLS/YOURLS/releases/ 下载最新版的YOURLS安装包;

(2)复制 /user/config-sample.php 到同目录下并改名为 config.php;

(3)编辑配置文件 config.php,进行站点、数据库、管理员账户、链接和网站主页等配置,详情见下面YOURLS相关配置;

(4)将所有文件上传到网站的根目录,可能是 /www/wwwroot、public_html 或者 /var/www/ 目录等;

(5)在浏览器访问 http://iyideng.org/admin/ 来进行安装,输入设置好的账号和密码就可以登录了。

温馨提醒:在安装YOURLS 过程中,请将 config.php 文件权限设置为666,否则可能会造成明文密码无法自动加密,你可以在安装完成后再修改过来。如果出现错误,用户后台会有提示信息,所以也不必过于担心。

3、YOURLS相关配置

(1)配置MySQL数据库

/** 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_' );

(2)YOURLS站点配置

/** YOURLS 安装 URL -- 字母小写,并且结尾不带斜线
 ** 如果你把它定义为“http://iyideng.org“,不要使用”http://www.iyideng.org“在浏览器中(反之亦然) */
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 );

(3)YOURLS短链接设置

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

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

(4)YOURLS个人设置

YOURLS默认此项为空白项,用于此后的个人定制配置区域。

(5)将下面代码粘贴到 【网站】-【设置】-【伪静态】中,然后重新加载并重启ngninx,配置代码如下:

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

4、YOURLS添加插件

YOURLS插件项目官网:https://github.com/YOURLS/awesome-yourls

(1)将插件拷贝到 /user/plugins/ 插件名 / 目录下;
(2)然后在YOURLS后台管理页面激活插件。

5、YOURLS更换主题

显而易见,YOURLS官方默认主题比较简陋,像是老古董一般,但官方还有其他的主题可选,比如 SleekyInfinity Squared 和 Air 666 三款官方推荐主题。其中,Air 666 已经两年没更新了,年久失修,在最新版 YOURLS 1.8.1 使用显示不太正常,Infinity 主题使用有点复杂,主要还是非独立文件夹,容易搞乱文件布局,我不想使用。最后,一灯不是和尚选择了Sleeky,简洁时尚,前端有点简陋,就一个缩短输入框,但是足够用了。再说,我也不想公开使用,所以可有可无,丝毫没有影响。

至此,YOURLS短链接缩短网址管理系统平台搭建完毕。

如果你不想或没有技术能力自建短链接管理平台,那么我推荐你参考文章 短网址短链接哪个好用?最好的缩短链接短网址推荐,挑选一家最适合你的优质稳定的短链接服务商。

本文由一灯不是和尚于2022年12月24日更新;如果您有什么意见或建议,请在文章下面评论区留言反馈。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注