From ca2743eb071649edc70be044383ed55382a83efe Mon Sep 17 00:00:00 2001 From: psychobunny Date: Thu, 24 Apr 2014 16:54:28 -0400 Subject: [PATCH] starting porting installation page --- docs/installing.rst | 385 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 385 insertions(+) create mode 100644 docs/installing.rst diff --git a/docs/installing.rst b/docs/installing.rst new file mode 100644 index 0000000000..09e29aaf50 --- /dev/null +++ b/docs/installing.rst @@ -0,0 +1,385 @@ +Installing NodeBB +================= + +Welcome to the NodeBB wiki! We'll try to keep this wiki up-to-date regarding various aspects of NodeBB + + +Installing on 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: + +``` +$ 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). + +Installing on 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). + + +Installing on 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) + +Installing on 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.