之前一直用yourls 搭建的短网址服务,可玩性比较强,但是功能强大不够简洁。

Polr 没有太多的设定和插件,也没用什么需要自己修改代码的地方,就是这样,安装,然后使用。

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

前言

就像二维码是很多移动营销途径中重要的一环,在PC上短链接也起着相同的作用,不过对于运营来说最重要的就是数据了,诸如点击数、来源、时间等等,使用像 t.cn url.cn 等第三方短链接的话就无法获得任何反馈数据,因此也有一些针对企业级的短链接服务,不过是收费的,而其他的免费短链接也会有种种限制。

这里就要介绍一下我们的 Polr 了,功能也是非常的强大。

介绍

Polr 是一款开源的 PHP 短链接软件,支持包括:

  • 已生产短链接的地址修改(营销支持)
  • 统计点记着信息(来源、时间等)
  • 二维码生成(移动营销支持)
  • API 支持(开发支持)

不过由于 Polr 是一款歪果仁开发的软件而且也没提供中文支持,还好有 skywalker 为我们带来了中文优化支持和一些改进。也就是 Polr 中文优化版 了。

题外话,其实自从微博SNS火了起来以后短链接软件就层出不穷,但是每个开发者都是开发完了事的,不会提供更多的升级也不会有漏洞的修补,推荐 Polr 呢,主要还是因为它一直在升级和修复。

要求 & 收获

需要使用到的产品:

  1. 搭建了 LNMP 环境的任意(包括非阿里云)服务器/ECS

通过本文你将讲学到:

  1. 使用 Composer 安装 PHP 程序
  2. 安装短链接好吃呢个徐

教程

由于篇幅限制,不过多介绍 LNMP 环境介绍和虚拟主机搭建,具体教程请看:【云计算的1024种玩法】手把手学会配置安装 LNMP 建站环境

安装 Composer

由于目前 Cloudreve 处于开发状态,所以我们需要通过 Composer 进行安装。

一、运行下面代码即可全局安装 Composer:

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

二、使用国内镜像 因为默认源在海外,国内服务器下载可能会很慢,海外服务器可以跳过:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

安装 Polr

一、创建好网盘用的虚拟主机和数据库后,进入虚拟主机网站的目录,例如我的是 /data/wwwroot/polr,然后开始下载安装:

cd /data/wwwroot/
git clone https://github.com/skywalker512/polr.git
cd polr

二、那么我们网站的运行目录就是 /data/wwwroot/polr/public

root    /data/wwwroot/polr/public;

然后在虚拟主机的配置 conf 中加入伪静态规则:

    location / {
            try_files $uri $uri/ /index.php$is_args$args;
    }

三、接下来会进入一段时间的等来下载相关依赖库,进行耐心等待:

使用 Polr 搭建一个属于自己的企业级短链接工具-米饭粑

出现下面语句就是成功了:

Generating optimized autoload files

四、复制一个 .env 文件副本,在网站目录下运行下面语句:

cp .env.setup .env

如果 .env.setup 文件不存在,那么我们就重新下载一个:

wget https://raw.githubusercontent.com/skywalker512/polr/master/.env.setup

安装

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

依赖程序:

  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,创建数据库和用户都不提了

#进入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)

<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

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可能是你所需要的。

哟?不错哎 订阅小米的RSS Feeds 回去慢慢看^_^