martes, julio 26, 2016

Install and config Redis on Mac OSX via Homebrew

Install and config Redis on Mac OS X via Homebrew


By using Homebrew, you greatly reduce the cost of setting up and configuring the development environment on Mac OS X.
 Install Redis for the good.
$ brew install redis
After installation, you will see some notification about some caveats on configuring. Just leave it and continue to following some tasks on this article.

Launch Redis on computer starts.

$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

Start Redis server via “launchctl”.

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

Start Redis server using configuration file.

$ redis-server /usr/local/etc/redis.conf

Stop Redis on autostart on computer start.

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

Location of Redis configuration file.

/usr/local/etc/redis.conf

Uninstall Redis and its files.

$ brew uninstall redis
$ rm ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

Get Redis package information.

$ brew info redis

Test if Redis server is running.

$ redis-cli ping
If it replies “PONG”, then it’s good to go!

Fuente:
http://redis.io
https://es.wikipedia.org/wiki/Redis


jueves, julio 21, 2016

NodeBB Installation OSX El Capitan

NodeBB Installation OSX El Capitan 10.11.5


Video Tutorial: 



Required Software:

Steps to Install NodeBB

Install NodeJs Software and test in terminal:
node -v

Install redis with homebrew:
brew install redis
Start redis server, in your terminal enter:
redis-server
Test redis server, is running, if it replies "Pong" its Ok 
redis-cli ping
Clone NodeBB repo:
git clone -b v1.x.x https://github.com/NodeBB/NodeBB.git
To track the latest weekly build of NodeBB, substitute weekly in place of v1.x.x.
Enter directory:
cd NodeBB
Install dependencies:
npm install
Run interactive installation:
./nodebb setup
And you’re done! After the installation, run
./nodebb start
You can visit your forum at http://localhost:4567/

Starting NodeBB
  "./nodebb stop" to stop the NodeBB Server
  "./nodebb log" to view server output
  "./nodebb restart" to restart NodeBB

Resume on Terminal

