ego008
ego008
7347 32 0

新VPS独立部署youBBS 方法

这种方法适合在vps 上只运行youBBS,没有其它的网站或占用80、443端口的服务。
因为youBBS 对环境依赖很小,支持windows、linux 服务器,但建议选择64位的linux 服务器,如CentOS、ubuntu或debian。下面是以 CentOS 7 x86_64 系统为例。

首先把你的域名(yourdomain.com)解析到你的VPS。

建立网站目录,我习惯把网站放在这个目录 /srv/www

mkdir -p /srv/www/youbbs
cd /srv/www/youbbs

下载最新的代码包并解压:

wget https://github.com/ego008/goyoubbs/releases/download/master/goyoubbs-linux-amd64.zip
wget https://github.com/ego008/goyoubbs/releases/download/master/site.zip
unzip goyoubbs-linux-amd64.zip
unzip site.zip

这时用命令:ls -l 查看当前文件夹文件列表:

# ls -l
总用量 21752
drwxr-xr-x 2 root root     4096 12月  7 03:13 config
drwxr-xr-x 2 root root     4096 12月  7 03:13 databackup
-rwxr-xr-x 1 root root 15412585 12月  7 03:06 goyoubbs
-rw-r--r-- 1 root root  6646240 12月  7 03:51 goyoubbs-linux-amd64.zip
-rw-r--r-- 1 root root     1057 11月  7 08:25 LICENSE
drwxrwxr-x 3 root root     4096 12月  7 03:24 __MACOSX
-rw-r--r-- 1 root root     1925 12月  7 03:12 README.md
-rw-r--r-- 1 root root   177935 12月  7 03:52 site.zip
drwxr-xr-x 9 root root     4096 12月  7 03:13 static
drwxr-xr-x 3 root root     4096 12月  7 03:13 view

修改配置文件

vi config/config.yaml

把 HttpPort: 8082 改为 HttpPort: 80,保存

运行主程序:

./goyoubbs

如果看到下面提示则正常:

2017/12/07 05:30:33 MainDomain: http://127.0.0.1:8082
2017/12/07 05:30:33 youdb Connect to mydata.db
2017/12/07 05:30:33 Web server Listen port 80

此时在浏览器打开你的网址就能看到网站首页

接下来试试HTTPS

在命令界面按CTRL+C 终止网站进程,修改配置文件 vi config/config.yaml,
你只要修改两个地方:把HttpsOn: true, Domain: "yourdomain.com"示例如下

Main:
HttpPort: 80
HttpsOn: true
Domain: "yourdomain.com"
HttpsPort: 443
PubDir: "static"
ViewDir: "view/default"

保存退出,运行主程序 ./goyoubbs ,如果出现下面的提示则正常:

# ./goyoubbs
2017/12/07 05:39:48 MainDomain: http://127.0.0.1:8082
2017/12/07 05:39:48 youdb Connect to mydata.db
2017/12/07 05:39:48 Register sll for domain: yourdomain.com
2017/12/07 05:39:48 Web server Listen port 443
2017/12/07 05:39:48 Web server URL https://yourdomain.com

在浏览器输入网址便可以看到网站首页

https://yourdomain.com

第一次请求可能慢一点

回到命令行界面,按CTRL+C 终止网站进程,ls -l 看一下,此时目录下会多一个文件夹certs,这是存放证书文件的夹子。

drwx------ 2 root root     4096 12月  7 05:39 certs

下面要做的是开机自启,较简单的方法是在/etc/rc.local 最后面添加两行

vi /etc/rc.local
cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &

保存退出,再运行下面一行(让/etc/rc.d/rc.local 文件可实行)

chmod +x /etc/rc.d/rc.local

重启看看网站能不能自启


你可能遇到的其它相关问题:
编辑器 vi 基本使用
unzip 安装
80、443 端口占用或未开启

0

See Also

Nearby


Discussion (32)

唯一
唯一 2017-12-07 11:13

这个好,简单明了,大赞

0
唯一
唯一 2017-12-07 11:15

另外这个备份回复数据库怎么弄啊?

0
ego008
ego008 2017-12-07 11:19

@唯一 网站根目录有一个文件夹databackup,里面是每天备份的数据,网站程序停止后覆盖网站数据就可以,网站数据默认放在根目录下,文件名:mydata.db

可以在配置文件里自行修改路径

Youdb: "mydata.db"
0
root
root 2017-12-07 12:15

@ego008 直接用root账户跑?

0
唯一
唯一 2017-12-07 12:43

我估计卡80 端口占用这里了,其他都和你一样,但是打开主页不行

80 端口占用,这个怎么处理啊?

0
唯一
唯一 2017-12-07 12:44

我微信忘记密码了,打不开,这里又不好私信你vps root密码

0
唯一
唯一 2017-12-07 13:08

@ego008
帮我看看怎么打不开网站的,照你方法做了,估计是80端口的问题

198.13.42.30
root
-L5m}4e]Fj4TqQHG

0
ego008
ego008 2017-12-07 14:05

@唯一 防火墙问题,运行下面一条命令

iptables -I INPUT 1 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
0
唯一
唯一 2017-12-07 14:09

@ego008 赞,

0
唯一
唯一 2017-12-07 14:24

