如何在 uberspace 上安装 pencilblue 之类的 nodejs cms

How to install a nodejs cms like pencilblue on uberspace

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

因为我发现很难弄清楚如何去做,这就是我最终成功的方法。其中大部分与 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-folder 并创建一个 .htaccess 文件(您也可以使用 ftp-client 执行此操作):

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

现在如果你想使用github: 在 github.

上创建一个新的存储库

打开一个新终端 window 并在您机器上的本地文件夹中克隆 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: 返回您的超级空间控制台。

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

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

在 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 = 关闭):

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)