nodebb@1.1.0 /Users/diegopino/NodeBB/NodeBB
├── async@1.5.2 
├─┬ autoprefixer@6.3.7 
│ ├── browserslist@1.3.5 
│ ├── caniuse-db@1.0.30000506 
│ ├── normalize-range@0.1.2 
│ ├── num2fraction@1.2.2 
│ └── postcss-value-parser@3.3.0 
├── bcryptjs@2.3.0 
├─┬ body-parser@1.15.2 
│ ├── bytes@2.4.0 
│ ├── content-type@1.0.2 
│ ├── debug@2.2.0 
│ ├── depd@1.1.0 
│ ├─┬ http-errors@1.5.0 
│ │ ├── inherits@2.0.1 
│ │ ├── setprototypeof@1.0.1 
│ │ └── statuses@1.3.0 
│ ├── iconv-lite@0.4.13 
│ ├─┬ on-finished@2.3.0 
│ │ └── ee-first@1.1.1 
│ ├── qs@6.2.0 
│ ├─┬ raw-body@2.1.7 
│ │ └── unpipe@1.0.0 
│ └─┬ type-is@1.6.13 
│   └── media-typer@0.3.0 
├── chart.js@1.1.1 
├── colors@1.1.2 
├─┬ compression@1.6.2 
│ ├─┬ accepts@1.3.3 
│ │ └── negotiator@0.6.1 
│ ├── bytes@2.3.0 
│ ├─┬ compressible@2.0.8 
│ │ └── mime-db@1.23.0 
│ ├── on-headers@1.0.1 
│ └── vary@1.1.0 
├── connect-ensure-login@0.1.1 
├── connect-flash@0.1.1 
├─┬ connect-mongo@1.1.0 
│ └── bluebird@3.4.1 
├─┬ connect-multiparty@2.0.0 
│ ├─┬ multiparty@4.1.2 
│ │ └─┬ fd-slicer@1.0.1 
│ │   └── pend@1.2.0 
│ └── qs@4.0.0 
├── connect-redis@3.0.2 
├─┬ cookie-parser@1.4.3 
│ ├── cookie@0.3.1 
│ └── cookie-signature@1.0.6 
├─┬ cron@1.1.0 
│ └─┬ moment-timezone@0.3.1 
│   └── moment@2.14.1 
├─┬ csurf@1.9.0 
│ └─┬ csrf@3.0.3 
│   ├── base64-url@1.2.2 
│   ├── rndm@1.2.0 
│   └── tsscmp@1.0.5 
├── daemon@1.1.0 
├─┬ express@4.14.0 
│ ├── array-flatten@1.1.1 
│ ├── content-disposition@0.5.1 
│ ├── encodeurl@1.0.1 
│ ├── escape-html@1.0.3 
│ ├── etag@1.7.0 
│ ├── finalhandler@0.5.0 
│ ├── fresh@0.3.0 
│ ├── merge-descriptors@1.0.1 
│ ├── methods@1.1.2 
│ ├── parseurl@1.3.1 
│ ├── path-to-regexp@0.1.7 
│ ├─┬ proxy-addr@1.1.2 
│ │ ├── forwarded@0.1.0 
│ │ └── ipaddr.js@1.1.1 
│ ├── range-parser@1.2.0 
│ ├─┬ send@0.14.1 
│ │ └── destroy@1.0.4 
│ ├── serve-static@1.11.1 
│ └── utils-merge@1.0.0 
├─┬ express-session@1.14.0 
│ ├── crc@3.4.0 
│ └─┬ uid-safe@2.1.1 
│   └── random-bytes@1.0.0 
├── express-useragent@0.2.4 
├─┬ grunt@0.4.5 
│ ├── async@0.1.22 
│ ├── coffee-script@1.3.3 
│ ├── colors@0.6.2 
│ ├── dateformat@1.0.2-1.2.3 
│ ├── eventemitter2@0.4.14 
│ ├── exit@0.1.2 
│ ├─┬ findup-sync@0.1.3 
│ │ ├─┬ glob@3.2.11 
│ │ │ └─┬ minimatch@0.3.0 
│ │ │   └── lru-cache@2.7.3 
│ │ └── lodash@2.4.2 
│ ├── getobject@0.1.0 
│ ├─┬ glob@3.1.21 
│ │ ├── graceful-fs@1.2.3 
│ │ └── inherits@1.0.2 
│ ├─┬ grunt-legacy-log@0.1.3 
│ │ ├── colors@0.6.2 
│ │ ├─┬ grunt-legacy-log-utils@0.1.1 
│ │ │ ├── colors@0.6.2 
│ │ │ ├── lodash@2.4.2 
│ │ │ └── underscore.string@2.3.3 
│ │ ├── lodash@2.4.2 
│ │ └── underscore.string@2.3.3 
│ ├─┬ grunt-legacy-util@0.2.0 
│ │ ├── async@0.1.22 
│ │ ├── lodash@0.9.2 
│ │ └── underscore.string@2.2.1 
│ ├── hooker@0.2.3 
│ ├── iconv-lite@0.2.11 
│ ├─┬ js-yaml@2.0.5 
│ │ ├─┬ argparse@0.1.16 
│ │ │ ├── underscore@1.7.0 
│ │ │ └── underscore.string@2.4.0 
│ │ └── esprima@1.0.4 
│ ├── lodash@0.9.2 
│ ├─┬ minimatch@0.2.14 
│ │ ├── lru-cache@2.7.3 
│ │ └── sigmund@1.0.1 
│ ├── nopt@1.0.10 
│ ├── rimraf@2.2.8 
│ ├── underscore.string@2.2.1 
│ └── which@1.0.9 
├─┬ grunt-contrib-watch@1.0.0 
│ ├─┬ gaze@1.1.0 
│ │ └─┬ globule@1.0.0 
│ │   └── lodash@4.9.0 
│ ├── lodash@3.10.1 
│ └─┬ tiny-lr@0.2.1 
│   ├─┬ body-parser@1.14.2 
│   │ ├── bytes@2.2.0 
│   │ ├── http-errors@1.3.1 
│   │ └── qs@5.2.0 
│   ├─┬ faye-websocket@0.10.0 
│   │ └─┬ websocket-driver@0.6.5 
│   │   └── websocket-extensions@0.1.1 
│   ├── livereload-js@2.2.2 
│   └── qs@5.1.0 
├─┬ html-to-text@2.0.0 
│ ├── he@0.5.0 
│ ├── htmlparser@1.7.7 
│ ├─┬ optimist@0.6.1 
│ │ ├── minimist@0.0.10 
│ │ └── wordwrap@0.0.3 
│ └─┬ underscore.string@3.3.4 
│   ├── sprintf-js@1.0.3 
│   └── util-deprecate@1.0.2 
├── ip@1.1.2 
├─┬ istanbul@0.4.4 
│ ├── abbrev@1.0.9 
│ ├─┬ escodegen@1.8.0 
│ │ ├── esprima@2.7.2 
│ │ ├── estraverse@1.9.3 
│ │ ├── esutils@2.0.2 
│ │ ├─┬ optionator@0.8.1 
│ │ │ ├── deep-is@0.1.3 
│ │ │ ├── fast-levenshtein@1.1.3 
│ │ │ ├── levn@0.3.0 
│ │ │ ├── prelude-ls@1.1.2 
│ │ │ ├── type-check@0.3.2 
│ │ │ └── wordwrap@1.0.0 
│ │ └─┬ source-map@0.2.0 
│ │   └── amdefine@1.0.0 
│ ├── esprima@2.7.2 
│ ├─┬ fileset@0.2.1 
│ │ ├── glob@5.0.15 
│ │ └─┬ minimatch@2.0.10 
│ │   └─┬ brace-expansion@1.1.6 
│ │     ├── balanced-match@0.4.2 
│ │     └── concat-map@0.0.1 
│ ├─┬ handlebars@4.0.5 
│ │ └── source-map@0.4.4 
│ ├─┬ js-yaml@3.6.1 
│ │ └── argparse@1.0.7 
│ ├── nopt@3.0.6 
│ ├─┬ once@1.3.3 
│ │ └── wrappy@1.0.2 
│ ├── resolve@1.1.7 
│ ├─┬ supports-color@3.1.2 
│ │ └── has-flag@1.0.0 
│ ├─┬ which@1.2.10 
│ │ └── isexe@1.1.2 
│ └── wordwrap@1.0.0 
├─┬ jimp@0.2.21 
│ ├── bignumber.js@2.4.0 
│ ├── bmp-js@0.0.1 
│ ├── es6-promise@3.0.2 
│ ├── exif-parser@0.1.9 
│ ├── file-type@3.8.0 
│ ├── jpeg-js@0.1.2 
│ ├── pixelmatch@4.0.1 
│ ├── pngjs@2.3.1 
│ ├── read-chunk@1.0.1 
│ ├─┬ stream-to-buffer@0.1.0 
│ │ └── stream-to@0.2.2 
│ ├── tinycolor2@1.4.1 
│ └─┬ url-regex@3.2.0 
│   └── ip-regex@1.0.3 
├─┬ json-2-csv@2.0.22 
│ ├── bluebird@3.3.5 
│ └── doc-path@1.0.7 
├─┬ less@2.7.1 
│ ├─┬ errno@0.1.4 
│ │ └── prr@0.0.0 
│ ├── graceful-fs@4.1.4 
│ ├── image-size@0.5.0 
│ ├─┬ promise@7.1.1 
│ │ └── asap@2.0.4 
│ └── source-map@0.5.6 
├─┬ logrotate-stream@0.2.5 
│ ├── byt@0.1.0 
│ └── log-rotate@0.2.7 
├─┬ lru-cache@4.0.0 
│ ├── pseudomap@1.0.2 
│ └── yallist@2.0.0 
├── mime@1.3.4 
├── minimist@1.2.0 
├─┬ mkdirp@0.5.1 
│ └── minimist@0.0.8 
├─┬ mocha@1.13.0 
│ ├── commander@0.6.1 
│ ├── diff@1.0.7 
│ ├─┬ glob@3.2.3 
│ │ ├── graceful-fs@2.0.3 
│ │ └─┬ minimatch@0.2.14 
│ │   └── lru-cache@2.7.3 
│ ├── growl@1.7.0 
│ ├─┬ jade@0.26.3 
│ │ ├── commander@0.6.1 
│ │ └── mkdirp@0.3.0 
│ └── mkdirp@0.3.5 
├─┬ mongodb@2.1.21 
│ ├─┬ mongodb-core@1.3.21 
│ │ ├── bson@0.4.23 
│ │ └─┬ require_optional@1.0.0 
│ │   └── resolve-from@2.0.0 
│ └─┬ readable-stream@1.0.31 
│   ├── core-util-is@1.0.2 
│   ├── isarray@0.0.1 
│   └── string_decoder@0.10.31 
├─┬ morgan@1.7.0 
│ └── basic-auth@1.0.4 
├── mousetrap@1.6.0 
├─┬ nconf@0.8.4 
│ ├── ini@1.3.4 
│ ├── secure-keys@1.0.0 
│ └─┬ yargs@3.32.0 
│   ├── camelcase@2.1.1 
│   ├─┬ cliui@3.2.0 
│   │ ├─┬ strip-ansi@3.0.1 
│   │ │ └── ansi-regex@2.0.0 
│   │ └── wrap-ansi@2.0.0 
│   ├── decamelize@1.2.0 
│   ├─┬ os-locale@1.4.0 
│   │ └─┬ lcid@1.0.0 
│   │   └── invert-kv@1.0.0 
│   ├─┬ string-width@1.0.1 
│   │ ├─┬ code-point-at@1.0.0 
│   │ │ └── number-is-nan@1.0.0 
│   │ └── is-fullwidth-code-point@1.0.0 
│   ├── window-size@0.1.4 
│   └── y18n@3.2.1 
├── nodebb-plugin-composer-default@4.0.5 
├─┬ nodebb-plugin-dbsearch@1.0.2 
│ └─┬ redisearch@0.0.6 
│   ├─┬ natural@0.2.1 
│   │ ├── apparatus@0.0.9 
│   │ └── sylvester@0.0.21 
│   └── redis@0.12.1 
├─┬ nodebb-plugin-emoji-extended@1.1.0 
│ ├── lodash@4.13.1 
│ └── q@1.4.1 
├─┬ nodebb-plugin-emoji-one@1.1.5 
│ ├── adm-zip@0.4.7 
│ └── wrench@1.5.9 
├─┬ nodebb-plugin-markdown@6.0.0 
│ └─┬ markdown-it@6.1.1 
│   ├── entities@1.1.1 
│   ├── linkify-it@1.2.4 
│   ├── mdurl@1.0.1 
│   └── uc.micro@1.0.2 
├── nodebb-plugin-mentions@1.1.2 
├── nodebb-plugin-soundpack-default@0.1.6 
├─┬ nodebb-plugin-spam-be-gone@0.4.9 
│ ├── akismet@1.0.0 
│ ├── project-honeypot@0.0.0 
│ └── simple-recaptcha-new@1.1.1 
├── nodebb-rewards-essentials@0.0.9 
├── nodebb-theme-lavender@3.0.13 
├── nodebb-theme-persona@4.1.7 
├── nodebb-theme-vanilla@5.1.3 
├── nodebb-widget-essentials@2.0.10 
├─┬ nodemailer@2.0.0 
│ ├─┬ libmime@2.0.0 
│ │ ├── libbase64@0.1.0 
│ │ └── libqp@1.1.0 
│ ├─┬ mailcomposer@3.0.1 
│ │ └─┬ buildmail@3.0.1 
│ │   └── addressparser@0.3.2 
│ ├─┬ nodemailer-direct-transport@2.0.0 
│ │ └── smtp-connection@2.0.0 
│ ├─┬ nodemailer-shared@1.0.2 
│ │ └── nodemailer-fetch@1.0.0 
│ ├─┬ nodemailer-smtp-pool@2.0.0 
│ │ ├── clone@1.0.2 
│ │ └── nodemailer-wellknown@0.1.7 
│ └── nodemailer-smtp-transport@2.0.0 
├── nodemailer-sendmail-transport@1.0.0 
├─┬ nodemailer-smtp-transport@2.6.0 
│ ├─┬ nodemailer-shared@1.0.5 
│ │ └── nodemailer-fetch@1.4.0 
│ ├── nodemailer-wellknown@0.1.10 
│ └─┬ smtp-connection@2.8.0 
│   └─┬ httpntlm@1.6.1 
│     ├── httpreq@0.4.22 
│     └── underscore@1.7.0 
├─┬ passport@0.3.2 
│ ├── passport-strategy@1.0.0 
│ └── pause@0.0.1 
├── passport-local@1.0.0 
├─┬ postcss@5.1.0 
│ └── js-base64@2.1.9 
├─┬ prompt@1.0.0 
│ ├── pkginfo@0.4.0 
│ ├─┬ read@1.0.7 
│ │ └── mute-stream@0.0.6 
│ ├── revalidator@0.1.8 
│ ├─┬ utile@0.3.0 
│ │ ├── async@0.9.2 
│ │ ├── deep-equal@0.2.2 
│ │ ├── i@0.3.5 
│ │ └── ncp@1.0.1 
│ └─┬ winston@2.1.1 
│   ├── async@1.0.0 
│   ├── colors@1.0.3 
│   └── pkginfo@0.3.1 
├─┬ redis@2.4.2 
│ ├── double-ended-queue@2.1.0-0 
│ └── redis-commands@1.2.0 
├─┬ request@2.73.0 
│ ├── aws-sign2@0.6.0 
│ ├── aws4@1.4.1 
│ ├─┬ bl@1.1.2 
│ │ └─┬ readable-stream@2.0.6 
│ │   ├── isarray@1.0.0 
│ │   └── process-nextick-args@1.0.7 
│ ├── caseless@0.11.0 
│ ├─┬ combined-stream@1.0.5 
│ │ └── delayed-stream@1.0.0 
│ ├── extend@3.0.0 
│ ├── forever-agent@0.6.1 
│ ├── form-data@1.0.0-rc4 
│ ├─┬ har-validator@2.0.6 
│ │ ├─┬ chalk@1.1.3 
│ │ │ ├── ansi-styles@2.2.1 
│ │ │ ├── escape-string-regexp@1.0.5 
│ │ │ ├── has-ansi@2.0.0 
│ │ │ └── supports-color@2.0.0 
│ │ ├─┬ commander@2.9.0 
│ │ │ └── graceful-readlink@1.0.1 
│ │ ├─┬ is-my-json-valid@2.13.1 
│ │ │ ├── generate-function@2.0.0 
│ │ │ ├─┬ generate-object-property@1.2.0 
│ │ │ │ └── is-property@1.0.2 
│ │ │ ├── jsonpointer@2.0.0 
│ │ │ └── xtend@4.0.1 
│ │ └─┬ pinkie-promise@2.0.1 
│ │   └── pinkie@2.0.4 
│ ├─┬ hawk@3.1.3 
│ │ ├── boom@2.10.1 
│ │ ├── cryptiles@2.0.5 
│ │ ├── hoek@2.16.3 
│ │ └── sntp@1.0.9 
│ ├─┬ http-signature@1.1.1 
│ │ ├── assert-plus@0.2.0 
│ │ ├─┬ jsprim@1.3.0 
│ │ │ ├── extsprintf@1.0.2 
│ │ │ ├── json-schema@0.2.2 
│ │ │ └── verror@1.3.6 
│ │ └─┬ sshpk@1.8.3 
│ │   ├── asn1@0.2.3 
│ │   ├── assert-plus@1.0.0 
│ │   ├─┬ dashdash@1.14.0 
│ │   │ └── assert-plus@1.0.0 
│ │   ├── ecc-jsbn@0.1.1 
│ │   ├─┬ getpass@0.1.6 
│ │   │ └── assert-plus@1.0.0 
│ │   ├── jodid25519@1.0.2 
│ │   ├── jsbn@0.1.0 
│ │   └── tweetnacl@0.13.3 
│ ├── is-typedarray@1.0.0 
│ ├── isstream@0.1.2 
│ ├── json-stringify-safe@5.0.1 
│ ├── mime-types@2.1.11 
│ ├── node-uuid@1.4.7 
│ ├── oauth-sign@0.8.2 
│ ├── stringstream@0.0.5 
│ ├── tough-cookie@2.2.2 
│ └── tunnel-agent@0.4.3 
├─┬ rimraf@2.5.3 
│ └─┬ glob@7.0.5 
│   ├── fs.realpath@1.0.0 
│   ├── inflight@1.0.5 
│   ├── minimatch@3.0.2 
│   └── path-is-absolute@1.0.0 
├─┬ rss@1.2.1 
│ └── xml@1.0.1 
├── semver@5.3.0 
├─┬ serve-favicon@2.3.0 
│ └── ms@0.7.1 
├─┬ sitemap@1.8.0 
│ └── url-join@1.1.0 
├─┬ socket.io@1.4.8 
│ ├─┬ engine.io@1.6.11 
│ │ ├─┬ accepts@1.1.4 
│ │ │ ├─┬ mime-types@2.0.14 
│ │ │ │ └── mime-db@1.12.0 
│ │ │ └── negotiator@0.4.9 
│ │ ├── base64id@0.1.0 
│ │ ├─┬ engine.io-parser@1.2.4 
│ │ │ ├── after@0.8.1 
│ │ │ ├── arraybuffer.slice@0.0.6 
│ │ │ ├── base64-arraybuffer@0.1.2 
│ │ │ ├── blob@0.0.4 
│ │ │ ├── has-binary@0.1.6 
│ │ │ └── utf8@2.1.0 
│ │ └─┬ ws@1.1.0 
│ │   ├── options@0.0.6 
│ │   └── ultron@1.0.2 
│ ├── has-binary@0.1.7 
│ ├─┬ socket.io-adapter@0.4.0 
│ │ └─┬ socket.io-parser@2.2.2 
│ │   ├── debug@0.7.4 
│ │   └── json3@3.2.6 
│ └─┬ socket.io-parser@2.2.6 
│   ├── benchmark@1.0.0 
│   ├── component-emitter@1.1.2 
│   └── json3@3.3.2 
├─┬ socket.io-client@1.4.8 
│ ├── backo2@1.0.2 
│ ├── component-bind@1.0.0 
│ ├── component-emitter@1.2.0 
│ ├─┬ engine.io-client@1.6.11 
│ │ ├── component-inherit@0.0.3 
│ │ ├── has-cors@1.1.0 
│ │ ├── parsejson@0.0.1 
│ │ ├── parseqs@0.0.2 
│ │ ├── ws@1.0.1 
│ │ ├── xmlhttprequest-ssl@1.5.1 
│ │ └── yeast@0.1.2 
│ ├── indexof@0.0.1 
│ ├── object-component@0.0.3 
│ ├─┬ parseuri@0.0.4 
│ │ └─┬ better-assert@1.0.2 
│ │   └── callsite@1.0.0 
│ └── to-array@0.1.4 
├─┬ socket.io-redis@1.0.0 
│ ├── async@0.9.0 
│ ├─┬ msgpack-js@0.3.0 
│ │ └─┬ bops@0.0.7 
│ │   ├── base64-js@0.0.2 
│ │   └── to-utf8@0.0.1 
│ ├── redis@2.3.0 
│ └── uid2@0.0.3 
├── socketio-wildcard@0.3.0 
├── string@3.3.1 
├── templates.js@0.3.4 
├── toobusy-js@0.4.3 
├─┬ uglify-js@2.7.0 
│ ├── async@0.2.10 
│ ├── uglify-to-browserify@1.0.2 
│ └─┬ yargs@3.10.0 
│   ├── camelcase@1.2.1 
│   ├─┬ cliui@2.1.0 
│   │ ├─┬ center-align@0.1.3 
│   │ │ ├─┬ align-text@0.1.4 
│   │ │ │ ├─┬ kind-of@3.0.3 
│   │ │ │ │ └── is-buffer@1.1.3 
│   │ │ │ ├── longest@1.0.1 
│   │ │ │ └── repeat-string@1.5.4 
│   │ │ └── lazy-cache@1.0.4 
│   │ ├── right-align@0.1.3 
│   │ └── wordwrap@0.0.2 
│   └── window-size@0.1.0 
├── underscore@1.8.3 
├── underscore.deep@0.5.1 
├── validator@5.5.0 
├─┬ winston@2.2.0 
│ ├── async@1.0.0 
│ ├── colors@1.0.3 
│ ├── cycle@1.0.3 
│ ├── eyes@0.1.8 
│ ├── pkginfo@0.3.1 
│ └── stack-trace@0.0.9 
└── xregexp@3.1.1 

