宝塔面板搭建短链接服务

YOURLS概述

短链接，通俗来说，就是将长的URL网址，通过程序计算等方式，转换为简短的网址字符串。

YOURLS（Your Own URL Shortener）是基于PHP的免费开源短链接平台，允许您在服务器上运行自己的URL缩短器。支持查看详细的统计数据、分析等。

[button color="dark" icon="github"]YOURLS项目地址[/button]

YOURLS特点

基于 PHP 的免费开源短链接平台

私有（仅您的链接）或公共（每个人都可以创建短链接，适用于所有人）

自定义URL关键字

方便的书签，可轻松缩短和共享链接

出色的统计信息：历史点击报告，来源跟踪，访问者地理位置等

整洁的Ajaxed界面

有丰富的插件架构，可以更好地拓展功能

方便的API

全面的jsonp支持

安装配置方便

可创建您自己的公共界面等

下载YOURLS

GitHub主页 | YOURLS汉化包 | 本站下载
[button color="dark" icon="github" url="https://github.com/YOURLS/YOURLS" type=""]GitHub主页[/button] | [button color="dark" icon="github" url="https://github.com/ZvonimirSun/YOURLS-zh_CN" type=""]YOURLS zh_CN[/button] | [button color="success" icon="link" url="https://drive.zane-liu.com/s/Y8SK" type=""]本站下载[/button]

安装教程（宝塔面板）

[collapse title="1.宝塔面板部署环境" status="false"]

1.在服务器中安装最新的宝塔面板，下载详见宝塔官网

2.登录宝塔面板，部署环境，安装PHP5.6（5.6-7.4均可）和MySQL5.6、Nginx等，可以直接点选一键安装

3.耐心等待安装完毕

[/collapse]

[collapse title="2.添加网站，部署数据库" status="false"]

1.环境部署完毕后，点击左侧“网站”菜单，配置站点信息，创建数据库时数据库名谨慎填写，避免后续冲突，数据库名和密码务必记住

2.访问一下刚才填写的站点，确认是否添加成功

[/collapse]

配置文件

1.复制/user/config-sample.php到同目录下，并改名为config.php
2.打开config.php，根据个人情况进行数据库、管理员账号等配置；下面的内容我已经汉化好了，大家可以根据实际情况进行简单的修改（不要直接复制下面的参数，YOURLS版本更新可能会无法识别）：

<?php

/**MySQL设置 */

/** 您的MySQL用户名 */
define( 'YOURLS_DB_USER', 'MySQL用户名' );

/** 您的MySQL密码*/
define( 'YOURLS_DB_PASS', 'MySQL密码' );

/** 您的数据库名称
** 仅使用小写字母[a-z]、数字[0-9]和下划线[_] */
define( 'YOURLS_DB_NAME', 'MySQL数据库名称' );

/** MySQL数据库主机
** 如果使用非标准端口，请将其指定为'主机名:端口'例如'localhost:9999'或'127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );

/** MySQL数据库表前缀
** YOURLS将使用此表前缀创建表（例如`yourls_url`,`yourls_options`等）
** 仅使用小写字母[a-z]、数字[0-9]和下划线[_] */
define( 'YOURLS_DB_PREFIX', 'yourls_' );

/**网站选项 */

/** YOURLS安装网站
** 全部小写，结尾没有斜杠。
** 如果要把它定义为"http://sho.rt"，不使用 "http://www.sho.rt"请不要在浏览器中使用www的二级域名（反之亦然）
** 要使用多语种域名（如http://你好.世界），请在此处写入其ascii格式 (如http://xn--6qq79v.xn--rhqv96g/) */
define( 'YOURLS_SITE', '您的网站' );

/** YOURLS语言
** 更改此设置以使用语言的翻译文件，而不是使用默认的英语
** 翻译文件（.mo文件）必须导入在 user/language 目录中
** 可以查看 http://yourls.org/translations 了解更多信息 */
define( 'YOURLS_LANG', 'zh_CN' );

/** 允许同一个长URL包含多个短URL
** 如果设置为true，则同一长链接，不能有多个短链接
** 设置为false则允许多个短链接指向同一个长链接 */
define( 'YOURLS_UNIQUE_URLS', true );

/** 私有意味着访问短链接后台需要登录
** 设置为false则用于公共用途
** 如果您不确定，请阅读http://yourls.org/privatepublic 了解更多 */
define( 'YOURLS_PRIVATE', true );

/** 用于加密cookies的随机密码，您不需要记住它，所以可以使它更复杂
** 提示：在 http://yourls.org/cookie 生成随机的密码*/
define( 'YOURLS_COOKIEKEY', '修改为一些随机的字符' );

/** 允许访问后台的用户名和密码，密码可以是纯字符的，也可以是加密的散列
** YOURLS将自动加密此文件中的纯文本密码
** 阅读 http://yourls.org/userpassword 了解更多信息 */
$yourls_user_passwords = [
'用户名' => '密码',
// 'username2' => 'password2',
// 您可以设置多个用户名和密码 'login'=>'password' lines
];

/** URL缩短方法: 36 或 62
** 36: 生成所有小写字母数字组合 (如：13jkm)
** 62: 生成大小写混合的字母数字组合 (如：13jKm或13JKm) */
define( 'YOURLS_URL_CONVERT', 36 );

/** 调试模式输出一些内部信息
** 默认值为false，编码时或提交新问题前启用 */
define( 'YOURLS_DEBUG', false );

