用轻量搭个v2ex玩玩

最近国内经常访问不了v2ex,无论是电信联通移动都打不开,借此机会搭个v2ex论坛岂不美哉

当然我用的这个程序并不是v2ex官方用的那个,高仿,他的功能方面和v2ex原版差不多

有前后端

前端casnode

https://github.com/casbin/casnode

后端casdoor

https://github.com/casbin/casdoor

需要先部署后端再部署前端,后端casdoor支持多个站点同时使用

先上图

轻量

选择宝塔镜像可以方便后面守护进程之类的问题,还能省去安装宝塔的时间,还可以在宝塔上修改配置文件

顺带重置一下密码,可以用宝塔的ssh,不需要再用ssh软件了

废话不多说直接开始

具体需要

后端casdoor+前端casnode+mysql+nginx+golang+nodejs

打开宝塔后先选择安装四件套

https://p0.meituan.net/csc/e14315dbbf2e5776124a12ee492f6f2c19245.png

先把文件clone下来(轻量宝塔自带git)

casdoor

git clone https://github.com/casbin/casdoorcasnode

git clone https://github.com/casbin/casnode

国内机

casdoor

git clone https://hub.fastgit.org/casbin/casdoorcasnode

git clone https://hub.fastgit.org/casbin/casnode

环境

他需要golang和nodejs,因为yum的源直接下的太老,会出现问题,所以我建议手动装

go

wget https://studygolang.com/dl/golang/go1.15.linux-amd64.tar.gz

sudo tar -C /usr/local -xzf go1.15.linux-amd64.tar.gz

添加环境变量

都有宝塔了要什么自行车

在宝塔打开 /etc/profile,底部加两行

export PATH=$PATH:/usr/local/go/bin

在ssh输入 source /etc/profile

现在,输入go version,你将看到go版本

则安装成功.如果 你无法连接github,可以设置镜像,命令为

go env -w GOPROXY=https://goproxy.cn,direct

nodejs

wgethttps://mirrors.tuna.tsinghua.ed … linux-x64.tar.xz

tar-xvf node-v15.1.0-linux-x64.tar.xzcd /usr/local/mv /root/node-v15.1.0-linux-x64 . //后面的.表示移动到当前目录

mv node-v15.1.0-linux-x64/ nodejs

再次编辑/etc/profile,加入

export PATH=$PATH:/usr/local/nodejs/bin

source /etc/profile

测试是否安装成功

node -vnpm -v

顺便创建两个数据库

构建casdoor

先用go吧main文件构建出来

cd casdoor go build main.go

与此同时编辑

/root/casdoor/conf里的app.conf

用刚才创建的mysql数据库

dataSourceName = 数据库名:密码@tcp(localhost:3306)/dbName = 用户名

构建完成后

cd web npm install npm run build

如果提示run `npm audit fix` to fix them, or `npm audit` for details

那就直接

npm audit fix

至此后端casdoor已经构建完成

可以运行后端看看了

cd …/main

轻量和宝塔防火墙开启8000端口

访问http://ip:8000既可看到后端

默认账号admin,密码123

当然要先为Casnode进行配置

点击组织—添加

修改名称为你想要的组织名,然后点击保存

点击应用,然后点击添加,对刚添加的应用点击修改,修改name为你想要的应用名

保存clientId和clientSecret,后面要用

修改组织,选择刚刚添加的组织;

点 击回调URLs,将框中链接修改为http://ip:7000/callback

点击 Save

点击用户,添加,然后修改添加的用户,点击组织,选择刚刚添加的组织

经过了一顿瞎几把操作之后,可以构建另一个端了

casnode

还是一样先把main构建出来

cd casnode go build main.go

与此同时编辑

/root/casnode/conf里的app.conf

dataSourceName = 数据库名:密码@tcp(localhost:3306)/dbName = 用户名之前记住的clientId和clientSecretclientId =clientSecret =

然后

web/src/下有个 Conf.js

需要修改将serverUrl修改为http://ip:7000(Casdoor 前端访问地址),将clientId修改为刚刚记录的应用的 clientId,将appname修改为设置的应用名,将organization修改为设置的组织名

(本来我已经构建好了,结果发现作者把这部分改了)

然后

cd webnpm installnpm run build

低配机构建需要很久,建议先恰个饭再来看

完事后

cd …/main

轻量和宝塔放行7000端口

http://your-ip:7000

自此已经搭建完成。

守护进程

在宝塔安装PM2管理器

casdoor一定要使用root用户运行。

至于要上域名,需要用nginx反向代理。

官方也没有过多解释,这方面得你们自己设置了

如果网站 访问量大可以配置oss

可以配置多个登陆方式比如github,QQ,微信,Google

也支持Mail and SMS services

登陆的界面设置的是casdoor的,他的css可以自己改,会写css可以改成仿v2ex的

当然建议使用>2h4g的轻量,不然负载有点高

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