DiegoPino:NodeBB diegopino$ ./nodebb setup
Enabling default plugins
21/7 12:59 [1735] - info: [install/defaultPlugins] customDefaults undefined
21/7 12:59 [1735] - info: [install/enableDefaultPlugins] activating default plugins 0=nodebb-plugin-composer-default, 1=nodebb-plugin-markdown, 2=nodebb-plugin-mentions, 3=nodebb-widget-essentials, 4=nodebb-rewards-essentials, 5=nodebb-plugin-soundpack-default, 6=nodebb-plugin-emoji-extended, 7=nodebb-plugin-emoji-one
21/7 12:59 [1735] - info: Beginning database schema update
21/7 12:59 [1735] - info: [2015/12/15] Chats upgrade skipped!
21/7 12:59 [1735] - info: [2015/12/23] Chats room hashes upgrade skipped!
21/7 12:59 [1735] - info: [2015/12/23] Adding theme to active plugins sorted set skipped!
21/7 12:59 [1735] - info: [2016/01/14] Creating user best post sorted sets skipped!
21/7 12:59 [1735] - info: [2016/01/20] Creating users:notvalidated skipped!
21/7 12:59 [1735] - info: [2016/01/23] Creating Global moderators group skipped!
21/7 12:59 [1735] - info: [2016/02/25] Social: Post Sharing skipped!
21/7 12:59 [1735] - info: [2016/04/14] Group title from settings to user profile skipped!
21/7 12:59 [1735] - info: [2016/04/19] Users post count per tid skipped!
21/7 12:59 [1735] - info: [2016/04/29] Dismiss flags from deleted topics skipped!
21/7 12:59 [1735] - info: [2016/05/28] Giving topics:read privs to any group that was previously allowed to Find & Access Category - skipped!
21/7 12:59 [1735] - info: [2016/06/13] Store upvotes/downvotes separately skipped!
21/7 12:59 [1735] - info: [upgrade] Schema already up to date!


