Yourls 搭建

发布于 2022-01-23  1 次阅读


官方文档:https://yourls.org

什么是 YOURLS?

YOURLS stands for Your Own URL Shortener. It is a small set of PHP scripts that will allow you to run your own URL shortening service (a la TinyURL or Bitly).

Running your own URL shortener is fun, geeky and useful: you own your data and don’t depend on third-party services. It’s also a great way to add branding to your short URLs, instead of using the same public URL shortener everyone uses.

YOURLS 代表您自己的 URL 缩短器。 它是一小组 PHP 脚本,可让您运行自己的 URL 缩短服务(La TinyURL 或 Bitly)。

运行您自己的 URL 缩短器既有趣又有趣且有用:您拥有自己的数据,并且不依赖第三方服务。 这也是为您的短 URL 添加品牌的好方法,而不是使用每个人都使用的相同的公共 URL 缩短器。

特点

  • 免费而且开源
  • 使用具有两面性:私有的(仅自己使用)或者生成公共的(每个人都可以创建短链接,适用于 Intranet)
  • 顺序排列 (从 1 到 n) 或自定义 URL 关键字
  • 十分方便的类书签模式记录,可轻松缩短和共享链接
  • 出色的统计信息:历史点击报告,引荐来源跟踪,访问者地理位置
  • 整洁的 Ajaxed 界面
  • 出色的插件架构,可轻松实现新功能
  • 支持开发人员 API
  • 全面的 jsonp 支持
  • 安装十分友好
  • 示例文件可创建您自己的公共界面等

安装环境

  • 系统 Centos7
  • 宝塔面板(LNMP)
  • Nginx 1.18.0
  • MySQL 5.5.62
  • PHP 7.3

新建站点

打开宝塔面板,添加一个已经解析好的网站。

安装数据库、 php。

域名申请一个 SSL 证书

设置伪静态:

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

下载源码

https://github.com/YOURLS/YOURLS/releases

上传源码至网站根目录

接下来打开目录 /user/, 把里面的 config-sample.php 改成 config.php

编辑 config.php 里面的内容

define( 'YOURLS_DB_USER', 'your db user name' );    # 数据库用户名
define( 'YOURLS_DB_USER', 'your db user name' );    # 数据库用户名
define( 'YOURLS_DB_PASS', 'your db password' );    # 数据库密码
define( 'YOURLS_DB_NAME', 'yourls' );    # 数据库名称
define( 'YOURLS_DB_HOST', 'localhost' );    # 不用改
define( 'YOURLS_DB_PREFIX', 'yourls_' );    # 不用改
define( 'YOURLS_SITE', 'http://yourls.addgm.com' );    # 你自己的域名 越短越好,比如我的 yourls.addgm.com 短地址基于这个生成。
define( 'YOURLS_HOURS_OFFSET', 0 );    # 时区偏移 改成 8
define( 'YOURLS_LANG', '' );    # 语言设置,默认是英文,后面我们改成中文版本,填'zh_CN'
define( 'YOURLS_UNIQUE_URLS', true );    # 不用改,短地址是否唯一
define( 'YOURLS_PRIVATE', true );    # 不用改,是否私有,如果私有的,则进行api调用生成短地址时需要传递用户名和密码
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );    # 点击http://yourls.org/cookie 复制里面的密钥,这个不用记住的。

'username' => 'password',  # 用户名=>密码  可填多个登录成功后这里的明文密码会被加密,这里默认是没有的,我们为了安全加上一个,比如用户名是'admin',密码是'123456'

define( 'YOURLS_DEBUG', false );    # 不用改,是否开启调试
define( 'YOURLS_URL_CONVERT', 36 );    # 自己设置使用36进制 还是62进制  这个最好一开始设好不要修改,避免地址冲突,建议62进制

$yourls_reserved_URL = array(  'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',);    # 排除这些敏感词汇,这些地址是不会生成的

汉化

语音包地址:

https://github.com/ZvonimirSun/YOURLS-zh_CN

原作者貌似已经停止更新了,不过还能使用

解压,然后把 YOURLS-zh_CN-1.7.3 的文件剪切出来

粘贴至网站的 /user/languages/

浏览器输入

https:// 域名 /admin

补充

短链接后面从 1 开始,可以用时间戳来生成

只需要修改 includes/functions.php  272 行左右

将 $id = yourls_get_next_decimal(); 改为 $id = time();

这样的话,后面链接会变长,而且不知道是 bug 还是什么原因,想改回来改不回来,有需要的可以尝试一下。

官方自带的插件库:

https://github.com/YOURLS/awesome-yourls#plugins