/**
* 保留关键字（设置后生成的随机URL将避开保留的关键字）
* 在这里可以设置一些负面的、不需要的或潜在误导性的关键字
*/
$yourls_reserved_URL = [
'porn', 'sex', 'fuck',
];

/*
** Personal settings would go after here.
*/

3.修改配置文件的数据库名称、用户名、密码等信息，请务必仔细检查配置文件是否正确填写。修改完毕后保存config.php

4.打开网站根目录，将默认的网页文件删除掉

5.上传配置好的文件包。
（提醒：本站下载地址里的打包文件已经配置好中文翻译，GitHub官方主页下载的需要自行配置中文翻译文件）

6.上传完毕后将所有文件剪切到网站根目录

7.配置并上传完毕后，打开浏览器，访问：http://您的域名/admin/install.php ，点击“安装YOURLS”

8.出现下图界面代表环境正常，登录当时配置文件中部署的用户名和密码，点击“登录”

9.成功进入管理界面，安装成功，可以先测试一下是否可以指向短链接。

10.如果出现404页面，需要配置宝塔站点文件。打开宝塔面板-网站-设置-配置文件，将下述内容粘贴在最后一个大括号的前面。然后再次尝试打开短链接，这次即可正常访问

# URL重写
location / {try_files $uri $uri/ /yourls-loader.php$is_args$args;}

常见问题

[collapse title="服务器要求" status="false"]1.PHP>=7.4
2.MySQL 5
3.如果使用Apache环境，则需要支持mod_rewrite模块
4.YOURLS支持Nginx、IIS和Apache环境运行
[/collapse]

[collapse title="config.php语言的参数写了中文，为什么控制台还是英语？" status="false"]未上传语言包，导致出现该问题。
请在GitHub下载好语言包，并上传至/user/languages目录，如果目录下有其他的后缀名为.mo .po可以删除掉
[button color="dark" icon="github" url="https://github.com/ZvonimirSun/YOURLS-zh_CN" type=""]YOURLS zh_CN[/button]
[/collapse]

[collapse title="config.php文件的YOURLS_COOKIEKEY参数怎么填写？" status="false"]请在http://yourls.org/cookie生成随机密码，直接粘贴进去即可
[/collapse]

[collapse title="404错误" status="false"]1.优先检查访问的链接是否与控制台配置一致
2.Nginx服务器配置文件中是否部署URL重写

# URL重写
location / {try_files $uri $uri/ /yourls-loader.php$is_args$args;}

3.Apache需要启用mod_rewrite模块，请创建.htaccess文件（注意区分安装路径）

#.htaccess 文件内容，如果是根目录下（如http://您的域名/）
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /yourls-loader.php [L]
</IfModule>
# END YOURLS

#如果是二级目录下（如：http://您的域名/somedir/）
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /somedir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /somedir/yourls-loader.php [L]
</IfModule>
# END YOURLS

4.如果上述方案仍无法解决，建议排查服务器日志，或参阅GitHub官方帮助文档：https://github.com/YOURLS/YOURLS/wiki/404-instead-of-redirection
[/collapse]

[collapse title="怎么安装YOURLS插件" status="false"]

YOURLS具有强大的插件API，可用于实现自定义功能。插件由YOURLS的会员制作（并希望维护）。您可以通过储存库中找到插件列表
储存库：https://github.com/YOURLS/awesome-yourls
注意：在储存库页面列出的插件并不保证其代码是否存在问题（除非是由Ozh制作的）；

在储存库下载插件后，上传至服务器user/plugins目录下，并解压。完毕后在“管理插件”页面可以进行激活

[/collapse]

[collapse title="YOURLS有应用程序吗？" status="false"]

Android应用 | 解释
[button color="info" icon="gitlab" url="https://gitlab.com/matecode/ayourls/-/tree/develop" type=""]aYourls[/button] | 适用于YOURLS的专用应用程序，支持短链接删除
[button color="info" icon="link" url="https://gitlab.com/matecode/ayourls/-/tree/develop" type=""]iC-YOURLS[/button] | 一个适用于Android的简单YOURLS应用程序，支持接收来自其他应用程序的链接

IOS APP | 解释
[button color="info" icon="link" url="https://apps.apple.com/us/app/shortfox2/id1465812791?ls=1&t=8" type=""]ShortFox2[/button] |
[button color="info" icon="link" url="https://shortmenu.com/ios/" type=""]Short Menu[/button] | YOURLS支持需要一次性在应用内购买大约2美元（另请参阅：安装说明）

Chrome应用
[button color="info" icon="chrome" url="https://chrome.google.com/webstore/detail/yourls/nddaaiojgkoldnhnmkoldmkeocbooken" type=""]YOURLS[/button]

Firefox应用
[button color="info" icon="chrome" url="https://addons.mozilla.org/en-us/firefox/addon/yourls-shortener/" type=""]YOURLS shortener[/button]

Mac应用 | 解释
[button color="info" icon="airplay" url="https://shortmenu.com/mac/" type=""]Short Menu[/button] | 可在App Store或直接从开发人员处以$ 6的价格购买

[/collapse]

[collapse title="短链接无法正常跳转，提示工信部阻断页面" status="false"]针对互联网信息服务，国家颁发了以下主要法规要求，以下为您概要解读备案的要求。

根据上述解读可知，您是否需要备案主要看您的网站等互联网信息服务解析到的服务器是否在中国内地（大陆），如果服务器在中国香港、中国澳门、中国台湾及其他国家和地区，则不需要备案。

[/collapse]