-
Notifications
You must be signed in to change notification settings - Fork 332
Debian Installation
Document Version 0.1 (July 26th, 2013)
This document is designed to give you a more detailed view of how to install pump.io on Debian.
Written by StarBlessed
Contact:
- diaspora - [email protected]
- pump.io - [email protected]
- web - www.viewskew.com
Copyright 2011-2013, E14N https://e14n.com/
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
The intention of this document is to give prospective administrators more information about pump.io for use within their existing Debian systems.
pump.io is relatively simple to run, however there can be some difficulties surrounding database choice and installation.
It has also been noted that setting up the config file can be distro agnostic, and cause confusion for people who are wanting more specific answers.
In this example installation, we will be using the standard install information provided in the pump.io tutorial, and using it to configure pump.io specifically for Debian.
You'll need a few things to get started:
- node.js - http://nodejs.org/
- npm - (supplied by node.js)
- mongodb - database server
- package "graphicsmagick"
- package "git-core"
- an SSL Certificate - for your domain/subdomain (Info here : StartSSL Free Certificate )
- screen - to run the daemon in
Install the JavaScript runtime node.js
(from https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager)
apt-get install python g++ make checkinstall
mkdir ~/src && cd $_
wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz && cd node-v*
./configure
checkinstall #(remove the "v" in front of the version number in the dialog)
sudo dpkg -i node_*
apt-get update && apt-get install mongodb graphicsmagick git-core screen
Enter a directory where you can clone the repo
cd /opt
Clone the git repository
git clone https://github.com/e14n/pump.io.git
Install the dependencies using npm
:
cd pump.io
npm install
To test the install:
npm test
Install the driver in the databank
directory.
cd pump.io/node_modules/databank
npm install databank-mongodb
Setting up the directories ready for pump.io
mkdir /srv/pump
chmod 777 /srv/pump
Setting up the user who will run pump.io
adduser pumpio
Enter new UNIX password: # enter password for this account
Retype new UNIX password: # reenter password for this account
Full Name []: # press Enter
Room Number []: # press Enter
Work Phone []: # press Enter
Home Phone []: # press Enter
Other []: # press Enter
Is the information correct? [Y/n] # press 'Y' then Enter
pump.io uses a JSON file for configuration.
The pump.io.json.sample
file should give you an idea of how to use
it.
cp /opt/pump.io/pump.io.json.sample /etc/pump.io.json
Now alter the file according to your preferences.
nano /etc/pump.io.json
Paste the contents below into the file and adjust accordingly
{
"driver": "mongodb",
"params": {"host":"localhost"},
"secret": "<YOUR SECRET>", # add your own secret key
"noweb": false,
"site": "<YOUR DOMAIN>", # add your own sub/domain here
"owner": "<YOUR NAME/NICKNAME>", #add your own nick/name here
"ownerURL": "<YOUR URL>", # add a URL for your nick/name to link to
"bounce": true, # this pushes all requests on port 80, to 443
"port": 443,
"key": "<PATH TO YOUR SSL KEY>", # add the full path including file name
"cert": "<PATH TO YOUR SSL CERT>", # add the full path including file name
"hostname": "<YOUR HOST NAME>", # the hostname of your server
"address": "0.0.0.0",
"nologger": false,
"serverUser": "pumpio",
"uploaddir": "/srv/pump",
"debugClient": false,
"firehose": "ofirehose.com",
"noCDN":true,
"requireEmail": false,
"disableRegistration": false,
"canUpload": true,
"sockjs": true
}
To complete and save, press CTRL+X, press Y, then Enter.
Final chmod for the pump.io directory
chmod -R 777 /opt
Run this from your command prompt
screen
cd /opt/pump.io/bin
./pump
Then once its running you can exit screen with CTRL+A, then CTRL+D.
You should now be able to connect to you instance via http://<YOUR SUB/DOMAIN>
This will push you to https://<YOUR SUB/DOMAIN> thanks to '"bounce": true' in the config file.
- Init Files
- Updating
- Locking down server permissions
If you find bugs, you can report them here:
https://github.com/e14n/pump.io/issues
You can also email evan at [email protected]