DiegoPino:NodeBB diegopino$ ./nodebb upgrade
1. Bringing base dependencies up to date... 
OK
2. Updating NodeBB data store schema.
21/7 13:27 [1891] - info: Beginning database schema update
21/7 13:27 [1891] - info: [2015/09/30] Converting default Gravatar image to default User Avatar skipped
21/7 13:27 [1891] - info: [2015/11/06] Gravatar removal skipped
21/7 13:27 [1891] - info: [2015/12/15] Chats upgrade skipped!
21/7 13:27 [1891] - info: [2015/12/23] Chats room hashes upgrade skipped!
21/7 13:27 [1891] - info: [2015/12/23] Adding theme to active plugins sorted set skipped!
21/7 13:27 [1891] - info: [2016/01/14] Creating user best post sorted sets skipped!
21/7 13:27 [1891] - info: [2016/01/20] Creating users:notvalidated skipped!
21/7 13:27 [1891] - info: [2016/01/23] Creating Global moderators group skipped!
21/7 13:27 [1891] - info: [2016/02/25] Social: Post Sharing skipped!
21/7 13:27 [1891] - info: [upgrade] Schema already up to date!
OK

                            NodeBB Upgrade Complete!


Soporte Links:







Node.JS


Node.js es una librería y entorno de ejecución de E/S dirigida por eventos y por lo tanto asíncrona que se ejecuta sobre el intérprete de JavaScript creado por Google V8.


