阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单云服务器部署开源短链工具-YOURLS

645次阅读
没有评论

共计 4616 个字符,预计需要花费 12 分钟才能阅读完成。

简单云服务器部署开源短链工具 -YOURLS

YOURLS 是一款使用 PHP+Mysql 开发的短链接程序,相比公共短网址好处是数据掌握在自己手中,可控性更高。开源地址:https://github.com/YOURLS/YOURLS

前期准备

window 系统推荐 phpStudy 等集成 PHP 环境

linux 系统:LNMP(Linux+Nginx+Mysql+PHP)环境

域名,如果服务器在国内,则需要备案,笔者使用二级域名,http://y.xgss.net

部署

YOURLS 的安装流程类似于 PHP 站点。

将安装包解压并上传至服务器;将 user/config-sample.php 重命名为 user/config.php;编辑 user/config.php 文件,填入数据库信息和配置站点选项;访问 http://yoursite.com/admin/ 开始使用吧!

下载 YOURLS

YOURLS 免费开源,可以在 Github 下载最新版本(https://github.com/YOURLS/YOURLS/releases),解压后放到站点根目录,并将 config-sample.php 更名为 config.php。

wget https://github.com/YOURLS/YOURLS/archive/refs/tags/1.8.2.tar.gz

配置 MySQL 数据库

需要先新建一个 MySQL 数据库,并设置好账号、密码,然后修改 user/config.php 配置文件,填写正确的 MySQL 信息,配置信息如下。

修改数据库配置

修改 user/config.php​// 配置数据库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://y.xgss.net');​// 设置用户名和密码$yourls_user_passwords = [    'admin' => '123456', // 设置好密码];

输入管理员账号密码登录后如果出现“Could not auto-encrypt passwords. Error was:“cannot write file”.”报错,请将 user/config.php 文件的权限改为 666,然后刷新网页,再把权限改回 644,因为你刚才填写密码时用的是明文,这样很危险,所以程序需要对其加密。

配置 nginx 反向代理

server {        listen       80;        server_name  y.xgss.net;        root /data/wwwroot/web/y.xgss.net/;        access_log /data/wwwroot/log/y.xgss.net-access.log main_aliyun;        error_log /dev/null;​​        location / {                index index.php                try_files  $uri $uri/ /yourls-loader.php        }        location ~ ^/.+\.php {        fastcgi_index            index.php;        fastcgi_split_path_info  ^(.+\.php)(.*)$;        fastcgi_param            SCRIPT_FILENAME $request_filename;        fastcgi_param            PATH_INFO $fastcgi_path_info;        fastcgi_param            PATH_TRANSLATED $document_root$fastcgi_path_info;        include                  fastcgi_params;        fastcgi_pass             127.0.0.1:9000;        }}

重启 nginx

安装:http://y.xgss.net/admin/install.php

简单云服务器部署开源短链工具 -YOURLS

登录:http://y.xgss.net/admin/

简单云服务器部署开源短链工具 -YOURLS

添加短链接

简单云服务器部署开源短链工具 -YOURLS

yourls 汉化

汉化包的 git 地址为https://github.com/guox/yourls-zh_CN,下载中文包然后解压后放在放在 user/languages/ 目录下

YOURLS 默认是中文界面,不方便操作,看到有网友提供了汉化,访问 yourls-zh_CN 下载汉化包,并解压至 user/languages 目录,然后修改user/config.php

# 语言包放到 languages[root@aliyun-hz languages]# lltotal 68-rw-r--r-- 1 www www   210 Apr 23  2017 index.html-rw-r--r-- 1 www www    51 Mar 24  2013 README.md-rw-r--r-- 1 www www 22123 Mar 24  2013 zh_CN.mo-rw-r--r-- 1 www www 32783 Mar 24  2013 zh_CN.po# 修改配置文件启用中文vi user/config.php# 启用中文define('YOURLS_LANG', 'zh_CN');

YOURLS- API

请求地址:http:// 域名 //yourls-api.php 参数:username(用户名)、password(密码)、format(格式 json)、url(长地址)、action(功能,shorturl)

1、GET 请求,构建下 get 请求,可以直接访问也可以用 python 构建请求

http://y.xgss.net/yourls-api.php?username=user&password=password&url=http://www.baidu.com&format=json&action=shorturl
简单云服务器部署开源短链工具 -YOURLS

python 构建 get 请求

import requests, json​url = "http://10.0.0.101/yourls-api.php?"data = {"username":"wangxiaoyu","password":"123456","url":"http://www.baidu.com","format":"json","action":"shorturl"}response = requests.get(url, data)print(json.loads(response.text))

访问返回的 http://10.0.0.101/q94n1k 这个短链接可以跳转到百度 返回信息为

{    'url': {        'keyword': 'q94o0a',        'url': 'http://www.baidu.com',        'title': '百度一下,你就知道',        'date': '2020-04-21 07:40:58',        'ip': '10.0.0.1'    },    'status': 'success',    'message': 'http://www.baidu.com 已保存为',    'title': '百度一下,你就知道',    'shorturl': 'http://10.0.0.101/q94o0a',    'statusCode': 200}

如果不指定 format 为 json 的话,默认是 XML 格式 简单云服务器部署开源短链工具 -YOURLS

2、POST 请求 用 python 来发送 POST 请求测试 这里以 form 表单形式提交数据,所以不需要将 POST 的 data 转为 json 格式 POST 请求的几种编码方式可以参考:https://www.cnblogs.com/android-it/p/9558751.html

import requests, json​url = "http://10.0.0.101/yourls-api.php?"data = {"username":"wangxiaoyu","password":"123456","url":"http://www.baidu.com","format":"json","action":"shorturl"}response = requests.post(url, data)print(json.loads(response.text))

返回的信息为

{    'url': {        'keyword': 'q94nkx',        'url': 'http://www.baidu.com',        'title': '百度一下,你就知道',        'date': '2020-04-21 07:31:45',        'ip': '10.0.0.1'    },    'status': 'success',    'message': 'http://www.baidu.com 已保存为',    'title': '百度一下,你就知道',    'shorturl': 'http://10.0.0.101/q94nkx',    'statusCode': 200}

3、使用 token 而不使用账号密码

YOURLS 允许使用 username 和 password 参数(如果您的设置是私有的话)以老式的方式调用 API。如果您担心将自己的凭证发送出去,还可以使用秘密签名令牌进行 API 调用。signature 在 API 请求中使用参数。例:

http://yoursite/yourls-api.php?signature=1002a612b4&action=...

python 示例

import requests, jsonurl = "http://10.0.0.101/yourls-api.php?"data = {"signature":"6962355501","url":"http://www.baidu.com","format":"json","action":"shorturl"}response = requests.post(url, data)print(json.loads(response.text))

安装 Sleeky 主题,美化 YOURLS

YOURLS 界面显得非常古老,风格挺老的,前几天在 Github 上看到一款 YOURLS 主题 Sleeky,这篇文章分享下 Sleeky 主题的安装,希望对你有所帮助。

安装 Sleeky 主题

最新版 Sleeky 主题可前往 Github 下载:https://github.com/Flynntes/Sleeky/releases

Sleeky 主题主题包括两部分,一部分是 YOURLS 前端,另一部分是 YOURLS 后台管理。下载 Sleeky 主题主题后可看到有 2 个文件夹:

sleeky-frontend: 前端主题sleeky-backend:后端主题

将 sleeky-frontend 文件夹下的内容放到 YOURLS 站点根目录下即可,不需要额外的设置,直接访问 YOURLS 主界面即可看到效果。

简单云服务器部署开源短链工具 -YOURLS

将后端文件夹 sleeky-backend 放到 YOURLS 下的 /user/plugins 目录,并在 YOURLS 后台启用 Sleeky 主题插件,如下图。

简单云服务器部署开源短链工具 -YOURLS

旧的后台地址:

简单云服务器部署开源短链工具 -YOURLS

新的后台界面:

简单云服务器部署开源短链工具 -YOURLS

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-04-28发表,共计4616字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中