CentOS + Mongodb安装NodeBB


  • administrators

    环境

    关闭 SELinux

    vim /etc/sysconfig/selinux
    

    找到 SELINUX 然后修改成 disabled .

    SELINUX = disabled
    

    安装APPNODE
    INSTALL_AGENT=1 INSTALL_APPS=sitemgr INIT_SWAPFILE=1 INSTALL_PKGS='nginx-stable,php56(zend-guard-loader),pureftpd,mysql56' bash -c "$(curl -sS http://dl.appnode.com/install.sh)"
    

    AppNode是 Linux 下的一款集群部署的可视化控制面板,一键安装,具体功能的体验。
    提供:
    可视化管理,提升运维效率
    快速安装,轻松升级
    轻便高效,节约系统资源
    将支持主流的 Linux 发行版本 (目前仅支持 CentOS)
    集中式设计,快速切换管理
    软件丰富,按需安装
    遵循通用规范,系统更原汁原味
    开放的 API 结构,便于扩展和整合
    AppNode 提供系统信息、软件管家、文件管理、服务管理、进程管理、防火墙管理、 用户管理等基本的
    Linux运维功能,通过可视化操作界面降低了 Linux 使用的门槛。

    进入APPNODE,在软件管家安装node.js

    同样安装PM2进程管理


    安装Redis

    Redis 是一个优秀的内存缓存应用,也是 NodeBB 的一个数据库选择。

    1. 搜索 “Redis”

    2. 一键安装
      然后启动,并勾选自启,守护。


    安装MongoDB

    NodeBB 推荐使用 MongoDB ,但APPNODE里面搜不到,所以需要通过终端来安装。

    vim /etc/yum.repos.d/mongodb-org-3.4.repo
    --------------------------------------------------------------
    [mongodb-org-3.4]  
    name=MongoDB Repository  
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/  
    gpgcheck=1  
    enabled=1  
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
    

    安装

    yum -y install mongodb-org
    

    使用以下指令以启动 MongoDB 并设置开机自启。

    systemctl enable mongod
    systemctl start mongod
    

    配置MongoDB

    [root@li1877-76 ~]# mongo
    MongoDB shell version v3.4.13
    ....
    > use nodebb;
    switched to db nodebb
    > db.createUser( { user: "nodebb", pwd: "********", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
    Successfully added user: {
            "user" : "nodebb",
            "roles" : [
                    {
                            "role" : "readWrite",
                            "db" : "nodebb"
                    },
                    {
                            "role" : "clusterMonitor",
                            "db" : "admin"
                    }
            ]
    }
    > use admin
    switched to db admin
    > db.createUser( { user: "admin", pwd: "********", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
    Successfully added user: {
            "user" : "admin",
            "roles" : [
                    {
                            "role" : "readWriteAnyDatabase",
                            "db" : "admin"
                    },
                    {
                            "role" : "userAdminAnyDatabase",
                            "db" : "admin"
                    }
            ]
    }
    > quit()
    [root@li1877-76 ~]# vi /etc/mongod.conf
    ------------------------
    security: 
      authorization: enabled
    ------------------------
    [root@li1877-76 ~]# service mongod restart
    Redirecting to /bin/systemctl restart mongod.service
    [root@li1877-76 ~]# mongo -u admin -p ******** --authenticationDatabase=admin
    MongoDB shell version v3.4.13
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.13
    > quit()
    

    打开 MongoDB 权限认证
    执行 vi /etc/mongod.conf ,找到 security: 这一行,取消注释并改为:

    security: 
      authorization: enabled
    

    获取nodebb

    首先重启一下服务器

    git clone -b v1.7.x https://github.com/NodeBB/NodeBB.git nodebb
    cd nodebb
    ./nodebb setup
    

    注意事项:

    1. URL used to access this NodeBB 这个问题填写域名http://www.xxx.com(别漏下 http前缀,域名末尾不加 / )
    2. 另外,NodeBB会默认监听本地端口 4567 ,我们后面还要使用 nginx 转发 80 端口的请求到4567 端口。
    3. 中间还有两次需要回答问题 Which database to use ,
      第一次是回答数据库程序名 mongo ,第二次回答所创建的数据库名 nodebb
    4. 这些回答都将被写入 NodeBB 的配置文件config.json,如果答错了可以随后手动修改

    nginx配置

    打开APPNODE


    PM2配置

    创建用PM2守护进程,并重启,nodebb已经成功上线!


Log in to reply
 

Looks like your connection to MainFrame was lost, please wait while we try to reconnect.