学习是一种乐趣~
分享是一种美德~

网址短链接 Polr 搭建教程

Polr是一个开源的短链接软件,也就是不存在收费的问题,而且功能也是足够强大,不仅能够随机生成、自定义生成短链接,还支持API、二维码,同时还拥有一系列管理、统计功能(来源、时间、访问次数等等),可以说是现在市面上最强大的一个短链开源项目。

这里就讲一下它的搭建过程。

 

截图

 

安装方法

准备工作:
1,安装了Web环境的服务器一台,可以用lnmp、lamp一键包或者宝塔之类的面板来搭建web环境。
2,一个足够短的漂亮的域名,并做好解析。

Github地址:https://github.com/cydrobolt/polr

1. 添加网站并下载程序
添加域名,并进入网站根目录,使用命令:

cd /www/wwwroot/website.com
#下载官方源码
git clone https://github.com/cydrobolt/polr.git
mv polr/{.,}* ./

#下载汉化文件(网上流传的汉化版本,无法支持二维码功能,此处博主依据最新版 Polr 自行汉化了一个,功能正常使用。)
cd resources && rm -rf views && wget https://github.com/honorcnboy/Porl-CHN/releases/download/1.0.0/porl_views_1.0.tar.gz
tar zxvf porl_views_1.0.tar.gz
cd ..

2. 下载并安装composer

#在/root目录下安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

#进入网站根目录运行
cd /www/wwwroot/website.com
composer install --no-dev -o

此时如果出现错误,请仔细检查,一般都是因为PHP禁用函数未解除,或是缺少PHP扩展造成的。

3.编辑文件
.env.setup创建一个名为.env的副本。

cp .env.setup .env

4、网站设置

在宝塔面板上点击网站-设置-伪静态,设置为:laravel5,保存。然后到 网站目录-运行目录 ,选择/public,保存。再回到 伪静态 ,填入以下代码。同时,设置好SSL:

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

5、 重启Nginx,将网站下所有文件的权限改成755,所有者www

6、 进入http://website.com/setup完成各项设置【参阅下方:[踩坑提醒]】

现在就可以正常使用了!!!如果出现错误,删除网站重新搭建即可。

 

踩坑提醒【更新:2023年1月】

博主在最近又一次部署该项目时,在setup页面完成各项设置后,点击 安装 ,跳转页面出现报错:”Polr” Whoops, looks like something went wrong。进入网站直接登录同样也出现错误。之前部署时从未遇到这种情况,可能是因为该项目已经停更很久,出现了兼容性问题。查阅了很多资料都没有找到解决方法。最后只好自己摸索,终于解决了这个问题。

1、在setup页面进行设置时,一定要开启用户注册,如果需要邮件验证,则同时要配置好Smtp服务器,为避免出现问题,可以同时开启重置密码功能。(稍后可以在.env文件中进行关闭注册等)

2、进入网站根目录/www/wwwroot/website.com,运行:

php artisan migrate

3、现在可以正常进入网站,但是如果你开始设置的是只有登录用户可以使用短链的话,此时是无法正常使用短链的。同时,你使用设置的用户进行登录时,会提示登陆错误。原因是数据库里现在没有用户信息。此时你就只需注册一个用户,使用注册用户进行登录,就可以正常使用短链功能了。

但是现在仍然有一个缺陷,你注册的用户并不具备管理员权限,只是一个普通用户,没有办法管理其他注册用户的短链。要将自己注册的用户升级为管理员,只需要进入数据库,在users中将你刚注册的用户的role赋值为admin即可。然后回到网站,退出后重新登录,你就会发现你的账户已经是管理员了。

 

其他配置

1、一些细节点说明

1. 如果是使用Cloudflare,不要开启CDN(小云朵),会造成重定向次数太多,无法正常访问。如果非要开启CDN,见下面第3条进行设置。

2. 不要关闭 防跨站攻击 ,否则网站无法正常访问。

2、修改设置
是的,你没看错设置仅能通过.env这个文件修改。

3、通过CDN获取真实IP
若使用Cloudflare,请在vender/autoload.php的第6行加入:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}

其他CDN请自行查找。

4、设置时区
.env文件的最后加入(时区自行根据需要设置即可):

APP_TIMEZONE=Asia/Shanghai

 

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
网站名称:CNBoy 四海部落
文章名称:《网址短链接 Polr 搭建教程》
文章链接:https://cnboy.org/1138

本站资源仅供个人学习交流,不允许用于商业或违反国家法律法规之用途,否则法律问题自行承担。如有转载需注明文章来源。