Moving installation instructions to a wiki page
This commit is contained in:
parent
cadcb81583
commit
e3c6926cf7
1 changed files with 3 additions and 281 deletions
284
README.md
284
README.md
|
|
@ -26,291 +26,13 @@ network.
|
||||||
**PLEASE, DO NOT RUN IN PRODUCTION. IT IS FUN TO GET RUNNING, BUT EXPECT THINGS
|
**PLEASE, DO NOT RUN IN PRODUCTION. IT IS FUN TO GET RUNNING, BUT EXPECT THINGS
|
||||||
TO BE BROKEN**
|
TO BE BROKEN**
|
||||||
|
|
||||||
|
Some initial installation instructions are [here](http://github.com/diaspora/diaspora/wiki/Installing-and-Running-Diaspora)
|
||||||
|
|
||||||
We are continuing to build features and improve the code base.
|
We are continuing to build features and improve the code base.
|
||||||
When we think it is ready for general use, we will post more detailed
|
When we think it is ready for general use, we will post more final
|
||||||
instructions.
|
instructions.
|
||||||
|
|
||||||
## Notice
|
|
||||||
|
|
||||||
We currently run Diaspora with the [thin](http://code.macournoyer.com/thin/) as
|
|
||||||
our webserver, behind [nginx](http://wiki.nginx.org/Main). Diaspora uses an
|
|
||||||
asynchronous [EventMachine](http://rubyeventmachine.com/) queue inside the appserver
|
|
||||||
to send messages between seeds. If you use mod_rails, mongrel, or another
|
|
||||||
non-eventmachine based application server, federation may not work.
|
|
||||||
|
|
||||||
If you don't like thin, you can always try
|
|
||||||
[Rainbows!](http://rainbows.rubyforge.org/) We will try to fully support more
|
|
||||||
webservers later, but that is what works for now.
|
|
||||||
|
|
||||||
These instructions are for machines running [Ubuntu](http://www.ubuntu.com/),
|
|
||||||
[Fedora](http://www.fedoraproject.org) or Mac OS X. We are developing Diaspora
|
|
||||||
for the latest and greatest browsers, so please update your Firefox, Chrome or
|
|
||||||
Safari to the latest and greatest.
|
|
||||||
|
|
||||||
## Preparing your system
|
|
||||||
|
|
||||||
In order to run Diaspora, you will need to download the following dependencies
|
|
||||||
(specific instructions follow):
|
|
||||||
|
|
||||||
- Build Tools - Packages needed to compile the components that follow.
|
|
||||||
- [Ruby](http://www.ruby-lang.org) - The Ruby programming language.
|
|
||||||
(We're using **1.8.7**. It comes preinstalled on Mac OS X.)
|
|
||||||
- [MongoDB](http://www.mongodb.org) - A snappy noSQL database.
|
|
||||||
- [OpenSSL](http://www.openssl.org/) - An encryption library.
|
|
||||||
(It comes preinstalled on Mac OS X and Ubuntu.)
|
|
||||||
- [ImageMagick](http://www.imagemagick.org/) - An Image processing library used
|
|
||||||
to resize uploaded photos.
|
|
||||||
- [Git](http://git-scm.com/) - The fast version control system.
|
|
||||||
|
|
||||||
After you have Ruby installed on your system, you will need to get RubyGems,
|
|
||||||
then install Bundler:
|
|
||||||
|
|
||||||
- [RubyGems](http://rubygems.org/) - Source for Ruby gems.
|
|
||||||
- [Bundler](http://gembundler.com/) - Gem management tool for Ruby projects.
|
|
||||||
|
|
||||||
**We suggest using a package management system to download these dependencies.
|
|
||||||
Trust us, it's going to make your life a lot easier. If you're using Mac OS X,
|
|
||||||
you can use [homebrew](http://mxcl.github.com/homebrew/); if you're using
|
|
||||||
Ubuntu, just use [Synaptic](http://www.nongnu.org/synaptic/) (it comes
|
|
||||||
pre-installed); if you're using Fedora simply use
|
|
||||||
[yum](http://yum.baseurl.org/). The instructions below assume you have these
|
|
||||||
installed.**
|
|
||||||
|
|
||||||
### Build Tools
|
|
||||||
|
|
||||||
To install build tools on **Ubuntu**, run the following (includes the gcc and
|
|
||||||
xml parsing dependencies):
|
|
||||||
|
|
||||||
sudo apt-get install build-essential libxslt1.1 libxslt1-dev libxml2
|
|
||||||
|
|
||||||
To install build tools on **Fedora**, run the following:
|
|
||||||
|
|
||||||
sudo yum install libxslt libxslt-devel libxml2 libxml2-devel
|
|
||||||
|
|
||||||
To install build tools on **Mac OS X**, you need to download and install
|
|
||||||
[Xcode](http://developer.apple.com/technologies/tools/xcode.html).
|
|
||||||
|
|
||||||
### Ruby
|
|
||||||
|
|
||||||
To install Ruby 1.8.7 on **Ubuntu**, run the following command:
|
|
||||||
|
|
||||||
sudo apt-get install ruby-full
|
|
||||||
|
|
||||||
Please note that you need to have Universe enabled in your
|
|
||||||
/etc/apt/sources.list file to install ruby using apt-get.
|
|
||||||
|
|
||||||
At this time Fedora does not have Ruby 1.8.7. As a workaround it is possible to
|
|
||||||
use [rvm](http://rvm.beginrescueend.com/) with a locally compiled Ruby
|
|
||||||
installation. A semi automated method for doing this is available. It is
|
|
||||||
highly recommended that you review the script before running it so you
|
|
||||||
understand what will occur. The script can be executed by running the
|
|
||||||
following command:
|
|
||||||
|
|
||||||
./script/bootstrap-fedora-diaspora.sh
|
|
||||||
|
|
||||||
After reviewing and executing the above script you will need to follow the
|
|
||||||
"MongoDB" section and then you should skip all the way down to "Start Mongo".
|
|
||||||
|
|
||||||
If you're on **Mac OS X**, you already have Ruby on your system. Yay!
|
|
||||||
|
|
||||||
### MongoDB
|
|
||||||
|
|
||||||
To install MongoDB on **Ubuntu**, add the official MongoDB repository
|
|
||||||
[here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages).
|
|
||||||
|
|
||||||
For Lucid, add the following line to your /etc/apt/sources.list (for other
|
|
||||||
distros, see http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages):
|
|
||||||
|
|
||||||
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen
|
|
||||||
|
|
||||||
Then run:
|
|
||||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install mongodb-stable
|
|
||||||
|
|
||||||
You can also run the binary directly by doing the following:
|
|
||||||
|
|
||||||
If you're running a 32-bit system, run:
|
|
||||||
|
|
||||||
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.2.tgz
|
|
||||||
|
|
||||||
If you're running a 64-bit system, run:
|
|
||||||
|
|
||||||
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.2.tgz
|
|
||||||
|
|
||||||
Then run:
|
|
||||||
|
|
||||||
# extract
|
|
||||||
tar xzf mongodb-linux-i686-1.4.0.tgz
|
|
||||||
# create the required data directory
|
|
||||||
sudo mkdir -p /data/db
|
|
||||||
sudo chmod -Rv 777 /data/
|
|
||||||
|
|
||||||
|
|
||||||
To install MongoDB on a x86_64 **Fedora** system, add the official MongoDB
|
|
||||||
repository from MongoDB
|
|
||||||
(http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages) into
|
|
||||||
/etc/yum.repos.d/10gen.repo:
|
|
||||||
|
|
||||||
[10gen]
|
|
||||||
name=10gen Repository
|
|
||||||
baseurl=http://downloads.mongodb.org/distros/fedora/13/os/x86_64/
|
|
||||||
gpgcheck=0
|
|
||||||
enabled=1
|
|
||||||
|
|
||||||
Then use yum to install the packages:
|
|
||||||
|
|
||||||
sudo yum install mongo-stable mongo-stable-server
|
|
||||||
|
|
||||||
If you're running a 32-bit system, run `wget
|
|
||||||
http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.2.tgz`. If you're
|
|
||||||
running a 64-bit system, run `wget
|
|
||||||
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.2.tgz`.
|
|
||||||
|
|
||||||
# extract
|
|
||||||
tar xzf mongodb-linux-i686-1.4.0.tgz
|
|
||||||
# create the required data directory
|
|
||||||
sudo mkdir -p /data/db
|
|
||||||
sudo chmod -Rv 777 /data/
|
|
||||||
|
|
||||||
To install MongoDB on **Mac OS X**, run the following:
|
|
||||||
|
|
||||||
brew install mongo
|
|
||||||
sudo mkdir -p /data/db
|
|
||||||
sudo chmod -Rv 777 /data/
|
|
||||||
|
|
||||||
### OpenSSL
|
|
||||||
|
|
||||||
If you're running either **Ubuntu**, **Fedora** or **Mac OS X** you already
|
|
||||||
have OpenSSL installed!
|
|
||||||
|
|
||||||
### ImageMagick
|
|
||||||
|
|
||||||
To install ImageMagick on **Ubuntu**, run the following:
|
|
||||||
|
|
||||||
sudo apt-get install imagemagick libmagick9-dev
|
|
||||||
|
|
||||||
To install ImageMagick on **Fedora**, run the following:
|
|
||||||
|
|
||||||
sudo yum install ImageMagick
|
|
||||||
|
|
||||||
To install ImageMagick on **Mac OS X**, run the following:
|
|
||||||
|
|
||||||
brew install imagemagick
|
|
||||||
|
|
||||||
### Git
|
|
||||||
|
|
||||||
To install Git on **Ubuntu**, run the following:
|
|
||||||
|
|
||||||
sudo apt-get install git-core
|
|
||||||
|
|
||||||
To install Git on **Fedora**, run the following:
|
|
||||||
|
|
||||||
sudo yum install git
|
|
||||||
|
|
||||||
|
|
||||||
To install Git on **Mac OS X**, run the following:
|
|
||||||
|
|
||||||
brew install git
|
|
||||||
|
|
||||||
|
|
||||||
### Rubygems
|
|
||||||
|
|
||||||
On **Ubuntu** 10.04, run the following:
|
|
||||||
|
|
||||||
sudo add-apt-repository ppa:maco.m/ruby
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install rubygems
|
|
||||||
|
|
||||||
This PPA is maintained by an Ubuntu Developer. For Ubuntu 10.10, this version
|
|
||||||
of rubygems is in the repositories.
|
|
||||||
|
|
||||||
On **Fedora**, run the following:
|
|
||||||
|
|
||||||
sudo yum install rubygems
|
|
||||||
|
|
||||||
On **Mac OS X**, RubyGems comes preinstalled; however, you might need to update
|
|
||||||
it for use with the latest Bundler. To update RubyGems, run `sudo gem update
|
|
||||||
--system`.
|
|
||||||
|
|
||||||
|
|
||||||
### Bundler
|
|
||||||
|
|
||||||
After RubyGems is updated, simply run `sudo gem install bundler` to get
|
|
||||||
Bundler. If you're using Ubuntu repository .debs, bundler is found at
|
|
||||||
/var/lib/gems/1.8/bin/bundle
|
|
||||||
|
|
||||||
|
|
||||||
## Getting Diaspora
|
|
||||||
|
|
||||||
git clone http://github.com/diaspora/diaspora.git
|
|
||||||
|
|
||||||
If you have never used github before, their
|
|
||||||
[help desk](http://help.github.com/) has a pretty awesome guide on getting
|
|
||||||
setup.
|
|
||||||
|
|
||||||
|
|
||||||
## Running Diaspora
|
|
||||||
|
|
||||||
### Install required gems
|
|
||||||
|
|
||||||
To start the app server for the first time, you need to use Bundler to install
|
|
||||||
Diaspora's gem depencencies. Run `bundle install` from Diaspora's root
|
|
||||||
directory. Bundler will also warn you if there is a new dependency and you
|
|
||||||
need to bundle install again.
|
|
||||||
|
|
||||||
### Start Mongo
|
|
||||||
|
|
||||||
If you installed the Ubuntu package, MongoDB should already be running (if not,
|
|
||||||
run `service mongodb start`). If you installed the binary manually, run `sudo
|
|
||||||
mongod` from where mongo is installed to start mongo.
|
|
||||||
|
|
||||||
If you installed the Fedora package, MongoDB will need to be started via
|
|
||||||
`service mongodb start`. If you installed the binary manually, run `sudo
|
|
||||||
mongod` from where Mongo is installed to start Mongo.
|
|
||||||
|
|
||||||
If you installed the OsX package through "brew", MongoDB will need to be
|
|
||||||
started via `sudo launchctl load
|
|
||||||
/Library/LaunchDaemons/org.mongodb.mongod.plist`. (before you have to go to
|
|
||||||
/Library/LaunchDaemons and add a symlink to
|
|
||||||
/usr/local/Cellar/mongodb/1.6.2-x86_64/org.mongodb.mongod.plist)
|
|
||||||
|
|
||||||
Diaspora will not run unless Mongo is running. Mongo will not run by default,
|
|
||||||
and will need to be started every time you wish to use or run the test suite
|
|
||||||
for Diaspora.
|
|
||||||
|
|
||||||
### Configure Diaspora
|
|
||||||
|
|
||||||
Diaspora needs to know where on the internet it is. Copy config/app_config_example.yml
|
|
||||||
to config/app_config.yml, put your url into the url field, and make any other
|
|
||||||
needed configuration changes.
|
|
||||||
|
|
||||||
### Run the server
|
|
||||||
|
|
||||||
`./script/server` will start both thin and the websocket server. If you want
|
|
||||||
to run a different app server, you will have to run them separately. See below
|
|
||||||
for instructions.
|
|
||||||
|
|
||||||
### Run the app server
|
|
||||||
|
|
||||||
Once mongo is running and bundler has finished, run `bundle exec thin start`
|
|
||||||
from the root Diaspora directory. This will start the app server in
|
|
||||||
development mode[.](http://bit.ly/9mwtUw)
|
|
||||||
|
|
||||||
### Run the websocket server
|
|
||||||
|
|
||||||
run `bundle exec ruby ./script/websocket_server` to start the websocket server
|
|
||||||
on port 8080. Change the port in config/app_config.yml.
|
|
||||||
|
|
||||||
### Logging in with a sample user
|
|
||||||
|
|
||||||
Run `rake db:seed:tom`, then login with user `tom` and password `evankorth`.
|
|
||||||
More details in db/seeds/tom.rb.
|
|
||||||
|
|
||||||
### Testing
|
|
||||||
|
|
||||||
Diaspora's test suite uses [rspec](http://rspec.info/), a behavior driven
|
|
||||||
testing framework. In order to run the tests, run `bundle exec rspec spec`.
|
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue