最近國內(nèi)經(jīng)常訪問不了v2ex函筋,無論是電信聯(lián)通移動(dòng)都打不開沙合,借此機(jī)會(huì)搭個(gè)v2ex論壇豈不美哉
當(dāng)然我用的這個(gè)程序并不是v2ex官方用的那個(gè),高仿跌帐,他的功能方面和v2ex原版差不多
有前后端
前端casnode
https://github.com/casbin/casnode
后端casdoor
https://github.com/casbin/casdoor
需要先部署后端再部署前端首懈,后端casdoor支持多個(gè)站點(diǎn)同時(shí)使用
先上圖
輕量
選擇寶塔鏡像可以方便后面守護(hù)進(jìn)程之類的問題绊率,還能省去安裝寶塔的時(shí)間,還可以在寶塔上修改配置文件
順帶重置一下密碼究履,可以用寶塔的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
國內(nèi)機(jī)
casdoor
git clone?https://hub.fastgit.org/casbin/casdoorcasnode
git?clone?https://hub.fastgit.org/casbin/casnode
環(huán)境
他需要golang和nodejs,因?yàn)閥um的源直接下的太老挎袜,會(huì)出現(xiàn)問題顽聂,所以我建議手動(dòng)裝
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
添加環(huán)境變量
都有寶塔了要什么自行車
在寶塔打開 /etc/profile,底部加兩行
export PATH=$PATH:/usr/local/go/bin
在ssh輸入 source /etc/profile
現(xiàn)在盯仪,輸入go version紊搪,你將看到go版本
則安裝成功.如果 你無法連接github,可以設(shè)置鏡像全景,命令為
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 . //后面的.表示移動(dòng)到當(dāng)前目錄
mv node-v15.1.0-linux-x64/ nodejs
再次編輯/etc/profile耀石,加入
export PATH=$PATH:/usr/local/nodejs/bin
source /etc/profile
測(cè)試是否安裝成功
node -vnpm -v
順便創(chuàng)建兩個(gè)數(shù)據(jù)庫
構(gòu)建casdoor
先用go吧main文件構(gòu)建出來
cd casdoor go build main.go
與此同時(shí)編輯
/root/casdoor/conf里的app.conf
用剛才創(chuàng)建的mysql數(shù)據(jù)庫
dataSourceName = 數(shù)據(jù)庫名:密碼@tcp(localhost:3306)/dbName = 用戶名
構(gòu)建完成后
cd web npm install npm run build
如果提示run `npm audit fix` to fix them, or `npm audit` for details
那就直接
npm audit fix
至此后端casdoor已經(jīng)構(gòu)建完成
可以運(yùn)行后端看看了
cd .../main
輕量和寶塔防火墻開啟8000端口
訪問http://ip:8000既可看到后端
默認(rèn)賬號(hào)admin,密碼123
當(dāng)然要先為Casnode進(jìn)行配置
點(diǎn)擊組織—添加
修改名稱為你想要的組織名爸黄,然后點(diǎn)擊保存
點(diǎn)擊應(yīng)用滞伟,然后點(diǎn)擊添加,對(duì)剛添加的應(yīng)用點(diǎn)擊修改炕贵,修改name為你想要的應(yīng)用名
保存clientId和clientSecret梆奈,后面要用
修改組織,選擇剛剛添加的組織称开;
點(diǎn) 擊回調(diào)URLs亩钟,將框中鏈接修改為http://ip:7000/callback
點(diǎn)擊 Save
點(diǎn)擊用戶,添加鳖轰,然后修改添加的用戶清酥,點(diǎn)擊組織,選擇剛剛添加的組織
經(jīng)過了一頓瞎幾把操作之后蕴侣,可以構(gòu)建另一個(gè)端了
casnode
還是一樣先把main構(gòu)建出來
cd casnode go build main.go
與此同時(shí)編輯
/root/casnode/conf里的app.conf
dataSourceName = 數(shù)據(jù)庫名:密碼@tcp(localhost:3306)/dbName = 用戶名之前記住的clientId和clientSecretclientId =clientSecret =
然后
web/src/下有個(gè) Conf.js
需要修改將serverUrl修改為http://ip:7000(Casdoor 前端訪問地址)焰轻,將clientId修改為剛剛記錄的應(yīng)用的 clientId,將appname修改為設(shè)置的應(yīng)用名昆雀,將organization修改為設(shè)置的組織名
(本來我已經(jīng)構(gòu)建好了辱志,結(jié)果發(fā)現(xiàn)作者把這部分改了)
然后
cd webnpm installnpm run build
低配機(jī)構(gòu)建需要很久,建議先恰個(gè)飯?jiān)賮砜?/p>
完事后
cd .../main
輕量和寶塔放行7000端口
http://your-ip:7000
自此已經(jīng)搭建完成狞膘。
守護(hù)進(jìn)程
在寶塔安裝PM2管理器
casdoor一定要使用root用戶運(yùn)行揩懒。
至于要上域名,需要用nginx反向代理客冈。
官方也沒有過多解釋,這方面得你們自己設(shè)置了
如果網(wǎng)站 訪問量大可以配置oss
可以配置多個(gè)登陸方式比如github稳强,QQ场仲,微信和悦,Google
也支持Mail and SMS services
登陸的界面設(shè)置的是casdoor的,他的css可以自己改渠缕,會(huì)寫css可以改成仿v2ex的
當(dāng)然建議使用>2h4g的輕量鸽素,不然負(fù)載有點(diǎn)高