#!/bin/bash #chagnes these here if you need to run a part of the script only. doRunOnlyOnce="1" doDownGradePHP="1" doMono="1" doDatabase="1" doWeb="1" doMail="1" doOpenSim="1" doCreateFolders="1" doDownLoadThemes="1" doOpenSimIni="1" doMonit="1" doRegionIni="1" doOpenSimVersion="" #opensim will run under this user ubuntu_user="opensim" ubuntu_password="PASSWORDGOESHERE" #root password for mysql mysqlpass="PASSWORDGOESHERE" #Your First Account os_firstname="Master" os_lastname="Avatar" #Grid info os_gridname="Something Kewl" os_gridslogan="I am always kewl" #database info os_databasename="opensim" os_databaseuser="opensim" os_databasepass="PASSWORDGOESHERE" xoop_databasename="xoops" xoop_databaseuser="xoops" xoop_databasepass="PASSWORDGOESHERE" ossearch_databasename="ossearch" ossearch_databaseuser="ossearch" ossearch_databasepass="PASSWORDGOESHERE" mailDomain="DOMAIN.EMAILSCOMEFROM.com" siteDomain="DOMAIN.FORWEBSITE.com" internalIP="192.168.0.5" prim_count="30000" group_read="1234" group_write="1234" region_name="SkidzIsle" #can not have spaces, breaks script :( smtp_username="fmaster" smtp_password="PASSWORDGOESHERE" #change these to your desired login info for monit monit_username="MONITMAN" monit_password="PASSWORDGOESHERE" monit_email_to="YOUR@EMAIL.COM" monit_port="83" #FREESWITCH IS NOT WORKING YET freeSwitch_user="" freeSwitch_password="" #source information xoopSource="http://surfnet.dl.sourceforge.net/project/xoopscube/legacy/legacy%202.1.8/Package_Legacy_2_1_8.zip" xoopSourceFileName="Package_Legacy_2_1_8" xoopsVersion="2.1.8" doOpenSimPatch="http://www.nsl.tuis.ac.jp/DownLoad/SoftWare/OpenSim/opensim_nsl_r13094_worldmap.patch" doOpenSimPatchFile="opensim_nsl_r13094_worldmap.patch" monoLibgdLocation="http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.6.4.tar.bz2" monoLibgdFileName="libgdiplus-2.6.4" monoLocation="http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.4.tar.bz2" monoFileName="mono-2.6.4" regionGuid="531189cb-f425-4960-a2e2-c9834819e172" regionLocation="1000,1000" srcDirectory="/home/$ubuntu_user/src" varDirectory="/home/$ubuntu_user/var" #DO NOT CHANGE ANYTHING BLOW HERE FOR BASIC CONFIG #------------------------------------------------------------------------------------ if [ "$doRunOnlyOnce" == "1" ]; then useradd -d /home/opensim -m $ubuntu_user -G admin chsh -s /bin/bash $ubuntu_user echo "USER $ubuntu_user" passwd $ubuntu_user useradd -m -s /bin/bash $smtp_username echo "USER $smtp_username" passwd $smtp_username mkdir /etc/apache2/ssl make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl echo "see https://help.ubuntu.com/community/forum/server/apache2/SSL" sleep 10 nano -w /etc/apache2/sites-available/ssl a2enmod ssl /etc/init.d/apache2 restart /etc/init.d/apache2 force-reload sudo -u $ubuntu_user mkdir $srcDirectory ufw allow 22 ufw allow 80 ufw allow 443 ufw allow 9000 ufw allow 9001 ufw allow 9002 ufw allow 9003 ufw allow 5061 ufw allow 5080 ufw allow 5081 ufw allow 50505 ufw allow 64738 ufw allow $monit_port ufw enable ufw logging on nano /etc/apt/sources.list apt-get update -y apt-get upgrade -y aptitude install -y mysql-server apt-get install -y autoconf automake libtool build-essential subversion libxml2 apt-get install -y libxml2-dev libtiff4 libtiff4-dev php5 php5-cli apt-get install -y php5-common php5-mcrypt php5-mysql php5-gd php5-pgsql apt-get install -y php-pear php-db apt-get install -y libmysqlclient15-dev curl sox libssl-dev libncurses5-dev bison apt-get install -y libaudiofile-dev libnewt-dev libcurl4-gnutls-dev apt-get install -y libnet-ssleay-perl openssl ssl-cert libauthen-pam-perl apt-get install -y libio-pty-perl libmd5-perl apt-get install -y libpg-perl libdbd-pg-perl sqlite3 apt-get install -y libsqlite3-dev openssl ssl-cert apt-get install -y libapache2-mod-php5 libmcrypt-dev apt-get install -y php5 php5-gd php5-mysql unzip git-core build-essential apt-get install -y pkg-config libglib2.0-dev bison libcairo2-dev libungif4-dev apt-get install -y libjpeg62-dev libtiff4-dev gettext monit libsasl2-2 sasl2-bin /etc/init.d/apache2 force-reload /etc/init.d/apache2 restart fi if [ "$doCreateFolders" == "1" ]; then echo "Starting to make folders" #going to set up some links here, so we need to make all the folders first. cd /home/$ubuntu_user sudo -u $ubuntu_user mkdir $srcDirectory/ sudo -u $ubuntu_user mkdir $varDirectory/ sudo -u $ubuntu_user mkdir $srcDirectory/opensim sudo -u $ubuntu_user mkdir $srcDirectory/opensim/source sudo -u $ubuntu_user mkdir $srcDirectory/opensim/source/opensim sudo -u $ubuntu_user mkdir $srcDirectory/opensim/source/opensim/addon-modules sudo -u $ubuntu_user mkdir $srcDirectory/opensim/source/opensim/bin sudo -u $ubuntu_user mkdir $srcDirectory/opensim/source/opensim/bin/addon-modules sudo -u $ubuntu_user mkdir $srcDirectory/opensim/current sudo -u $ubuntu_user mkdir $srcDirectory/opensim/current/opensim sudo -u $ubuntu_user mkdir $srcDirectory/opensim/current/opensim/bin sudo -u $ubuntu_user mkdir $srcDirectory/opensim/current/opensim/bin/config-include sudo -u $ubuntu_user mkdir $srcDirectory/opensim/current/opensim/addon-modules sudo -u $ubuntu_user mkdir $srcDirectory/opensim/old sudo -u $ubuntu_user mkdir $srcDirectory/opensim/old/opensim sudo -u $ubuntu_user mkdir $srcDirectory/opensim/old2 sudo -u $ubuntu_user mkdir $srcDirectory/opensim/old2/opensim sudo -u $ubuntu_user mkdir $varDirectory/opensim sudo -u $ubuntu_user mkdir $varDirectory/opensim/config-include sudo -u $ubuntu_user mkdir $varDirectory/opensim/Regions sudo -u $ubuntu_user mkdir $varDirectory/opensim/ScriptEngines sudo -u $ubuntu_user mkdir $varDirectory/opensim/addon-modules/ sudo -u $ubuntu_user mkdir $varDirectory/opensim/addon-modules/ sudo -u $ubuntu_user mkdir $varDirectory/opensim/addon-modules/OpenSimSearch sudo -u $ubuntu_user mkdir $varDirectory/opensim/addon-modules/OpenSimSearch/config sudo -u $ubuntu_user mkdir $srcDirectory/www/ sudo -u $ubuntu_user mkdir $srcDirectory/www/source/ sudo -u $ubuntu_user mkdir $srcDirectory/www/current/ sudo -u $ubuntu_user mkdir $srcDirectory/www/old/ sudo -u $ubuntu_user mkdir $srcDirectory/www/old2/ sudo -u $ubuntu_user mkdir $varDirectory/www/ sudo -u $ubuntu_user mkdir $varDirectory/www/themes/ sudo -u $ubuntu_user mkdir $varDirectory/www/modules/ sudo -u $ubuntu_user mkdir $varDirectory/log/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/current/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/current/xoopensim/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/source/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/source/xoopensim/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/old/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/old/xoopensim/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/old2/ sudo -u $ubuntu_user mkdir $srcDirectory/xoopensim/old2/xoopensim/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/current/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/source/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/old/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/old2/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/current/xoop/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/source/xoop/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/old/xoop/ sudo -u $ubuntu_user mkdir $srcDirectory/xoop/old2/xoop/ # ln -s sudo -u $ubuntu_user mkdir $srcDirectory/www/current/* $varDirectory/www/ sudo -u $ubuntu_user mkdir $varDirectory/www/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/www/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/www/themes/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/www/modules/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/ora/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/backups/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/backups/database/ sudo -u $ubuntu_user mkdir $varDirectory/sftp/backups/website/ #ln -s sudo -u $ubuntu_user mkdir $varDirectory/www/themes/* $varDirectory/sftp/www/themes/ #ln -s $varDirectory/www/modules/* $varDirectory/sftp/www/modules/ sudo -u $ubuntu_user mkdir $srcDirectory/freeswitch/ sudo -u $ubuntu_user mkdir $srcDirectory/freeswitch/source/ sudo -u $ubuntu_user mkdir $srcDirectory/freeswitch/current/ sudo -u $ubuntu_user mkdir $srcDirectory/freeswitch/old/ sudo -u $ubuntu_user mkdir $srcDirectory/freeswitch/old2/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/current/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/old/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/old2/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/source/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/current/ossearch/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/current/ossearch/trunk/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/current/ossearch/trunk/webroot/ sudo -u $ubuntu_user mkdir $srcDirectory/ossearch/current/ossearch/trunk/OpenSimSearch/ # ln -s $srcDirectory/ossearch/current/ossearch/trunk/webroot/* $varDirectory/www/ sudo -u $ubuntu_user mkdir $srcDirectory/mono/ sudo -u $ubuntu_user mkdir $srcDirectory/mono/source/ sudo -u $ubuntu_user mkdir $srcDirectory/mono/source/libgdiplus/ sudo -u $ubuntu_user mkdir $srcDirectory/mono/source/mono/ echo "Finished making folders" fi if [ "$doWeb" == "1" ]; then echo "Starting Websetup" sleep 2 cd $srcDirectory/xoop/source/ rm -rf $srcDirectory/xoop/source/* sudo -u $ubuntu_user mkdir $srcDirectory/xoop/source/xoop sudo -u $ubuntu_user wget $xoopSource sudo -u $ubuntu_user unzip $xoopSourceFileName.zip -d $srcDirectory/xoop/source/xoop/ sudo -u $ubuntu_user cp -rf $srcDirectory/xoop/source/xoop/Package_Legacy/extras/system $srcDirectory/xoop/source/xoop/Package_Legacy/html/modules/ #rm -rf $srcDirectory/xoop/source/xoop/Package_Legacy/html/themes/* #sudo -u $ubuntu_user unzip Themes.zip -d $srcDirectory/xoop/source/xoop/Package_Legacy/html/ sudo -u $ubuntu_user echo $xoopsVersion >>version.info cd $srcDirectory/xoopensim/source/ rm -rf $srcDirectory/xoopensim/source/* svn co http://www.nsl.tuis.ac.jp/svn/php/xoopensim/trunk xoopensim cd $srcDirectory/xoopensim/source/xoopensim svn co http://www.nsl.tuis.ac.jp/svn/opensim/opensim.phplib/trunk opensim.phplib svn co http://www.nsl.tuis.ac.jp/svn/opensim/opensimwiredux/trunk opensimwiredux svn co http://www.nsl.tuis.ac.jp/svn/opensim/flotsam_XmlRpcGroup/trunk flotsam_XmlRpcGroup svn co http://www.nsl.tuis.ac.jp/svn/opensim/opensim.osprofile/trunk osprofile sudo -u $ubuntu_user echo `svn info` >>$srcDirectory/xoopensim/source/xoopensim/version.info cd $srcDirectory/xoopensim/source/ chown -R $ubuntu_user:$ubuntu_user * cd $srcDirectory/xoopensim/source/xoopensim orginal="$srcDirectory/xoopensim/source/xoopensim/version.info" orginalto="$srcDirectory/xoopensim/current/xoopensim/version.info" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then rm -rf $srcDirectory/xoopensim/old2/xoopensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoopensim/old/xoopensim/* $srcDirectory/xoopensim/old2/xoopensim/ rm -rf $srcDirectory/xoopensim/old/xoopensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoopensim/current/xoopensim/* $srcDirectory/xoopensim/old/xoopensim/ rm -rf $srcDirectory/xoopensim/current/xoopensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoopensim/source/* $srcDirectory/xoopensim/current/ sudo -u $ubuntu_user cp -rf $srcDirectory/xoopensim/source/* $srcDirectory/xoop/source/xoop/Package_Legacy/html/modules/ #ln -s $srcDirectory/xoopensim/current/* $varDirectory/www/modules/ fi cd $srcDirectory/xoop/source/xoop/ orginal="$srcDirectory/xoop/source/xoop/version.info" orginalto="$srcDirectory/xoop/current/xoop/version.info" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then #orginal="$srcDirectory/xoop/source/xoop/Package_Legacy/html/mainfile.php" #orginalto="$srcDirectory/xoop/current/xoop/Package_Legacy/html/mainfile.php" #if [ -a "$orginalto" ]; then isMainDiff=`diff -q $orginal $orginalto`; else isMainDiff="yes"; fi rm -rf $srcDirectory/xoop/old2/xoop/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoop/old/xoop/* $srcDirectory/xoop/old2/xoop/ rm -rf $srcDirectory/xoop/old/xoop/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoop/current/xoop/* $srcDirectory/xoop/old/xoop/ rm -rf $srcDirectory/xoop/current/xoop/* sudo -u $ubuntu_user cp -rf $srcDirectory/xoop/source/xoop/* $srcDirectory/xoop/current/xoop/ sudo -u $ubuntu_user cp -rf $srcDirectory/xoop/current/xoop/Package_Legacy/html/* $varDirectory/www/ if [ -a "$varDirectory/www/index.html" ]; then rm $varDirectory/www/index.html fi fi chmod -R 755 $varDirectory/www/ chmod -R 777 $varDirectory/www/mainfile.php chmod -R 777 $varDirectory/www/templates_c/ chmod -R 777 $varDirectory/www/cache/ chmod -R 777 $varDirectory/www/uploads/ if [ -a "/var/www/index.html" ]; then rm /var/www/index.html fi ln -s $varDirectory/www/* /var/www/ echo "Finished Website setup" sleep 5 fi if [ "$doDownLoadThemes" == "1" ]; then cd $varDirectory/www/themes/ sudo -u $ubuntu_user wget http://www.skidzpartz.com/themes.zip sudo -u $ubuntu_user unzip themes.zip cd $varDirectory/www/modules/ sudo -u $ubuntu_user wget http://www.skidzpartz.com/modules.zip sudo -u $ubuntu_user unzip modules.zip fi if [ "$doMail" == "1" ]; then aptitude install postfix dpkg-reconfigure postfix postconf -e 'home_mailbox = Maildir/' postconf -e 'smtpd_sasl_local_domain =' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' postconf -e 'inet_interfaces = all' echo "pwcheck_method: saslauthd" >>/etc/postfix/sasl/smtpd.conf echo "mech_list: plain login" >>/etc/postfix/sasl/smtpd.conf cd $srcDirectory/ postconf -e 'smtp_tls_security_level = may' postconf -e 'smtpd_tls_security_level = may' postconf -e 'smtpd_tls_auth_only = no' postconf -e 'smtp_tls_note_starttls_offer = yes' postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' postconf -e 'smtpd_tls_loglevel = 1' postconf -e 'smtpd_tls_received_header = yes' postconf -e 'smtpd_tls_session_cache_timeout = 3600s' postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'myhostname = '$mailDomain /etc/init.d/postfix restart sed 's/START=no/START=yes/' /etc/default/saslauthd.2 mv -f /etc/default/saslauthd.2 /etc/default/saslauthd dpkg-statoverride --force --update --add root sasl 755 $varDirectory/spool/postfix$varDirectory/run/saslauthd /etc/init.d/saslauthd start dpkg-statoverride --force --update --add root sasl 755 $varDirectory/run/saslauthd /etc/init.d/saslauthd restart /etc/init.d/postfix restart fi if [ "$doMono" == "1" ]; then echo "Starting Mono Build" sleep 2 apt-get remove mono-common cd $srcDirectory rm $monoLibgdFileName'.tar.bz2' sudo -u $ubuntu_user wget $monoLibgdLocation tar -xvf $monoLibgdFileName'.tar.bz2' -C $srcDirectory/mono/source/libgdiplus/ cd $srcDirectory/mono/source/libgdiplus/$monoLibgdFileName echo "Ubuntu Admin user" chmod 777 ./configure ./configure --prefix=/usr/local; make; make install cd $srcDirectory/ rm $monoFileName'.tar.bz2' sudo -u $ubuntu_user wget $monoLocation tar -xvf $monoFileName'.tar.bz2' -C $srcDirectory/mono/source/mono/ cd $srcDirectory/mono/source/mono/$monoFileName chmod 777 ./configure ./configure --prefix=/usr/local; make; make install #if [ "$doRunOnlyOnce" == "1" ]; then echo "PATH=/usr/local/bin:\$PATH" >>~/.bashrc echo "LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH" >>~/.bashrc echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:\$PKG_CONFIG_PATH" >>~/.bashrc #fi apt-get install nant -y echo "Mono Finished.. Finally" sleep 5 fi if [ "$doOpenSim" == "1" ]; then echo "Start OpenSim Build" sleep 2 cd $srcDirectory/opensim/source/ rm -rf $srcDirectory/opensim/source/opensim sudo -u $ubuntu_user git clone git://opensimulator.org/git/opensim opensim if [ "$doOpenSimVersion" != "" ]; then cd $srcDirectory/opensim/source/opensim/ rm -rf $srcDirectory/opensim/source/opensim/* sudo -u $ubuntu_user git reset --hard $doOpenSimVersion sudo -u $ubuntu_user git revert $doOpenSimVersion -m 1 fi cd $srcDirectory/opensim/source/opensim/ if [ "$doOpenSimPatch" != "" ]; then sudo -u $ubuntu_user wget $doOpenSimPatch git apply --check $doOpenSimPatchFile sleep 10 git apply $doOpenSimPatchFile fi cd $srcDirectory/opensim/source/opensim/ chmod 777 ./runprebuild.sh sudo -u $ubuntu_user ./runprebuild.sh sudo -u $ubuntu_user nant clean cd $srcDirectory/ossearch/source/ svn checkout --username anonymous http://forge.opensimulator.org/svn/ossearch chown -R $ubuntu_user:$ubuntu_user * #cd $srcDirectory/ossearch/source/ossearch/trunk/OpenSimSearch #sudo -u $ubuntu_user wget http://forge.opensimulator.org/gf/download/trackeritem/361/732/UpdatestoISharedRegionModule.patch #patch -p0 -i UpdatestoISharedRegionModule.patch rm $srcDirectory/ossearch/source/ossearch/version.info sudo -u $ubuntu_user echo `git log -n 1 --decorate |sed -e's/ (HEAD, /-/' -e 's/,.*$//'` >>$srcDirectory/ossearch/source/ossearch/version.info orginal="$srcDirectory/ossearch/source/ossearch/version.info" orginalto="$srcDirectory/ossearch/current/ossearch/version.info" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then orginal="$srcDirectory/ossearch/source/ossearch/trunk/webroot/databaseinfo.php" orginalto="$varDirectory/www/databaseinfo.php" sed 's/$DB_USER = "root";/$DB_USER = "'"$ossearch_databaseuser"'";/' <$orginal >$orginal.new; sudo -u $ubuntu_user mv -f $orginal.new $orginal sed 's/$DB_PASSWORD = "";/$DB_PASSWORD = "'"$ossearch_databasepass"'";/' <$orginal >$orginal.new; sudo -u $ubuntu_user mv -f $orginal.new $orginal sed 's/$DB_NAME = "ossearch"/$DB_NAME = "'"$ossearch_databasename"'"/' <$orginal >$orginal.new; sudo -u $ubuntu_user mv -f $orginal.new $orginal if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then if [ -a "$orginalto.5" ]; then rm $orginalto.5; fi if [ -a "$orginalto.4" ]; then sudo -u $ubuntu_user mv -f $orginalto.4 $orginalto.5; fi if [ -a "$orginalto.3" ]; then sudo -u $ubuntu_user mv -f $orginalto.3 $orginalto.4; fi if [ -a "$orginalto.2" ]; then sudo -u $ubuntu_user mv -f $orginalto.2 $orginalto.3; fi if [ -a "$orginalto.1" ]; then sudo -u $ubuntu_user mv -f $orginalto.1 $orginalto.2; fi if [ -a "$orginalto" ]; then sudo -u $ubuntu_user mv -f $orginalto $orginalto.1; fi sudo -u $ubuntu_user cp $orginal $orginalto fi rm $orginal rm -rf $srcDirectory/ossearch/old2/ossearch/* sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/old/ossearch/* $srcDirectory/ossearch/old2/ossearch/ rm -rf $srcDirectory/ossearch/old/ossearch/* sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/* $srcDirectory/ossearch/old/ossearch/ rm -rf $srcDirectory/ossearch/current/ossearch/* sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/source/ossearch/* $srcDirectory/ossearch/current/ossearch/ doOpenSimIni="1" doRegionIni="1" sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/trunk/webroot/* $varDirectory/www/ orginal="$srcDirectory/ossearch/source/ossearch/trunk/OpenSimSearch/OpenSim-addition.ini.example" sed 's/Add the following/;Add the following/' <$orginal >$orginal.new sudo -u $ubuntu_user mv -f $orginal.new $orginal sed 's/;SearchURL = http://192.168.0.1/query.php/SearchURL = http://'$siteDomain'/query.php/' <$orginal >$orginal.new sudo -u $ubuntu_user mv -f $orginal.new $orginal orginalto="$varDirectory/opensim/addon-modules/OpenSimSearch/config/configOpenSim-addition.ini" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then if [ -a "$orginalto.5" ]; then rm $orginalto.5; fi if [ -a "$orginalto.4" ]; then sudo -u $ubuntu_user mv -f $orginalto.4 $orginalto.5; fi if [ -a "$orginalto.3" ]; then sudo -u $ubuntu_user mv -f $orginalto.3 $orginalto.4; fi if [ -a "$orginalto.2" ]; then sudo -u $ubuntu_user mv -f $orginalto.2 $orginalto.3; fi if [ -a "$orginalto.1" ]; then sudo -u $ubuntu_user mv -f $orginalto.1 $orginalto.2; fi if [ -a "$orginalto" ]; then sudo -u $ubuntu_user mv -f $orginalto $orginalto.1; fi sudo -u $ubuntu_user cp $orginal $orginalto fi sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/trunk/OpenSimSearch $srcDirectory/opensim/source/opensim/addon-modules/ sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/trunk/OpenSimSearch $srcDirectory/opensim/source/opensim/bin/addon-modules/ fi #I tried links here.. but neither -d or -s would work correctly.. wouldn't compile sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/trunk/OpenSimSearch $srcDirectory/opensim/source/opensim/addon-modules/ sudo -u $ubuntu_user cp -rf $srcDirectory/ossearch/current/ossearch/trunk/OpenSimSearch $srcDirectory/opensim/source/opensim/bin/addon-modules/ cd $srcDirectory/opensim/source/opensim/ sudo -u $ubuntu_user ./runprebuild.sh sudo -u $ubuntu_user nant sudo -u $ubuntu_user nant rm $srcDirectory/opensim/source/opensim/version.info sudo -u $ubuntu_user echo `git log -n 1 --decorate |sed -e's/ (HEAD, /-/' -e 's/,.*$//'` >>$srcDirectory/opensim/source/opensim/version.info orginal="$srcDirectory/opensim/source/opensim/version.info" orginalto="$srcDirectory/opensim/current/opensim/version.info" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then rm -rf $srcDirectory/opensim/old2/opensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/opensim/old/opensim/* $srcDirectory/opensim/old2/opensim/ rm -rf $srcDirectory/opensim/old/opensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/opensim/current/opensim/* $srcDirectory/opensim/old/opensim/ rm -rf $srcDirectory/opensim/current/opensim/* sudo -u $ubuntu_user cp -rf $srcDirectory/opensim/source/opensim/* $srcDirectory/opensim/current/opensim/ orginal="$srcDirectory/opensim/current/opensim/bin/OpenSim.ini.example" orginalto="$varDirectory/opensim/OpenSim.ini" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then if [ -a "$orginalto.5" ]; then rm $orginalto.5; fi if [ -a "$orginalto.4" ]; then sudo -u $ubuntu_user mv -f $orginalto.4 $orginalto.5; fi if [ -a "$orginalto.3" ]; then sudo -u $ubuntu_user mv -f $orginalto.3 $orginalto.4; fi if [ -a "$orginalto.2" ]; then sudo -u $ubuntu_user mv -f $orginalto.2 $orginalto.3; fi if [ -a "$orginalto.1" ]; then sudo -u $ubuntu_user mv -f $orginalto.1 $orginalto.2; fi if [ -a "$orginalto" ]; then sudo -u $ubuntu_user mv -f $orginalto $orginalto.1; fi sudo -u $ubuntu_user cp $orginal $orginalto fi doOpenSimIni="1" orginal="$srcDirectory/opensim/current/opensim/bin/config-include/StandaloneCommon.ini.example" orginalto="$varDirectory/opensim/config-include/StandaloneCommon.ini" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then if [ -a "$orginalto.5" ]; then rm $orginalto.5; fi if [ -a "$orginalto.4" ]; then sudo -u $ubuntu_user mv -f $orginalto.4 $orginalto.5; fi if [ -a "$orginalto.3" ]; then sudo -u $ubuntu_user mv -f $orginalto.3 $orginalto.4; fi if [ -a "$orginalto.2" ]; then sudo -u $ubuntu_user mv -f $orginalto.2 $orginalto.3; fi if [ -a "$orginalto.1" ]; then sudo -u $ubuntu_user mv -f $orginalto.1 $orginalto.2; fi if [ -a "$orginalto" ]; then sudo -u $ubuntu_user mv -f $orginalto $orginalto.1; fi sudo -u $ubuntu_user cp $orginal $orginalto fi doOpenSimIni="1" orginal="$srcDirectory/opensim/current/opensim/bin/RegionConfig.ini.example" orginalto="$varDirectory/opensim/Regions/RegionConfig.ini" if [ -a "$orginalto" ]; then dif=`diff -q $orginal $orginalto`; else dif="yes"; fi if [ "$dif" != "" ]; then if [ -a "$orginalto.5" ]; then rm $orginalto.5; fi if [ -a "$orginalto.4" ]; then sudo -u $ubuntu_user mv -f $orginalto.4 $orginalto.5; fi if [ -a "$orginalto.3" ]; then sudo -u $ubuntu_user mv -f $orginalto.3 $orginalto.4; fi if [ -a "$orginalto.2" ]; then sudo -u $ubuntu_user mv -f $orginalto.2 $orginalto.3; fi if [ -a "$orginalto.1" ]; then sudo -u $ubuntu_user mv -f $orginalto.1 $orginalto.2; fi if [ -a "$orginalto" ]; then sudo -u $ubuntu_user mv -f $orginalto $orginalto.1; fi sudo -u $ubuntu_user cp $orginal $orginalto fi doRegionIni="1" ln -s $srcDirectory/opensim/current/opensim/bin/* $varDirectory/opensim/ ln -s $srcDirectory/opensim/current/opensim/bin/config-include/* $varDirectory/opensim/config-include/ fi echo "Opensim Build Finished" sleep 5 fi if [ "$doRegionIni" == "1" ]; then echo "Starting the Region ini edit" sleep 2 cd $varDirectory/opensim/Regions/ sed 's/Default Region/'$region_name'/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini sed 's/InternalAddress = "127.0.0.1"/InternalAddress = "'"$internalIP"'"/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini sed 's/RegionUUID = "11111111-2222-3333-4444-555555555555"/RegionUUID = "'"$regionGuid"'"/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini sed 's/Location = "1000,1000"/Location = "'"$regionLocation"'"/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini sed 's/ExternalHostName = "SYSTEMIP"/ExternalHostName = "'"$siteDomain"'"/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini sed 's/; RegionType = "Mainland"/ RegionType = "Mainland"/' RegionConfig.ini.new sudo -u $ubuntu_user mv -f RegionConfig.ini.new RegionConfig.ini fi if [ "$doOpenSimIni" == "1" ]; then echo "Starting the OpenSim ini edit" sleep 2 sudo -u $ubuntu_user cp $srcDirectory/opensim/current/opensim/bin/OpenSim.ini.example $varDirectory/opensim/OpenSim.ini cd $varDirectory/opensim/ sed 's/TextureOnMapTile = false/TextureOnMapTile = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/CombineContiguousRegions = false/CombineContiguousRegions = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;InworldRestartShutsDown = false/InworldRestartShutsDown = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/storage_plugin = "OpenSim.Data.SQLite.dll"/;storage_plugin = "OpenSim.Data.SQLite.dll"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/storage_connection_string="URI=file:OpenSim.db,version=3";/;storage_connection_string="URI=file:OpenSim.db,version=3";/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; storage_plugin="OpenSim.Data.MySQL.dll"/storage_plugin="OpenSim.Data.MySQL.dll"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=\*\*\*\*\*;Old Guids=true;";/ storage_connection_string="Data Source=localhost;Database='$os_databasename';User ID='$os_databaseuser';Password='$os_databasepass';Old Guids=true;";/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;permissionmodules = "DefaultPermissionsModule"/permissionmodules = "DefaultPermissionsModule"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/serverside_object_permissions = false/serverside_object_permissions = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;WorldMapModule = "WorldMap"/WorldMapModule = "WorldMap"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;MapImageModule = "MapImageModule"/MapImageModule = "MapImageModule"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;emailmodule = DefaultEmailModule/emailmodule = DefaultEmailModule/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini # sed 's/; Stats_URI = "jsonSimStats"/Stats_URI = "jsonSimStats"/' OpenSim.ini.new # sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini # sed 's/ enabled=false/; enabled=false/' OpenSim.ini.new # sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini # sed 's/ ;enabled=true/ enabled=true/' OpenSim.ini.new # sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini # sed 's/ ;host_domain_header_from=127.0.0.1/ ;host_domain_header_from=127.0.0.1/' OpenSim.ini.new # sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; OfflineMessageModule = OfflineMessageModule/ OfflineMessageModule = OfflineMessageModule/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; OfflineMessageURL = http:\/\/yourserver\/Offline.php/OfflineMessageURL = http:\/\/'$siteDomain'\/modules\/xoopensim\/helper\/offline.php/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; MuteListModule = MuteListModule/ MuteListModule = MuteListModule/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; MuteListURL = http:\/\/yourserver\/Mute.php/MuteListURL = http:\/\/'$siteDomain'\/modules\/xoopensim\/helper\/mute.php/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/gridname = "OSGrid"/gridname = "'"$os_gridname"'"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/SellEnabled = "false"/SellEnabled = "true"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ObjectCapacity = 45000/ObjectCapacity = '$prim_count'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ Module = Default/; Module = Default/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ ;Module = GroupsModule/ Module = GroupsModule/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ ;NoticesEnabled = true/ NoticesEnabled = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;MessagingModule = GroupsMessagingModule/MessagingModule = GroupsMessagingModule/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ ;MessagingEnabled = true/ MessagingEnabled = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;ServicesConnectorModule = XmlRpcGroupsServicesConnector/ServicesConnectorModule = XmlRpcGroupsServicesConnector/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;GroupsServerURI = http:\/\/yourxmlrpcserver.com\/xmlrpc.php/GroupsServerURI = http:\/\/'$siteDomain'\/modules\/xoopensim\/helper\/xmlgroups.php/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;MessagingEnabled = true/MessagingEnabled = true/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;XmlRpcServiceReadKey = 1234/XmlRpcServiceReadKey = '$group_read'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/;XmlRpcServiceWriteKey = 1234/XmlRpcServiceWriteKey = '$group_write'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"/;StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/; PIDFile = "\/tmp\/my.pid"/ PIDFile = "\/home\/opensim\/var\/opensim\/opensim.pid"/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/freeswitch_server_user = freeswitch/freeswitch_server_user = '$freeSwitch_user'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/freeswitch_server_pass = password/freeswitch_server_pass = '$freeSwitch_password'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ip.address.of.freeswitch.server/'$internalIP'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini sed 's/ip.address.of.your.sim/'$internalIP'/' OpenSim.ini.new sudo -u $ubuntu_user mv -f OpenSim.ini.new OpenSim.ini echo "Starting StandaloneCommon Config" sleep 2 cd $varDirectory/opensim/config-include/ sed 's/Include-Storage = "config-include\/storage\/SQLiteStandalone.ini";/;Include-Storage = "config-include\/storage\/SQLiteStandalone.ini";/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/;StorageProvider = "OpenSim.Data.MySQL.dll"/StorageProvider = "OpenSim.Data.MySQL.dll"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=\*\*\*;Old Guids=true;"/ConnectionString = "Data Source=localhost;Database='$os_databasename';User ID='$os_databaseuser';Password='$os_databasepass';Old Guids=true;"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"/;StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"/StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/Region_Welcome_Area = "DefaultRegion, FallbackRegion"/Region_Welcome_Area = "'"$region_name"'"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini sed 's/WelcomeMessage = \"Welcome, Avatar\!\"/WelcomeMessage = "'"$os_gridslogan"'"/' StandaloneCommon.ini.new sudo -u $ubuntu_user mv -f StandaloneCommon.ini.new StandaloneCommon.ini echo "Finished OpenSim ini" sleep 5 fi cd $srcDirectory/ if [ "$doDatabase" == "1" ]; then echo "Starting Database" sleep 2 rm $srcDirectory/CreateDatabase.sql cd $srcDirectory/ sudo -u $ubuntu_user echo "create database $os_databasename;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "create user $os_databaseuser;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "GRANT ALL PRIVILEGES ON $os_databasename.* TO $os_databaseuser IDENTIFIED BY '$os_databasepass';">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "create database $xoop_databasename;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "create user $xoop_databaseuser;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "GRANT ALL PRIVILEGES ON $xoop_databasename.* TO $xoop_databaseuser IDENTIFIED BY '$xoop_databasepass';">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "create database $ossearch_databasename;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "create user $ossearch_databaseuser;">>$srcDirectory/CreateDatabase.sql sudo -u $ubuntu_user echo "GRANT ALL PRIVILEGES ON $ossearch_databasename.* TO $ossearch_databaseuser IDENTIFIED BY '$ossearch_databasepass';">>$srcDirectory/CreateDatabase.sql mysql --user=root --password=$mysqlpass < $srcDirectory/CreateDatabase.sql echo "Finshed Database Setup" sleep 5 fi cd $srcDirectory/ cd $srcDirectory/ if [ "$doDownGradePHP" == "1" ]; then echo "Starting PHP Downgrade" sleep 2 #-------------------------------------------------------------------------------------------- #!/bin/bash # by Ruben Barkow (rubo77) http://www.entikey.z11.de/ # Originally Posted by Bachstelze http://ubuntuforums.org/showthread.php?p=9080474#post9080474 # OK, here's how to do the Apt magic to get PHP packages from the karmic repositories: echo "Am I root? " if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then echo " NO! Error: You must be root to run this script. Enter su " exit 1 fi echo " OK"; # finish all apt-problems: apt-get -f install # remove all your existing PHP packages. You can list them with dpkg -l| grep php PHPLIST=$(for i in $(dpkg -l | grep php|awk '{ print $2 }' ); do echo $i; done) echo these pachets will be removed: $PHPLIST # you need not to purge, if you have upgraded from karmic: aptitude remove $PHPLIST # on a fresh install, you need purge: # aptitude remove --purge $PHPLIST #Create a file each in /etc/apt/preferences.d like this (call it for example /etc/apt/preferences.d/php5_2); # #Package: php5 #Pin: release a=karmic #Pin-Priority: 991 # #The big problem is that wildcards don't work, so you will need one such stanza for each PHP package you want to pull from karmic: echo ''>/etc/apt/preferences.d/php5_2 for i in $PHPLIST ; do echo "Package: $i Pin: release a=karmic Pin-Priority: 991 ">>/etc/apt/preferences.d/php5_2; done # duplicate your existing sources.list replacing lucid with karmic and save it in sources.list.d: #sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list # better exactly only the needed sources, cause otherwise you can get a cachsize problem: echo "# needed sources vor php5.2: deb http://de.archive.ubuntu.com/ubuntu/ karmic main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ karmic main restricted deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted deb http://de.archive.ubuntu.com/ubuntu/ karmic universe deb-src http://de.archive.ubuntu.com/ubuntu/ karmic universe deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe deb http://de.archive.ubuntu.com/ubuntu/ karmic multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ karmic multiverse deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse deb http://security.ubuntu.com/ubuntu karmic-security main restricted deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted deb http://security.ubuntu.com/ubuntu karmic-security universe deb-src http://security.ubuntu.com/ubuntu karmic-security universe deb http://security.ubuntu.com/ubuntu karmic-security multiverse deb-src http://security.ubuntu.com/ubuntu karmic-security multiverse " >> /etc/apt/sources.list.d/karmic.list aptitude update apache2ctl restart echo install new from karmic: aptitude -t karmic install $PHPLIST # at the end retry the modul libapache2-mod-php5 in case it didn't work the first time: aptitude -t karmic install libapache2-mod-php5 apache2ctl restart #----------------------------------------------------------------------------------- apt-get install php5-curl php5-mysql echo "Finished PHP Downgrade" sleep 5 fi if [ "$doMonit" == "1" ]; then rm /etc/monit/monitrc echo "Starting Monit Setup" sleep 2 echo "set logfile /var/log/monit.log" >>/etc/monit/monitrc echo "set daemon 120" >>/etc/monit/monitrc echo "set mailserver localhost" >>/etc/monit/monitrc echo "set mail-format { from: admin@$mailDomain }" >>/etc/monit/monitrc echo "set alert $monit_email_to" >>/etc/monit/monitrc echo "set httpd port $monit_port" >>/etc/monit/monitrc echo "use address $siteDomain" >>/etc/monit/monitrc echo "ssl enable" >>/etc/monit/monitrc echo "pemfile /etc/apache2/ssl/apache.pem" >>/etc/monit/monitrc echo "allow 0.0.0.0/0.0.0.0" >>/etc/monit/monitrc echo "allow $monit_username:$monit_password" >>/etc/monit/monitrc echo "check system $siteDomain" >>/etc/monit/monitrc echo " if loadavg (1min) > 4 then alert" >>/etc/monit/monitrc echo " if loadavg (5min) > 2 then alert" >>/etc/monit/monitrc echo " if memory usage > 75% then alert" >>/etc/monit/monitrc echo " if cpu usage (user) > 70% then alert" >>/etc/monit/monitrc echo " if cpu usage (system) > 30% then alert" >>/etc/monit/monitrc echo " if cpu usage (wait) > 20% then alert" >>/etc/monit/monitrc echo "check process apache with pidfile /var/run/apache2.pid" >>/etc/monit/monitrc echo " start program = \"/etc/init.d/apache2 start\"" >>/etc/monit/monitrc echo " stop program = \"/etc/init.d/apache2 stop\"" >>/etc/monit/monitrc echo " if cpu > 20% for 2 cycles then alert" >>/etc/monit/monitrc echo " if cpu > 20% for 5 cycles then restart" >>/etc/monit/monitrc echo "check process mysqld with pidfile /var/run/mysqld/mysqld.pid" >>/etc/monit/monitrc echo " group database" >>/etc/monit/monitrc echo " start program = \"/etc/init.d/mysql start\"" >>/etc/monit/monitrc echo " stop program = \"/etc/init.d/mysql stop\"" >>/etc/monit/monitrc echo " if failed host 127.0.0.1 port 3306 then restart" >>/etc/monit/monitrc echo " if memory usage > 75% then alert" >>/etc/monit/monitrc echo " if cpu > 75% for 2 cycles then alert" >>/etc/monit/monitrc echo " if cpu > 75% for 5 cycles then restart" >>/etc/monit/monitrc echo " if 5 restarts within 5 cycles then timeout" >>/etc/monit/monitrc echo "check process sshd with pidfile $varDirectory/run/sshd.pid" >>/etc/monit/monitrc echo " start program \"/etc/init.d/ssh start\"" >>/etc/monit/monitrc echo " stop program \"/etc/init.d/ssh stop\"" >>/etc/monit/monitrc echo " if failed port 22 protocol ssh then restart" >>/etc/monit/monitrc echo " if 5 restarts within 5 cycles then timeout" >>/etc/monit/monitrc echo "Check process opensim with pidfile $varDirectory/opensim/opensim.pid" >>/etc/monit/monitrc echo " start program = \"/usr/bin/sudo -u opensim $varDirectory/opensim/start.sh\"" >>/etc/monit/monitrc echo " stop program = \"/usr/bin/sudo -u opensim $varDirectory/opensim/stop.sh\"" >>/etc/monit/monitrc echo " if memory usage > 75% then alert" >>/etc/monit/monitrc echo " if memory usage > 75% for 5 cycles then restart" >>/etc/monit/monitrc echo " if cpu > 90% for 2 cycles then alert" >>/etc/monit/monitrc echo " if cpu > 90% for 5 cycles then restart" >>/etc/monit/monitrc #echo " if failed host localhost port 9000 send \"GET /SStats/ HTTP/1.0\\r\\nHost: localhost\\r\\n\\r\\n\" expect \">/etc/monit/monitrc echo " if 8 restarts within 8 cycles then timeout" >>/etc/monit/monitrc chmod 700 /etc/monit/monitrc sed 's/startup=0/startup=1/' /etc/default/monit.2 mv -f /etc/default/monit.2 /etc/default/monit echo "Finished Monit setup" sleep 5 fi if [ -a "$varDirectory/opensim/start.god.sh" ]; then rm $varDirectory/opensim/start.god.sh fi sudo -u $ubuntu_user echo "cd $varDirectory/opensim/" >>$varDirectory/opensim/start.god.sh sudo -u $ubuntu_user echo "mono ./OpenSim.32BitLaunch.exe" >>$varDirectory/opensim/start.god.sh sudo -u $ubuntu_user echo "TIME=\"Simulator started with god mode: \`/bin/date +\"%A, %B %d - %r\"\`\"" >>$varDirectory/opensim/start.god.sh sudo -u $ubuntu_user echo "echo \$TIME >>$varDirectory/log/opensim.log" >>$varDirectory/opensim/start.god.sh chmod 777 $varDirectory/opensim/start.god.sh if [ -a "$varDirectory/opensim/start.sh" ]; then rm $varDirectory/opensim/start.sh fi sudo -u $ubuntu_user echo "if [ -a $varDirectory/opensim/opensim.reboot ]; then" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " TIME=\"Simulator tried to start while shutting down: \`/bin/date +\"%A, %B %d - %r\"\`\"" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " echo \$TIME >>$varDirectory/log/opensim.log" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo "else" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " cd $varDirectory/opensim/" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " export PATH=/usr/local/bin:\$PATH" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:\$PKG_CONFIG_PATH" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " export LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " export MANPATH=”/usr/local/man:\$MANPATH" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " export MONO_THREADS_PER_CPU=80" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -d -m -U mono ./OpenSim.32BitLaunch.exe" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " sleep 5" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " /usr/bin/screen -list" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " TIME=\"Simulator starting up: \`/bin/date +\"%A, %B %d - %r\"\`\"" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo " echo \$TIME >>$varDirectory/log/opensim.log" >>$varDirectory/opensim/start.sh sudo -u $ubuntu_user echo "fi" >>$varDirectory/opensim/start.sh chmod 777 $varDirectory/opensim/start.sh if [ -a "$varDirectory/opensim/stop.sh" ]; then rm $varDirectory/opensim/stop.sh fi sudo -u $ubuntu_user echo "if [ -a $varDirectory/opensim/opensim.reboot ]; then" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " TIME=\"Simulator trying to shutdown: \`/bin/date +\"%A, %B %d - %r\"\`\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " echo \$TIME >>$varDirectory/log/opensim.log" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 180" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " if [ -s $varDirectory/opensim/opensim.reboot ]; then" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " rm $varDirectory/opensim/opensim.reboot" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " $varDirectory/opensim/stop.sh" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " fi" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo "else" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " TIME=\"Simulator shutting down: \`/bin/date +\"%A, %B %d - %r\"\`\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " echo \$TIME >>$varDirectory/opensim/opensim.reboot" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " echo \$TIME >>$varDirectory/log/opensim.log" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X stuff \"alert general Region restarting in 2 Minutes\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X eval \"stuff ^M\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 60" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X stuff \"alert general Region restarting in 1 Minutes\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X eval \"stuff ^M\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 30" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X stuff \"alert general Region restarting in 30 Seconds\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X eval \"stuff ^M\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 15" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X stuff \"alert general Region restarting in 15 Seconds\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X eval \"stuff ^M\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 15" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X stuff \"quit\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -S os_screen -p 0 -X eval \"stuff ^M\"" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 30" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " PID=\`cat $varDirectory/opensim/opensim.pid\`" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " kill -KILL \$PID" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " /usr/bin/screen -wipe" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " rm $varDirectory/opensim/opensim.reboot" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo " sleep 5" >>$varDirectory/opensim/stop.sh sudo -u $ubuntu_user echo "fi" >>$varDirectory/opensim/stop.sh chmod 777 $varDirectory/opensim/stop.sh find $srcDirectory/opensim/current/opensim/bin/config-include/ -type l | while read f; do if [ ! -e "$f" ]; then rm -f "$f"; fi; done find $varDirectory/opensim/ -type l | while read f; do if [ ! -e "$f" ]; then rm -f "$f"; fi; done find $varDirectory/www/ -type l | while read f; do if [ ! -e "$f" ]; then rm -f "$f"; fi; done # find $varDirectory/sftp/www/themes/ -type l | while read f; do if [ ! -e "$f" ]; then rm -f "$f"; fi; done find $varDirectory/www/modules/ -type l | while read f; do if [ ! -e "$f" ]; then rm -f "$f"; fi; done