¿Qué es y para que sirve node.js?


JavaScript es un sólo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad?. Ahora ya no. Node.js es una forma de ejecutar JavaScript en el servidor, además de mucho más.

Node.js es un entorno Javascript del lado del servidor, basado en eventos. Node ejecuta javascript utilizando el motor V8, desarrollado por Google para uso de su navegador Chrome. Aprovechando el motor V8 permite a Node proporciona un entorno de ejecución del lado del servidor que compila y ejecuta javascript a velocidades increíbles. El aumento de velocidad es importante debido a que V8 compila Javascript en código de máquina nativo, en lugar de interpretarlo o ejecutarlo como bytecode. Node es de código abierto, y se ejecuta en Mac OS X, Windows y Linux.

¿Qué problema resuelve Node?

La meta número uno declarada de Node es "proporcionar una manera fácil para construir programas de red escalables". ¿Cuál es el problema con los programas de servidor actuales? Hagamos cuentas. En lenguajes como Java™ y PHP, cada conexión genera un nuevo hilo que potencialmente viene acompañado de 2 MB de memoria. En un sistema que tiene 8 GB de RAM, esto da un número máximo teórico de conexiones concurrentes de cerca de 4.000 usuarios
A medida que crece su base de clientes, si usted desea que su aplicación soporte más usuarios, necesitará agregar más y más servidores. Desde luego, esto suma en cuanto a los costos de servidor del negocio, a los costos de tráfico, los costos laborales, y más. 
Además de estos costos están los costos por los problemas técnicos potenciales — un usuario puede estar usando diferentes servidores para cada solicitud, así que cualquier recurso compartido debe almacenarse en todos los servidores. Por todas estas razones, el cuello de botella en toda la arquitectura de aplicación Web (incluyendo el rendimiento del tráfico, la velocidad de procesador y la velocidad de memoria) era el número máximo de conexiones concurrentes que podía manejar un servidor.
Node resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node

