0x00 前言
NodeBB 是基于 NodeJS 的开源 BBS 系统,可以搭配 redis 或 mongodb 数据库,本文中由于使用 NodeBB 配置中默认的 npm 安装会引起不知原因的 503:Too many open connections 错误,所以使用yarn手动安装
0x01 切换国内源并添加 mongodb 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
备份 CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo
下载阿里云源到 yum 源配置目录并重命名为CentOS-Base.repo
yum -y install epel-release vim
安装 epel 源及 vim
vim /etc/yum.repos.d/mongodb-org-3.4.repo
创建 mongodb 源并编辑,添加如下内容
[mongodb-org-3.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
yum clean all
清空 yum 缓存
yum makecache
创建 yum 缓存,可以加快软件包索引速度,一般在安装软件包的时候会自动创建
yum update
更新软件包
0x02 ***
yum install python-pip
安装 pip
pip install shadowsocks
通过 pip 安装 ShadowSocks
vim /etc/shadowsocks.json
创建 shadowsocks 配置文件并编辑,目录和文件名随意,添加如下内容
{ "server" : "IP地址", "server_port" : "端口", "local_address" : "127.0.0.1", "local_port" : "1080", "password" : "密码", "method" : "加密方法"}
nohup sslocal -c /etc/shadowsocks.json >/dev/null 2>&1 &
后台运行 sslocal (ShadowSocks 的客户端),-c 后面填写配置文件位置,将该命令写入 /etc/rc.d/rc.local (旧版本或其他系统有可能在 /etc/rc.local,但要检查 /etc 下的是不是链接),并使用 chmod +x /etc/rc.local 即可使其开机自启
yum -y install privoxy
安装 privoxy
vim /etc/privoxy/config
编辑 privoxy 配置文件,在文件最底部添加如下代码,包括最后的"."
forward-socks5 / 127.0.0.1:1080 .
vim /root/.bash_profile
配置代理地址及端口,在文件最底部添加如下代码
export ftp_proxy=http://127.0.0.1:8118export http_proxy=http://127.0.0.1:8118export https_proxy=http://127.0.0.1:8118
source /root/.bash_profile
使配置生效
systemctl start privoxy
启动 privoxy
systemctl enable privoxy
允许 privoxy 开机自启
curl google.com
测试配置是否成功,如果成功则会输出类似如下代码
302 Moved 302 Moved
The document has moved here.
0x03 安装 mongodb 并配置用户
yum install mongodb-org
安装 mongodb
systemctl stop firewalld
停止 firewall 防火墙
systemctl disable firewalld
禁止 firewall 防火墙自启
systemctl start mongod
开启 mongodb
systemctl enable mongod
允许 mongodb 自启
mongo admin --eval "db.createUser({user:'root',pwd:'123456',roles:[{role:'root',db:'admin'}]});"
使用 admin 数据库并新建用户,用户名:root,密码:123456,权限:超级管理员
mongo nodebb --eval "db.createUser({user:'nodebb',pwd:'123456',roles:[{role:'readWrite',db:'nodebb'},{ role: 'clusterMonitor', db: 'admin' }]});"
使用 nodebb 数据库(如果不存在则新建数据库)并新建用户,用户名:nodebb,密码:123456,权限1:nodebb 数据库中可读写,权限2:admin 数据库中集群管理员
0x04 安装 Node 环境并配置 NodeBB
yum -y groupinstall "Development Tools"
安装开发工具包
yum -y install git ImageMagick
安装 git ImageMagick
curl | bash
下载 nvm 源码并安装
source /root/.bash_profile
使 nvm 配置生效
export NVM_NODEJS_ORG_MIRROR=
export NVM_IOJS_ORG_MIRROR=
修改 nvm 镜像为淘宝镜像
nvm install --lts
安装最新的 LTS 版 NodeJS
yum -y install yarn
安装 yarn
mkdir -p /var/www/html
创建网站根目录
git clone -b v1.10.x /var/www/html
下载 NodeBB 源码到网站根目录
cd /var/www/html/ | yarn install
NodeBB 目录执行 yarn install
/var/www/html/nodebb setup
执行 NodeBB 初始化设置
设置中域名要填访问域名,例如要在域名为 的80端口上访问 NodeBB,则域名填 ,后面不要加"/",否则在访问某些功能时会出现类似 的情况
所有填写的配置会保存在 NodeBB 目录下的 config.json 中,随时可以修改