Template:Installation/Common
Get the source
It's time to download Diaspora! As your diaspora user run:
cd ~
git clone git://github.com/diaspora/diaspora.git
cd diaspora
Don't miss the cd diaspora, all coming commands expect to be run from that directory!
Configuration
Copy files
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Bundle
It's time to install the Ruby libraries required by Diaspora:
gem install bundler
bin/bundle install
This takes quite a while. You should get a green success message when it's finished, if that's not the case you should seek for help on the mailing list or the IRC channel. You can speed it up a bit adding -jn to the command, where n is the number of CPU cores you have available.
Running the manual gem install command shown in the error message can sometimes show a clearer error message if the bundle command fails.
Database setup
Double check your config/database.yml looks right and run:
bin/rake db:create db:schema:load
Start Diaspora
It's time to start Diaspora:
./script/server
Alternatively, you can put the following file into /etc/init.d/diaspora
:
#! /bin/sh ### BEGIN INIT INFO # Provides: diaspora # Required-Start: apache2 # Required-Stop: # Should-Start: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Diaspora social networking pod server # Description: Diaspora is a social networking pod server. ### END INIT INFO # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions PROC_NAME=Diaspora HOME_DIR=/home/diaspora DAEMON=$HOME_DIR/diaspora/diaspora-init PID_FILE=/var/run/diaspora.pid RUN_AS_USER=diaspora WAITFORDAEMON=60 wait_for_deaddaemon () { pid=$1 sleep 1 if test -n "$pid" then if kill -0 $pid 2>/dev/null then cnt=0 while kill -0 $pid 2>/dev/null do cnt=`expr $cnt + 1` if [ $cnt -gt $WAITFORDAEMON ] then log_action_end_msg 1 "still running" exit 1 fi sleep 1 [ "`expr $cnt % 3`" != 2 ] || log_action_cont_msg "" done fi fi log_action_end_msg 0 } case "$1" in start) log_action_begin_msg "Starting $PROC_NAME service: " if start-stop-daemon --start --user $RUN_AS_USER --pidfile $PID_FILE --startas $DAEMON --chuid $RUN_AS_USER --background --make-pidfile then log_action_end_msg 0 else log_action_end_msg 1 exit 1 fi ;; stop) log_action_begin_msg "Stopping $PROC_NAME service: " pid=`cat $PID_FILE 2>/dev/null` || true if test ! -f $PID_FILE -o -z "$pid"; then log_action_end_msg 0 "not running - there is no $PID_FILE" exit 0 fi if start-stop-daemon --stop --user $RUN_AS_USER --pidfile $PID_FILE then wait_for_deaddaemon $pid elif kill -0 $pid 2>/dev/null; then log_action_end_msg 1 "Is $pid not $PROC_NAME? Is $DAEMON a different binary now?" exit 1 else log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" exit 1 fi ;; esac
And put this file into /home/diaspora/diaspora/diaspora-init
:
#!/bin/bash --login shopt -s expand_aliases export RAILS_ENV=production export DB=postgres cd /home/diaspora/diaspora ./script/server
Then run the following command:
update-rc.d diaspora defaults
Then Ubuntu will start/stop Diaspora automatically on startup/shutdown. You can manually start Diaspora with service diaspora start
and stop it with service diaspora stop
.
Further reading
- Diasporas components explained
- Is there anybody out there? Establish connections with other pods
- Make yourself an admin
- Updating Diaspora
- Getting Started With Contributing