Pero ¿por qué javascript del lado del servidor?

Aunque Javascript tradicionalmente ha sido relegado a realizar tareas menores en el navegador, es actualmente un lenguaje de programación totalmente, tan capaz como cualquier otro lenguaje tradicional como C++, Ruby o Java.


¿Qué usos reales se le da a nodejs?

Es una herramienta genial para todo tipo de cosas. Aplicaciones web, aplicaciones en línea de comandos, scripts para administración de sistemas, todo tipo de aplicaciones de red, etc.
Es rápido, muy rápido. Esto es importante por varias razones:
  1. El desarrollo es más rápido.
  2. La ejecución de tests de unidad se puede hacer más rápido.
  3. Las aplicaciones son más rápidas y por tanto la experiencia de usuario es mejor.
  4. Menor coste de infraestrucutra (Linkedin pasó de tener 15 servidores a 4).
También destaca su flexibilidad. En otros entornos hay un servidor “monolítico” (apache, tomcat, etc.) y tu aplicación se “despliega” en él, y tienes unas estructuras de directorios y ficheros de configuración muy concretos. En nodejs tú lanzas el servidor web, y si quieres puedes lanzar varios, y si quieres puedes lanzar a la vez un servidor ftp, y los lanzas desde el directorio que quieras…

Desventajas de node.js

