Как установить nodejs cms, как карандашный синий на uberspace

Я хотел бы, чтобы у меня на учетной записи uberspace была установлена ​​cms карандаша nodejs c mongodb. Какие шаги я должен предпринять?

1 ответ

Решение

Поскольку мне было трудно понять, как это сделать, вот как я наконец добился успеха. Большая часть этого относится и к инсталляции nodeJS, кроме карандаша.

Сначала вам нужно создать аккаунт на uberspace.de.

Откройте свой терминал и войдите в вашу консоль uberspace с помощью ssh:

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

Введите пароль, который вы создали при создании учетной записи.

Создайте каталог услуг:

uberspace-setup-svscan

Создайте базу данных Монго:

uberspace-setup-mongodb

Создать папку для данных базы данных:

mkdir data
cd data
mkdir db

Начать дБ:

mongod --dbpath data/db/

Вы получите некоторые данные для входа. Я предлагаю вам записать это где-нибудь:

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

Для подключения к БД через оболочку вы можете использовать:

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

Настройте npm:

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

Установите Карандаш-синий:

npm install pencilblue-cli

Перейдите в html-папку и создайте файл.htaccess (вы можете сделать это и с вашим ftp-клиентом):

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

Теперь, если вы хотите использовать github: создайте новый репозиторий на github.

Откройте новое окно терминала и клонируйте карандашные синие 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."

Настройка ssh в Uberspace: вернитесь в консоль 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 keys.

Клонировать новый репозиторий в консоли Uberspace:

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

Создайте config.js либо с помощью vim 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 = вверх):

svc -u ~/service/pbservice

Чтобы остановить службу (подсказка: d = вниз):

svc -d ~/service/pbservice

Чтобы перезагрузить сервис (подсказка: h = HUP):

svc -h ~/service/pbservice

Чтобы перезапустить службу (подсказка: du = вниз, вверх):

svc -du ~/service/pbservice

Чтобы удалить сервис:

cd ~/service/pbservice
rm ~/service/pbservice
svc -dx . log
rm -rf ~/etc/run-pbservice)
Другие вопросы по тегам