0

我想在我的超级空间帐户上安装带有 mongodb 的pencilblue nodejs cms。我必须采取哪些步骤?

4

1 回答 1

2

由于我发现很难弄清楚如何去做,这就是我最终成功的方式。其中大部分与除了pencilblue 之外的nodeJS 安装相关。

首先,您需要在 uberspace.de 上创建一个帐户。

打开您的终端并使用 ssh 登录到您的 uberspace 控制台:

ssh {account}@{server}.uberspace.de

输入您在创建帐户时创建的密码。

创建服务目录:

uberspace-setup-svscan

创建 mongo 数据库:

uberspace-setup-mongodb

为数据库数据创建文件夹:

mkdir data
cd data
mkdir db

启动数据库:

mongod --dbpath data/db/

您将获得一些登录数据。我建议你在某处写下来:

Hostname: localhost
Portnum#: {dbPort}
Username: {account}_mongoadmin
Password: {dbPassword}

要通过 shell 连接到数据库,您可以使用:

mongo admin --port {dbPort} -u {account}_mongoadmin -p)

配置 npm:

cat > ~/.npmrc <<__EOF__
prefix = $HOME
umask = 077
__EOF__

安装pencilblue-cli:

npm install pencilblue-cli

更改为 html 文件夹并创建一个 .htaccess 文件(您也可以使用您的 ftp 客户端执行此操作):

RewriteEngine On
RewriteRule ^(.*) http://localhost:8080/$1 [P]

现在如果你想使用 github:在 github 上创建一个新的存储库。

打开一个新的终端窗口并在您机器上的本地文件夹中克隆pencilblue cms:

git clone git@github.com:pencilblue/pencilblue.git pencilblue
cd pencilblue
git remote set-url origin git@github.com:{yourGitName}/{yourRepoName}.git
git add .
git commit -m "Initial commit."

在 uberspace 上设置 ssh:返回您的 uberspace 控制台。

ssh-keygen -t rsa -b 4096 -C "{yourEmailAddress}"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

复制打印出来的整个密钥并将其粘贴到 github 中的 settings/SSH 密钥下。

在 uberspace 控制台中克隆新的 repo:

git clone git@github.com:{yourGitName}/{yourRepoName}.git cms
cd cms

使用 vim config.js 创建一个 config.js 或使用 ftp 上传:

module.exports = {
    "siteName": "{yourSiteName}",
    "siteRoot": "http://{account}.{server}.uberspace.de/",
    "sitePort": {
        8080
    },
    "logging": {
        "level": "info"
    },
    "db": {
        "type": "mongo",
        "servers": [
            "mongodb://{account}_mongoadmin:{dbPassword}@127.0.0.1:{dbPort}/"
        ],
        "name": "admin",
        "writeConcern": 1
    },
    "cache": {
        "fake": false,
        "host": "localhost",
        "port": 6379
    },
    "settings": {
        "use_memory": false,
        "use_cache": false
    },
    "templates": {
        "use_memory": true,
        "use_cache": false
    },
    "plugins": {
        "caching": {
            "use_memory": false,
            "use_cache": false
        }
    },
    "registry": {
        "type": "mongo"
    },
    "session": {
        "storage": "mongo"
    },
    "media": {
        "provider": "mongo",
        "max_upload_size": 6291456
    },
    "cluster": {
        "workers": 1,
        "self_managed": true
    },
    "siteIP": "0.0.0.0"
};

安装 node_modules:

npm install

创建一个启动服务器的服务:

uberspace-setup-service pbservice node ~/cms/pencilblue.js

启动服务:

svc -u ~/service/pbservice

现在您可以访问 http://{account}.{server}.uberspace.de 上的页面

(要启动服务(提示:u = up):

svc -u ~/service/pbservice

停止服务(提示:d = down):

svc -d ~/service/pbservice

重新加载服务(提示:h = HUP):

svc -h ~/service/pbservice

重启服务(提示:du = down, up):

svc -du ~/service/pbservice

要删除服务:

cd ~/service/pbservice
rm ~/service/pbservice
svc -dx . log
rm -rf ~/etc/run-pbservice)
于 2016-01-17T14:32:12.847 回答