一.介绍
YOURLS是个挺有名的开源短链接生成程序,由PHP开发,全称为Your Own URL Shortener,兽兽dalao的 u.nu 也是使用YOURLS搭建并二次开发的,由于YOURLS比较活跃(GitHub上一直有更新),而且也支持各式各样的插件,所以很多人都在使用,唯一的缺点可能就是默认的主题比较难看(所以u.nu另外找人设计了一套主题)
二.安装
那么我们这次就来安装一下吧,还是和以前一样,基本的安装环境以及新建vhost还有数据库用户啥的我就不说了。
对了,先说下环境要求:
Apache 需要启用 mod_rewrite
PHP 版本 >= 5.3
MySQL 版本 >= 5.0
如果需要使用API需要PHP的CURL模块
当然,也支持Nginx和IIS啥的,可以看下官方wiki——> 传送门
本次我们使用Nginx,Apache由于程序安装时会自动生成.htaccess,所以不用管
#前往你vhost设置的网站目录 cd /path/to/vhost/root #下载解压程序 wget https://github.com/YOURLS/YOURLS/archive/1.7.2.tar.gz tar xzf 1.7.2.tar.gz #将程序从二级目录移出来 mv YOURLS-1.7.2/* . #清理一下 rm -rf 1.7.2.tar.gz YOURLS-1.7.2 #添加中文语言文件 wget -O user/languages/zh_CN.po https://raw.githubusercontent.com/guox/yourls-zh_CN/master/zh_CN.po wget -O user/languages/zh_CN.mo https://raw.githubusercontent.com/guox/yourls-zh_CN/master/zh_CN.mo #设置所有者 chown -R www:www * #然后修改YOURLS的配置 cp user/config-sample.php user/config.php #vim不会用也可以换nano啥的 vi user/config.php #配置参考下图
数据库啥的我就不说了
那个YOURLS_PRIVATE是设置你网站是否公开的(是否所有人都可以生成短链接)
语言代号请看 https://github.com/YOURLS/awesome-yourls#translations
YOURLS_COOKIEKEY是用于加密cookies的,请自行随便乱输(脸滚键盘了解下)
密码那儿你写上去是明文(不过你看文档的话也可以自己用md5加密),但是当程序运行后会自行加密,如果要多用户也可以写多行,记得在行末加上逗号
然后,就是修改你的vhost配置文件了,Nginx需要添加一段location来实现rewrite,在这之前你访问网站还是没法用滴
//需要注意这段必须添加为第一个location,不然没法优先起效 location / { try_files $uri $uri/ /yourls-loader.php$is_args$args; }
添加完成后重启Nginx,然后访问http://你的域名/admin/
然后……报错
看了下算是历史遗留问题,当数据库使用innodb并且排序规则为utf8mb4的时候就会这样,YOURLS计划迁移为utf8mb4来避免这个问题,不过看上去还没解决,详情请见——>传送门
我们直接修改表的排序规则为utf8_bin(似乎utf8_generic_ci也行)就行,可以直接用phpMyAdmin操作,也有人说升级MySQL5.7可以搞定,不过我没试
然后清空数据库重新来一遍
点击前往管理页面登陆
需要注意的是,YOURLS如果你想做成u.nu这样的,那么可能需要自己写个页面,用于使用API来创建短链接然后返回显示,所以可能更适合自用。
另外演示下安装插件的过程,以yourls-preview-url-with-qrcode插件为例,更多插件请访问 https://github.com/YOURLS/awesome-yourls
#进入网站目录 cd /path/to/vhost/root #前往插件目录 cd user/plugins/ #创建插件文件夹并进入 mkdir yourls-preview-url-with-qrcode cd yourls-preview-url-with-qrcode #下载插件 wget https://raw.githubusercontent.com/DennyDai/yourls-preview-url-with-qrcode/master/plugin.php #修改所有者 chown -R www:www ../*
然后激活一下就行
效果大概是这样
其他插件和功能就要你们自己折腾了。
文章评论
请问短链接是什么意思?类似百度网盘的下载链接那种东西??
好想要你的源码啊。。。
@台庄资讯 只是普通的wp而已
我安装了yourls-preview-url-with-qrcode,怎么才能显示网址的二维码呢?
是吧.po和.mo放在languages,还是放在文件夹里?