自建短链服务系列——Polr(简约而不简单)

下载/围观0 /143人次
0.0/0人
3 金币
  • 更新2018-09-13 09:13:42
  • 分类网站源码
  • 模板分类整站源码
  • 语言php
  • 授权开源版

一.介绍

介绍完了之前的YOURLS这次我们来介绍下Polr,相比于YOURLS这种要么自己用,要么自己二次开发来对外提供服务,Polr可能更加倾向于开箱即用,没有太多的设定和插件,也没用什么需要自己修改代码的地方,就是这样,安装,然后使用。

参考下Demo,感觉还是不错的
地址: http://demo..me/
用户名: demo-admin
密码: demo-admin

二.安装

所以不说别的了,赶紧来搭个玩玩。对了,照例说一下环境要求

依赖程序:

  1. Apache, nginx, IIS, or lighttpd (官方推荐Apache)

  2. PHP >= 5.5.9

  3. MariaDB or MySQL >= 5.5, SQLite alternatively (SQlite如果对外开放使用不建议,如果用的人多可能性能不足,当然好处是方便)

  4. composer

PHP要求:

  1. OpenSSL PHP Extension

  2. PDO PHP Extension

  3. PDO MySQL Driver (php5-mysql on Debian & Ubuntu, php5x-pdo_mysql on FreeBSD)

  4. Mbstring PHP Extension

  5. Tokenizer PHP Extension

  6. JSON PHP Extension

  7. PHP curl extension

我们依旧使用LNMP的环境,LAMP的差不多,只是不需要像Nginx一样自己配置伪静态,所以不说了。

依旧配置环境,新建vhost,创建数据库和用户都不提了

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#进入vhost设置的网站根目录

cd /path/to/vhost/root

git clone https://github.com/cydrobolt/polr.git --depth=1 .

#如果开着selinux请运行这个,当然我其实建议关闭selinux,不然太麻烦

chcon -R -t httpd_sys_rw_content_t storage .env

#获取composer,你装过了的话请跳过

#这儿的php路径请自行确认

curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php

mv composer.phar /usr/local/bin/composer

#使用composer安装依赖

rm composer.lock

composer install --no-dev -o

#修改文件所有者

chown -R www:www * .*

#复制一份默认配置,不用改,后面安装的时候会自动修改

cp .env.setup .env

按照要求,我们需要把vhost的根目录修改为public文件夹,参照如下
Apache(另外请确保启用mod_rewrite)

1

2

3

4

5

6

7

8

9

10

11

12

13

<VirtualHost *:80>

ServerName gto.ee

ServerAlias www.gto.ee

 

DocumentRoot "/var/www/polr/public"

<Directory "/var/www/polr/public">

Require all granted

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Nginx

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

server {

listen 80;

server_name gto.ee www.gto.ee;

access_log off;

index index.html index.htm index.php;

root /data/wwwroot/gto.ee/public;

location / {

try_files $uri $uri/ /index.php$is_args$args;

}

 

location ~ [^/]\.php(/|$) {

#fastcgi_pass remote_php_ip:9000;

fastcgi_pass unix:/dev/shm/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

}

 

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {

expires 30d;

access_log off;

}

location ~ .*\.(js|css)?$ {

expires 7d;

access_log off;

}

location ~ /\.ht {

deny all;

}

}

我只是测试,所以没有加https啥的,你要的话自己参照着改,主要就是添加那个第一条的rewrite用的location规则,以及修改root,把目录后面加上public

PS.域名别忘记改了

然后重启nginx,访问http://域名/setup/

如果正确的话就安装成功了

前往登陆,登陆主要是管理用户和查看当前短链,如果在安装向导的时候启用了分析功能的话能看到

一切OK

分析界面大概是这样,当然,如果想要时间正确请设置PHP的时区为PRC,并且它这个GeoIP库可能有点问题,可能需要你研究下更新

如果希望获得更多的功能,那么还是YOURLS更好,配合各种插件以及利用API二次开发能够达到相当好的效果,但是,如果你只是简单的需要一个属于自己的短链服务,那么Polr可能是你所需要的。


以下是 官方介绍



github // docs // demo // irc // 构建状态 // 问题


Polr是一种快速,现代,开源的链接缩短器。它允许您托管自己的网址缩短程序,标记您的网址,并控制您的数据。它也是GPLv2 +许可的。


Polr是强悍的,易于使用

  • 阅读安装文档,立即开始运行

  • 用于管理链接和控制实例的现代简单界面

  • 在您自己的域上运行,将品牌调整到完美

  • 使用开箱即用的Polr或分叉代码来调整它以满足您的需求

  • 自定义实例的缩短权限,重定向甚至是主题

并拥有强大的API

  • 用于与其他服务集成的语义REST API

  • 自动为用户分配新的API密钥,或手动生成它们

  • 创建新链接或查找现有链接,而无需修改您的现有代码

  • 有关更多信息,请参阅API文档


试试Polr

  • Polr演示实例:demo.polr.me

  • 用户名:demo-admin或demo-user

  • 密码:demo-admin或demo-user(与用户名相同)

  • 在演示实例上禁用某些功能,例如用户删除和密码更改

  • 使用演示实例测试API,界面或管理面板

感兴趣吗?

盒子里有什么东西?

  • 用PHP编写并由Lumen微框架提供支持

  • 使用Blade模板

  • 干净的MVC架构

  • 使用Eloquent ORM(MySQL,PostgreSQL或SQLite)

有助于

发现了一个bug?有一个改善Polr的好主意吗?前往Polr的GitHub页面并创建一个新的票证或分叉。如果您只想与其他开发人员聊天,请访问IRC频道。您还可以直接向问题跟踪器添加问题和功能请求。



文件下载列表
本地下载
- MB 下载
首页 导航 会员 客服
QQ客服 TOP