Rat's

Lstu:一款简单、美观的轻量级网址缩短程序
说明:Lstu是一个使用Perl编写的轻量级短网址程序,还提供api、二维码生成、统计面板、网址导入和导出等功能,...
扫描右侧二维码阅读全文
18
2019/06

Lstu:一款简单、美观的轻量级网址缩短程序

说明:Lstu是一个使用Perl编写的轻量级短网址程序,还提供api、二维码生成、统计面板、网址导入和导出等功能,界面挺简洁的,用起来还行,这里就发个手动和Docker安装。

截图

请输入图片描述
请输入图片描述
请输入图片描述

手动安装

Github地址:https://github.com/ldidry/lstu

教程只适用于DebianUbuntu系统,建议使用Debian 9

#安装依赖
apt update
apt install build-essential libssl-dev zlib1g-dev libpng-dev memcached sqlite git -y
#安装cpanm
curl -L http://cpanmin.us | perl - App::cpanminus
#安装carton
cpanm Carton
#拉取源码
git clone https://github.com/ldidry/lstu.git
cd lstu
#安装lstu,这里默认使用sqlite数据库
carton install --deployment --without=test --without=postgresql --without=mysql
#复制并编辑配置文件
cp lstu.conf.template lstu.conf
nano lstu.conf

这里只说下部分参数:

#端口监听,端口自行修改,如果想使用ip访问,就把127.0.0.1改为0.0.0.0
listen => ['http://127.0.0.1:8080'],
#联系邮箱(必开启)
contact       => 'admin[at]moerats.com',
#主题修改,默认的不太好看,建议修改为如下主题
theme         => 'milligram',
#给统计管理加密码,下面2个参数只需要开启一个
adminpwd      => 'moerats',  //明文密码,直接填字母就行
hashed_adminpwd => '6a3123b',  //hash密码,在ssh客户端使用echo -n moerats | sha256sum即可生成

#其它参数就自己看着修改,比如api限制,黑名单,白名单之类的。

修改好了后,使用ctrl+xy保存退出。

接下来,继续操作,使用命令:

#修改Systemd配置文件,修改lstu路径为自己的,这里默认/root/lstu/,记得后面加/
sed -i -e "s#/var/www/lstu/#/root/lstu/#g" -e "s/www-data/root/g" utilities/lstu.service
#移动配置文件
cp utilities/lstu.service /etc/systemd/system/
#启动
systemctl start lstu
#开机自启
systemctl enable lstu

然后就可以打开ip:8080开始访问了,如果想用域名访问,可以参考后面。

Docker安装

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、构建镜像

#拉取源码
git clone https://github.com/ldidry/lstu.git
cd lstu
#复制并编辑配置文件,参数修改方法看上面的手动教程,记得将监听地址127.0.0.1改为0.0.0.0,端口不变,并且新增一个dbtype => 'sqlite'。
cp lstu.conf.template lstu.conf
nano lstu.conf
#构建镜像,如果中途出现kill中断字眼,可能说明你内存太小了,建议添加SWAP,教程:https://www.moerats.com/archives/722/
docker build -t lstu .
#启动镜像
docker run --restart=always --name lstu -d -p 8080:8080 -v "$(pwd)/lstu.conf:/home/lstu/lstu.conf" -v "$(pwd)/lstu.db:/home/lstu/lstu.db" lstu

然后就可以打开ip:8080开始访问了,如果想用域名访问,可以参考后面。

域名反代

安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名、端口后一起复制到SSH运行!
echo "www.moerats.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:8080 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Port {server_port}
    header_upstream X-Forwarded-Proto {scheme}
  }
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

最后如果你想汉化界面的话,直接修改指定的主题即可,目录themesdocker建议先修改后再构建镜像。

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 07 月 19 日 05 : 23 PM

发表评论

14 条评论

  1. Troot
    该评论仅登录用户及评论双方可见
    1. Rat's
      @Troot

      这个没有试过,你可以自己折腾下

  2. eueu

    docker是集成了软件,mysql和php吗

    1. Rat's
      @eueu

      这程序不需要php,docker默认也使用的是sqlite

  3. CPUFAN

    博主搭建这些服务都是自己用的吗博主好些天前我提供的gay在线做图项目研究好了吗?

    1. Rat's
      @CPUFAN

      基本上用一次就不咋用了。gay忘了

  4. 奶爸de笔记

    其实我在考虑,WP那些301插件的性能能不能和这些专业的网址缩短的比。

  5. 心灵博客

    用的什么数据库?

    1. Rat's
      @心灵博客

      这里默认的是 SQLite、还可以用PostgreSQL和MySQL。

      1. 心灵博客
        @Rat's

        这种小程序 SQLite我喜欢,我去折腾一个玩玩。

  6. 欧文斯

    关键手上没有短域名

    1. Rat's
      @欧文斯

      那就了解下有这东西就行了

  7. qwer

    哈,六一八博主剁手节快乐阿

    1. Rat's
      @qwer

      只剁光棍节