Как установить 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)