发现添加分类时,手机端,分类介绍输入框宽度不自适应,帮着测试,希望youbbs越来越好

0
唯一
唯一 2017-12-07 22:57

@ego008 其他都搞定了,按照你的方法在最后加两行,但是不能自启动

0
唯一
唯一 2017-12-08 02:04

@ego008 不能自启动什么原因了,我
vi /etc/rc.local

cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &
也不行,另外我xshell打开着,网站就能访问,关闭,网站就不能访问

root Z.j4ScZA(TwZ_B(g

0
唯一
唯一 2017-12-08 02:12

我遇到的问题估计小白都会遇到,写个留着让后人看
在安装YOUBBS最开始先
unzip 安装
yum install -y unzip zip

80端口的问题,上面站长解决了
iptables -I INPUT 1 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

然后编辑器 vi 基本使用
按字母i就可以编辑,编辑完成后按ESC键,再:wq保存退出

0
Error
Error 2017-12-08 02:15

@root 121

0
ego008
ego008 2017-12-08 03:15

@唯一 不能自启,原因那个sh 脚本没有运行

在命令行里敲入下面一句,回车即可

chmod +x /etc/rc.d/rc.local
0
唯一
唯一 2017-12-08 03:52

完美解决,不会安装的,看这篇帖子基本能解决所有问题了

0
唯一
唯一 2017-12-08 10:22

@ego008 云了,重装系统在再装youbbs几次了,前面https都正确的也打开网站

到自启动chmod +x /etc/rc.d/rc.local这步完成后

我reboot重启vps看效果,就打不开网站,我试着./goyoubbs

但是显示
2017/12/08 10:17:34 MainDomain: https://fulisss.cc
2017/12/08 10:17:35 Connect Error: timeout

root 3mS#F=DE1aGq{,fY

0
ego008
ego008 2017-12-08 10:46

@唯一

vi /etc/rc.d/rc.local 添加两行,允许80、443端口可访问,如下

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

cd /srv/www/youbbs
/srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml &
0
唯一
唯一 2017-12-08 11:08

@ego008 原来允许80、443端口的这两条在这里加

我[root@ffyybb youbbs]# 在这里粘贴的,汗

0
ego008
ego008 2017-12-08 11:13

@唯一 这两条命令是临时添加,重启后失效,所以要在重启时再次添加

0
唯一
唯一 2017-12-08 11:14

@ego008 reboot重启vps后还是打不开网页,

0
青歌
青歌 2018-01-01 18:53

域名绑定conf文件默认是80 需要改成8020不?

0
ego008
ego008 2018-01-02 00:25

@青歌 不能和已用端口相同

0
sohoelf
sohoelf 2018-03-26 11:12

@ego008 辛苦了,真的很感激你写了这么多代码,但是有些遗憾的是你把字符串之类的都直接写在网页里了,我觉得这样并不好。

此外,配置文件的编码建议改成utf-8,不然的话,加一个中文的逗号,比如网站名,就会出错(别的文件都是utf-8了)

还有一个问题想请教您,我把HTTPS设成了xxx.org,但是我还有域名 www.xxx.org www.bbs.xxx.org等,怎样把多个域名设成HTTPS?

等待您的反信

0
ego008
ego008 2018-03-26 12:54

@sohoelf 解析 yaml 用的是 https://github.com/go-yaml/yaml/tree/v2.2.0 ,对中文解析确实有bug,如果是string 为避免出错,需用英文引号来框住,下面是官网的配置文件部分内容。

支持多域名自动配置https,只需在配置文件里添加多域名,如:

Main:
...
Domain: "sub1.example.com,sub2.example.com"
0
sohoelf
sohoelf 2018-03-26 16:24

@ego008 受教了!感谢
再次打扰您一下,非常抱歉

HTTPS配置好了以后,重启以后就无法正常访问了,不是端口443的问题。
怎样能恢复到以前的状态?这段时间有很多电脑都访问过这个网站,所以我就算改回http,他们默认是https,仍然访问不了,而且谷歌浏览器就算故意加上前缀【http】,默认还是https。我一开始以为是dns的问题,到后来发现换了个浏览器就能上了,而之前用https访问过的浏览器都不能

0
sohoelf
sohoelf 2018-03-26 19:25

@ego008 还有一个问题,我启动文件里写了
iptables -I INPUT 1 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
cd /srv/www/youbbs
./goyoubbs
服务确实正常运行了,但是会卡在进度条界面,不知道为什么>_<

0
sohoelf
sohoelf 2018-03-26 19:30

@ego008 上面的问题解决了,我忘记加&后台运行了>_<好丢人,打扰您了。我现在就只剩下26楼的问题了。

比如小A同学,在我HTTPS服务正常的时候登录了网站,做了一些事情。到了第二天,我HTTPS坏掉了,只能用http。但是他的浏览器还会默认用https去访问导致无法访问

0
ego008
ego008 2018-03-26 23:11

@sohoelf

0
sohoelf
sohoelf 2018-03-27 08:54

@ego008
了解了,谢谢您,辛苦了!!

0
sohoelf
sohoelf 2018-03-27 08:56

@ego008
请问,怎样执行重新编译?

0
justworker
justworker 2018-03-27 09:47

abcdefg test

0
Login Topics