PttWeb:修订间差异
跳到导航
跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
(→設定) |
(→相依性套件) |
||
(未显示同一用户的10个中间版本) | |||
第10行: | 第10行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo apt install -y build-essential golang golang-goprotobuf-dev; sudo apt clean | sudo apt install -y build-essential golang golang-goprotobuf-dev libgflags-dev libgrpc++-dev libgrpc-dev protobuf-compiler-grpc; sudo apt clean | ||
</syntaxhighlight> | </syntaxhighlight> | ||
第30行: | 第30行: | ||
{ | { | ||
"Bind": ["tcp:127.0.0.1:8000"], | "Bind": ["tcp:127.0.0.1:8000"], | ||
"BoarddAddress": "127.0.0.1", | "BoarddAddress": "127.0.0.1:3000", | ||
"MemcachedAddress": "127.0.0.1", | "MemcachedAddress": "127.0.0.1:11211", | ||
"TemplateDirectory": "/home/bbs/templates" | "TemplateDirectory": "/home/bbs/templates" | ||
} | } | ||
第54行: | 第54行: | ||
其中<code>layout.html</code>內需要有<code>ROOT</code>: | 其中<code>layout.html</code>內需要有<code>ROOT</code>: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="smarty"> | ||
{{define "ROOT"}} | {{- define "ROOT" -}} | ||
{{- end -}} | |||
{{end}} | </syntaxhighlight> | ||
而<code>bbsarticle.html</code>內: | |||
<syntaxhighlight lang="smarty"> | |||
{{- define "ROOT" -}} | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta charset="utf-8"/> | |||
</head> | |||
<body> | |||
<pre> | |||
{{ .Content }} | |||
</pre> | |||
</body> | |||
</html> | |||
{{- end -}} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
第66行: | 第83行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
~/go/bin/pttweb -conf ~/pttweb/config.json | ~/go/bin/pttweb -conf ~/pttweb/config.json | ||
</syntaxhighlight> | |||
== 開機設定 == | |||
<syntaxhighlight lang="bash"> | |||
@reboot ~/pttbbs/daemon/boardd/boardd -l 127.0.0.1:3000 > /tmp/boardd.log 2>&1 | |||
@reboot ~/go/bin/pttweb -conf ~/pttweb/config.json > /tmp/pttweb.log 2>&1 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
2023年9月4日 (一) 17:39的最新版本
PttWeb是PttBBS的网页界面。
概要
PttWeb是一个Golang写的界面,透过gRPC跟PttBBS的服务器沟通。
相依性套件
先安装需要的套件:
sudo apt install -y build-essential golang golang-goprotobuf-dev libgflags-dev libgrpc++-dev libgrpc-dev protobuf-compiler-grpc; sudo apt clean
编译
这边是参考.travis-ci.yml
的方式编译[1]:
export GOPATH="$HOME/go"; go get -u github.com/ptt/pttweb; go get google.golang.org/grpc; go get -u github.com/golang/protobuf/{proto,protoc-gen-go}; make -C $GOPATH/src/github.com/ptt/pttweb/proto; go get -u -t -f github.com/ptt/pttweb/...
编译完成后会在~/go/bin
里面看到执行档。
设定
PttWeb需要一个config.json
,设定可以参考config.go
,最少需要指定这四个参数:
{
"Bind": ["tcp:127.0.0.1:8000"],
"BoarddAddress": "127.0.0.1:3000",
"MemcachedAddress": "127.0.0.1:11211",
"TemplateDirectory": "/home/bbs/templates"
}
其中/home/bbs/templates/
内需要有这些档案:
askover18.html
bbsarticle.html
bbsindex.html
captcha.html
classlist.html
common.html
error.html
layout.html
manarticle.html
manindex.html
notfound.html
其中layout.html
内需要有ROOT
:
{{- define "ROOT" -}}
{{- end -}}
而bbsarticle.html
内:
{{- define "ROOT" -}}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<pre>
{{ .Content }}
</pre>
</body>
</html>
{{- end -}}
执行
用以下指令执行:
~/go/bin/pttweb -conf ~/pttweb/config.json
开机设定
@reboot ~/pttbbs/daemon/boardd/boardd -l 127.0.0.1:3000 > /tmp/boardd.log 2>&1
@reboot ~/go/bin/pttweb -conf ~/pttweb/config.json > /tmp/pttweb.log 2>&1
相关连结
参考资料
- ↑ pttweb/.travis.yml at master · ptt/pttweb. [2020-04-09].