#!/bin/bash source /etc/statusnet/setup.cfg # setup_status_net.sh mysite 'My Site' 'owner@example.com' '1user' export nickname="$1" export sitename="$2" export email="$3" export tags="$4" # Fixme: if this is changed later we need to update profile URLs # for the created user. export server="$nickname.$WILDCARD" # End-user info export userpass=`$PWDGEN` export roles="administrator moderator owner" # DB info export password=`$PWDGEN` export database=$nickname$DBBASE export username=$nickname$USERBASE # Create the db mysqladmin -h $DBHOST -u $ADMIN --password=$ADMINPASS create $database for f in statusnet.sql innodb.sql sms_carrier.sql foreign_services.sql notice_source.sql; do mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $database < ../db/$f; done mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB << ENDOFCOMMANDS GRANT ALL ON $database.* TO '$username'@'localhost' IDENTIFIED BY '$password'; GRANT ALL ON $database.* TO '$username'@'%' IDENTIFIED BY '$password'; INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created, tags) VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now(), '$tags'); ENDOFCOMMANDS for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do mkdir $top/$nickname chmod a+w $top/$nickname done php $PHPBASE/scripts/registeruser.php \ -s"$server" \ -n"$nickname" \ -w"$userpass" \ -e"$email" for role in $roles do php $PHPBASE/scripts/userrole.php \ -s"$server" \ -n"$nickname" \ -r"$role" done if [ -f "$MAILTEMPLATE" ] then # fixme how safe is this? are sitenames sanitized? cat $MAILTEMPLATE | \ sed "s/\$nickname/$nickname/" | \ sed "s/\$sitename/$sitename/" | \ sed "s/\$userpass/$userpass/" | \ php $PHPBASE/scripts/sendemail.php \ -s"$server" \ -n"$nickname" \ --subject="$MAILSUBJECT" else echo "No mail template, not sending email." fi