群晖上搭建短链接服务Yourls

什么 Yourls ?

YOURLS是一组 PHP 脚本,允许您在服务器上运行您自己的 URL 缩短器。您将完全控制您的数据、详细统计数据、分析、插件等。它是免费且开源的。

安装

建数据库

老苏用了群晖自带的 MariaDB 10 数据库

phpMyAdmin 中创建名为 yourls 的空数据库

为便于说明,假设数据库密码为 123456

所以根据上面的设置,最后得到的数据库相关的参数如下:

  • 数据库主机:192.168.0.197,与群晖主机 IP 一致;
  • 数据库端口:3307,如果用 MariaDB 5 就是 3306,但老苏没测;
  • 数据库用户:yourls
  • 数据库密码:123456
  • 数据库库名:yourls,因为勾选了与用户同名;

安装镜像

在群晖上以 Docker 方式安装。

【注意】:在老苏的低内核版本的机器上,会在初始化时出现下面的错误

1
AH00141: Could not initialize random number generator

解决办法要么换机器,要么采用 fpm 版本 + nginx web 服务,老苏为了省事,选择了换机器,毕竟像老苏这样还在使用 DSM6.17 的应该不多了吧 😂

在注册表中搜索 yourls ,选择第一个 yourls,版本选择 latest

本文写作时, latest 版本对应为 1.9.2

docker 文件夹中,创建一个新文件夹 yourls,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/yourls/data /var/www/html 存放网页文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8027 80

环境

可变
YOURLS_DB_HOST 数据库主机 + 端口
YOURLS_DB_USER 数据库用户
YOURLS_DB_PASS 数据库密码
YOURLS_DB_NAME 数据库库名
YOURLS_USER 管理员用户名
YOURLS_PASS 管理员密码
YOURLS_SITE 网站地址

更多环境变量的说明,可以参考官方文档:https://yourls.org/docs/guide/essentials/configuration

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 新建文件夹 yourls 和 子目录
mkdir -p /volume1/docker/yourls/data

# 进入 yourls 目录
cd /volume1/docker/yourls

# 运行容器
docker run -d \
--restart unless-stopped \
--name yourls-web \
-p 8027:80 \
-v $(pwd)/data:/var/www/html \
-e YOURLS_DB_HOST=192.168.0.197:3307 \
-e YOURLS_DB_USER=yourls \
-e YOURLS_DB_PASS=123456 \
-e YOURLS_DB_NAME=yourls \
-e YOURLS_USER=admin \
-e YOURLS_PASS=admin \
-e YOURLS_SITE=http://192.168.0.197:8027 \
yourls

其中 192.168.0.197 为老苏的群晖主机 IP

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3.5"

services:
yourls:
image: yourls
container_name: yourls-web
restart: always
ports:
- "8027:80"
environment:
YOURLS_DB_HOST: 192.168.0.197:3307
YOURLS_DB_USER: yourls
YOURLS_DB_PASS: 123456
YOURLS_DB_NAME: yourls
YOURLS_USER: admin
YOURLS_PASS: admin
YOURLS_SITE: http://192.168.0.197:8027
volumes:
- ./data/:/var/www/html

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 yourls 和 子目录
mkdir -p /volume1/docker/yourls/data

# 进入 yourls 目录
cd /volume1/docker/yourls

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8027 会看到错误的显示

实际上应该是要访问 http://群晖IP:8027/admin

Install YOURLS 开始安装

YOURLS Administration Page 跳转到登录页面

输入前面设置的 YOURLS_USERYOURLS_PASS 的值

登录成功后的主界面

https://laosu.tech 为例

默认生成的 url 够短的

当然实际应用中,还需要内网穿透到公网,url 长度主要取决于你的域名的长短了

插件

官方在 GitHub 上总结了非常多的插件,大约有 200 多个,可以根据自己的需求找到想使用的插件。

官方插件地址:https://github.com/YOURLS/awesome

进入 Manage Plugins,默认安装了 6 个插件,但实际上并没有激活

老苏看了下文档,使用插件的基本流程如下:

  • 将插件拷贝到 /yourls/data/user/plugins/插件名/ 目录下;
  • 然后在管理页面激活插件;

所有的插件都可以使用这样的方式安装启用,有兴趣可以试试

参考文档

YOURLS/YOURLS: 🔗 Y̲our O̲wn U̲R̲L̲ S̲hortener - the 𝑑𝑒 𝑓𝑎𝑐𝑡𝑜 standard self hosted URL shortener in PHP
地址:https://github.com/YOURLS/YOURLS

YOURLS/docker: 📦 Docker Images for YOURLS
地址:https://github.com/YOURLS/docker

YOURLS: Your Own URL Shortener
地址:https://yourls.org/

YOURLS/awesome: 🎉 A curated list of awesome things related to YOURLS
地址:https://github.com/YOURLS/awesome

【好玩儿的 Docker 项目】10 分钟搭建一个自己的短链接服务 ——YOURLS | 我不是咕咕鸽
地址:https://blog.laoda.de/archives/docker-compose-install-yourls/