diaspora/pkg/ubuntu/diaspora-setup
Alec Leamas 4f6f4bc7ec Build breakage point fixes, new user feedback
New user korth is also created when setting up db. Jasmine
handled, for now by disabling rake task. Various fixes
2010-11-03 10:11:39 +01:00

81 lines
2.2 KiB
Bash
Executable file

#!/bin/bash
#
# Do what's needed to initiate diaspora.
#
# Usage: sudo diaspora-setup [external hostname]
#
export PATH=$PATH:/usr/local/bin
test "$( perl -e 'print $<')" = "0" || {
echo "You need to be root to do this, giving up"
exit 2
}
arg_hostname="$1"
services=$( netstat -nl | grep '[^:]:3000[ \t]')
test -n "$services" && {
echo "Warning: something is already using port 3000"
echo " $services"
}
service mongodb stop || :
rm -f /var/lib/mongodb/mongod.lock
service mongodb start || :
cd /usr/share/diaspora/master
libdir="/usr/lib"
[[ $(arch) == "x86_64" ]] && libdir="/usr/lib64"
rm -rf vendor
ln -s $libdir/diaspora-bundle/vendor .
ln -sf $libdir/diaspora-bundle/Gemfile .
ln -sf $libdir/diaspora-bundle/Gemfile.lock .
test -e config/app_config.yml ||
cp config/app_config.yml.example config/app_config.yml
mv lib/tasks/jasmine.rake lib/tasks/jasmine.no-rake
if bundle exec rake db:seed:dev; then
echo "Database config OK. Users korth/evankorth, tom/evankorth in place"
else
cat <<- EOF
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'.
EOF
fi
chown -R diaspora /var/log/diaspora
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
config/app_config.yml
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
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