Como la mayoría de las nuevas tecnologías Node no es fácil de implementar en alojamientos existentes. En alojamientos compartidos habrá que ver si una aplicación de node.js puede funcionar; esto dependerá de la empresa de hosting. Si el alojamiento está en un VPS o servidor dedicado será más sencillo ya que se pueden ejecutar aplicaciones Nodejs sin problemas.
Otras desventajas que se mencionan a menudo (pero que están solucionándose día a día son:
  • API Inestable:  La API de Node tiene la mala costumbre de cambiar en formas que rompen la compatibilidad hacia atrás de versión en versión, lo que requiere que apliques cambios frecuentes en tu código para mantener todo funcionando en las versiones mas actuales.
  • Falta de una Librería EstándarJavaScript es un lenguajes con un buen núcleo pero con una flaca librería estándar. Cosas que darías por hecho en otro lenguaje del lado del servidor simplemente no existen.
  • Falta de Librerías en General:  ¿Necesitas una interfaz de bases de datos madura? ¿Un ORM? ¿Una librería de procesamiento de imágenes? ¿Un analizador XML? Como JavaScript no sido popular en el lado del servidor todo esto es muy reciente, o no está probado o está en camino.
  • Muchas Formas de Programar:  La falta inherente de organización de código se puede considerar una gran desventaja. Se nota su efecto claramente cuando el equipo de desarrollo no está muy familiarizado con la programación asíncrona o los patrones de diseño estándar. Simplemente hay demasiadas formas de programar y de obtener código desparejo y difícil de mantener.
  • No está Probado lo Suficiente. Este punto puede ser susceptible a opiniones subjetivas debido a que es una cuestión bastante abierta. Mientras no tengamos grandes proyectos en producción por varios años, no podremos saber donde está el problema.

Fue creado con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo, servidores web.2 

Node.js es similar en su propósito a Twisted o Tornadode Python

V8 es el entorno de ejecución para JavaScript creado para Google Chrome. Es software libre desde 2008, está escrito en C++ y compila el código fuente JavaScript en código de máquina en lugar de interpretarlo en tiempo real.
Node.js contiene libuv para manejar eventos asíncronos. Libuv es una capa de abstracción de funcionalidades de redes y sistemas de archivo en sistemas Windows y sistemas basados en POSIX como Linux, Mac OS X y Unix.
El cuerpo de operaciones de base de Node.js está escrito en JavaScript con métodos de soporte escritos en C++.

Node.js incorpora varios "módulos básicos" compilados en el propio binario, como por ejemplo el módulo de red, que proporciona una capa para programación de red asíncrona y otros módulos fundamentales, como por ejemplo Path, FileSystem, Buffer, Timers y el de propósito más general Stream. Es posible utilizar módulos desarrollados por terceros, ya sea como archivos ".node" precompilados, o como archivos en javascript plano. Los módulos Javascript se implementan siguiendo la especificación CommonJS para módulos,8 utilizando una variable de exportación para dar a estos scripts acceso a funciones y variables implementadas por los módulos.9
Los módulos de terceros pueden extender node.js o añadir un nivel de abstracción, implementando varias utilidades middleware para utilizar en aplicaciones web, como por ejemplo los frameworks connect y express. Pese a que los módulos pueden instalarse como archivos simples, normalmente se instalan utilizando el Node Package Manager (npm) que nos facilitará la compilación, instalación y actualización de módulos así como la gestión de las dependencias. Además, los módulos que no se instalen el directorio por defecto de módulos de Node necesitarán la utilización de una ruta relativa para poder encontrarlos. El wiki Node.jsproporciona una lista de varios de los módulos de terceros disponibles.

Links Soporte:
https://es.wikipedia.org/wiki/Node.js
http://www.netconsulting.es/blog/nodejs/