Skip to content
Extraits de code Groupes Projets
diaspora-setup 1,91 ko
Newer Older
#!/bin/bash
#
#  Do what's needed to initiate diaspora.
#
#  Usage: sudo diaspora-setup [external hostname]
#

test  "$( perl -e 'print $<')" = "0" || {
    echo "You need to be root to do this, giving up"
    exit 2
}

services=$( netstat -nl | grep '[^:]:3000[ \t]')
test -n "$services" && {
    echo "Warning: something is already using port 3000"
    echo "     $services"
}

Alec Leamas's avatar
Alec Leamas a validé
service mongodb stop || :
rm -f /var/lib/mongodb/mongod.lock
service mongodb start || :

cd /usr/share/diaspora/master

test -e config/app_config.yml ||
    cp config/app_config.yml.example config/app_config.yml
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
    config/app_config.yml

if rake db:seed:dev; then
    echo "Database config OK, new user tom/evankorth in place"
else
    cat <<- EOF

Alec Leamas's avatar
Alec Leamas a validé
	Database config failed. You might want to
	 - Just remove the db lock file: rm /var/lib/mongodb/mongod.lock
	 - Remove all db files: rm -rf /var/lib/mongodb/*
	 - Reset the config file by
	   cp config/app_config.yml.example config/app_config.yml
	Also, make sure the mongodb server is running e. g., using
	'service mongod status'.
chmod 777 /var/lib/diaspora/uploads
chown -R diaspora /var/log/diaspora

hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml)

if [ -n "$arg_hostname" ]; then
    sed -i "/pod_url:/s|$hostname|$arg_hostname|g" config/app_config.yml &&
        echo "config/app_config.yml updated."
    exit 0
fi
Alec Leamas's avatar
Alec Leamas a validé

while : ; do
    echo "Current hostname is \"$hostname\""
    echo -n "Enter new hostname [$hostname] :"
    read new_hostname garbage
    echo -n "Use hostname \"$new_hostname\" as pod_url (Yes/No) [Yes]? :"
    read yesno garbage
    test "${yesno:0:1}" = 'y' -o "${yesno:0:1}" = 'Y' -o -z "$yesno" && {
        sed -i "/pod_url:/s|$hostname|$new_hostname|g" config/app_config.yml &&
            echo "config/app_config.yml updated."
        break
    }
done