You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

392 lines
11 KiB
ReStructuredText

NodeBB Installation by OS
=========================
Welcome to the NodeBB wiki! We'll try to keep this wiki up-to-date regarding various aspects of NodeBB
Ubuntu
--------------------
First, we install our base software stack:
.. code:: bash
$ apt-get install git nodejs redis-server imagemagick
If you want to use MongoDB instead of Redis install it from http://www.mongodb.org/downloads and remove 'redis-server' from the above command. [MongoDB-Setup](https://github.com/designcreateplay/NodeBB/wiki/Installing-NodeBB-With-MongoDB)
**If your package manager only installed a version of Node.js that is less than 0.8 (e.g. Ubuntu 12.10, 13.04):**
.. code:: bash
$ add-apt-repository ppa:chris-lea/node.js
$ apt-get update && apt-get dist-upgrade
Next, clone this repository:
.. code:: bash
$ cd /path/to/nodebb/install/location
$ git clone git://github.com/designcreateplay/NodeBB.git nodebb
Obtain all of the dependencies required by NodeBB:
.. code:: bash
$ cd nodebb
$ npm install
Initiate the setup script by running the app with the `--setup` flag:
.. code:: bash
$ ./nodebb setup
The default settings are for a local server running on the default port, with a redis store on the same machine/port.
Lastly, we run the forum.
.. code:: bash
$ ./nodebb start
NodeBB can also be started with helper programs, such as `supervisor` and `forever`. [Take a look at the options here](https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB).
SmartOS
----
## Requirements
NodeBB requires the following software to be installed:
* A version of Node.js at least 0.8 or greater.
* Redis, version 2.6 or greater (steps to install from Joyent's package repository given below).
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB server).
## Server Access
1. Sign in your Joyent account: [Joyent.com](http://joyent.com)
1. Select: `Create Instance`
1. Create the newest `smartos nodejs` image.
**Note:** The following steps have been tested with image: `smartos nodejs 13.1.0`
1. Wait for your instance to show `Running` then click on its name.
1. Find your `Login` and admin password. If the `Credentials` section is missing, refresh the webpage.
*Example:* `ssh root@0.0.0.0` `A#Ca{c1@3`
1. SSH into your server as the admin not root: `ssh admin@0.0.0.0`
**Note:** For Windows users that do not have ssh installed, here is an option: [Cygwin.com](http://cygwin.com)
## Installation
1. Install NodeBB's software dependencies:
$ sudo pkgin update
$ sudo pkgin install scmgit nodejs build-essential ImageMagick redis
If any of these failed:
$ pkgin search *failed-name*
$ sudo pkgin install *available-name*
2. **If needed** setup a redis-server with default settings as a service (automatically starts and restarts):
**Note:** These steps quickly setup a redis server but does not fine-tuned it for production.
**Note:** If you ran `redis-server` manually then exit out of it now.
$ svcadm enable redis
$ svcs
*-* If `svcs` shows "/pkgsrc/redis:default" in maintenance mode then:
$ scvadm clear redis
*-* To shut down your redis-server and keep it from restarting:
$ scvadm disable redis
*-* To start up your redis-server and have it always running:
$ scvadm enable redis
1. Move to where you want to create the nodebb folder:
$ cd /parent/directory/of/nodebb/
1. Clone NodeBB's repository:
$ git clone git://github.com/designcreateplay/NodeBB.git nodebb
1. Install NodeBB's npm dependencies:
$ cd nodebb/
$ npm install
1. Run NodeBB's setup script:
$ node app --setup
1. `URL of this installation` is either your public ip address from your ssh `Login` or your domain name pointing to that ip address.
*Example:* `http://0.0.0.0` or `http://example.org`
1. `Port number of your NodeBB` is the port needed to access your site:
**Note:** If you do not proxy your port with something like nginx then port 80 is recommended for production.
1. If you used the above steps to setup your redis-server then use the default redis settings.
1. Start NodeBB process:
*Run NodeBB manually:*
**Note:** This should not be used for production.
$ node app
1. Visit your app!
*Example:* With a port of 4567: `http://0.0.0.0:4567` or `http://example.org:4567`
**Note:** With port 80 the `:80` does not need to be entered.
**Note:** If these instructions are unclear or if you run into trouble, please let us know by [filing an issue](https://github.com/designcreateplay/NodeBB/issues).
## Upgrading NodeBB
**Note:** Detailed upgrade instructions are listed in [Upgrading NodeBB](https://github.com/designcreateplay/NodeBB/wiki/Upgrading-NodeBB).
Debian
--------------------
The current Ubuntu guide is not completely compatible with Debian and there are some specificities and especially the NodeJS installation, and how to get latest Redis.
## Requirements
NodeBB requires these software to be installed :
* Node.js at least 0.10 and greater
* Redis, version 2.6 or greater
* cURL installed, just do `sudo apt-get install curl` in order to install it
## Node.js installation
Debian 7 and Debian 6 and older doesn't have `nodejs` packages included by default, but there are some solutions to install Node.js on your Debian distribution.
### Wheezy Backport :
This solution is **ONLY for Debian 7**, simply run the following **as root** :
.. code:: bash
$ echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
$ apt-get update
To install Node.js + NPM, run this :
.. code:: bash
$ apt-get install nodejs-legacy
$ curl --insecure https://www.npmjs.org/install.sh | bash
The following install a Node.js version who is greater than 0.8 (at 29 March 2014 : 0.10.21)
### Compiling from the source :
This solution is for Debian 6 (Squeeze) and greater, in order to install NodeJS, run this **as root** :
.. code:: bash
$ sudo apt-get install python g++ make checkinstall
$ src=$(mktemp -d) && cd $src
$ wget -N http://nodejs.org/dist/node-latest.tar.gz
$ tar xzvf node-latest.tar.gz && cd node-v*
$ ./configure
$ fakeroot checkinstall -y --install=no --pkgversion $(echo $(pwd) | sed -n -re's/.+node-v(.+)$/\1/p') make -j$(($(nproc)+1)) install
$ sudo dpkg -i node_*
## Get latest Software via DotDeb
Dotdeb is a repository containing packages to turn your Debian boxes into powerful, stable and up-to-date LAMP servers.
* Nginx,
* PHP 5.4 and 5.3 (useful PHP extensions : APC, imagick, Pinba, xcache, Xdebug, XHpro..)
* MySQL 5.5,
* Percona toolkit,
* Redis,
* Zabbix,
* Passenger…
Dotdeb supports :
* Debian 6.0 “Squeeze“ and 7 “Wheezy“
* both amd64 and i386 architectures
### Debian 7 (Wheezy) :
For the complete DotDeb repositories :
.. code:: bash
$ sudo echo 'deb http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list
$ sudo echo 'deb-src http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list
After this, add the following GPC keys :
.. code:: bash
$ wget http://www.dotdeb.org/dotdeb.gpg
$ sudo apt-key add dotdeb.gpg
And update your package source :
.. code:: bash
$ sudo apt-get update
### Debian 6 (Squeeze)
For the complete DotDeb repositories :
.. code:: bash
$ sudo echo 'deb http://packages.dotdeb.org squeeze all' >> /etc/apt/sources.list
$ sudo echo 'deb-src http://packages.dotdeb.org squeeze all' >> /etc/apt/sources.list
After this, add the following GPC keys :
.. code:: bash
$ wget http://www.dotdeb.org/dotdeb.gpg
$ sudo apt-key add dotdeb.gpg
And update your package source :
.. code:: bash
$ sudo apt-get update
## Installing NodeBB
Now, we have NodeJS installed and Redis ready to be installed, run this command for install the base software stack :
.. code:: bash
$ apt-get install redis-server imagemagick git
Next clone this repository :
.. code:: bash
$ cd /path/to/nodebb/install/location
$ git clone git://github.com/designcreateplay/NodeBB.git nodebb
Now we are going to install all dependencies for NodeBB via NPM :
$ cd /path/to/nodebb/install/location/nodebb (or if you are on your install location directory run : cd nodebb)
$ npm install
Install NodeBB by running the app with `--setup` flag :
.. code:: bash
$ ./nodebb setup
1. `URL of this installation` is either your public ip address or your domain name pointing to that ip address.
*Example:* `http://0.0.0.0` or `http://example.org`
2. `Port number of your NodeBB` is the port needed to access your site:
**Note:** If you do not proxy your port with something like nginx then port 80 is recommended for production.
3. If you used the above steps to setup your redis-server then use the default redis settings.
And after all.. let's run the NodeBB forum
.. code:: bash
$ ./nodebb start
**Note:** If you NodeBB or your server crash, your NodeBB instance will not reboot (snap), this is why you should take a look at the other way to start your NodeBB instance with helper programs such as `supervisor` and `forever`, just [take a look here](https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB) it's simple as a click !
## Extras, tips and Advice
You should secure your NodeBB installation, [take a look here](https://github.com/designcreateplay/NodeBB#securing-nodebb).
You should use Nginx in order to reverse proxy your NodeBB installation on the port 80, [take a look here](https://github.com/designcreateplay/NodeBB/wiki/Configuring-nginx-as-a-proxy-to-NodeBB)
Windows 8
-----------------------
### Required Software
First, install the following programs:
* https://windows.github.com/
* http://nodejs.org/
* http://sourceforge.net/projects/redis/files/redis-2.6.10/
You may have to restart your computer.
### Running NodeBB
Start Redis Server (C:\Program Files (x86)\Redis\StartRedisServer.cmd)
Open Git Shell, and type the following commands. Clone NodeBB repo:
git clone https://github.com/designcreateplay/NodeBB.git
Enter directory:
cd NodeBB
Install dependencies:
npm install
Run interactive installation:
node app.js
You may leave all of the options as default.
And you're done! After the installation, run
node app.js
You can visit your forum at http://127.0.0.1:4567/
### Developing on Windows
It's a bit of a pain to shutdown and restart NodeBB everytime you make changes. First install supervisor:
npm install -g supervisor
Open up bash:
bash
And run NodeBB on "watch" mode:
./nodebb watch
It will launch NodeBB in development mode, and watch files that change and automatically restart your forum.
CentOS
------
https://blog.tommyparnell.com/installing-nodebb-on-centos-6-5/