说明:Lstu
是一个使用Perl
编写的轻量级短网址程序,还提供api
、二维码生成、统计面板、网址导入和导出等功能,界面挺简洁的,用起来还行,这里就发个手动和Docker
安装。
截图
手动安装
Github地址:https://github.com/ldidry/lstu
教程只适用于Debian
、Ubuntu
系统,建议使用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+x
、y
保存退出。
接下来,继续操作,使用命令:
#修改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/iiiiiii1/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
就可以打开域名进行访问了。
最后如果你想汉化界面的话,直接修改指定的主题即可,目录themes
,docker
建议先修改后再构建镜像。