|  | @@ -1,506 +0,0 @@
 | 
	
		
			
			| 1 |  | -#!/bin/bash
 | 
	
		
			
			| 2 |  | -#
 | 
	
		
			
			| 3 |  | -# .---.                  .              .
 | 
	
		
			
			| 4 |  | -# |                      |              |
 | 
	
		
			
			| 5 |  | -# |--- .--. .-.  .-.  .-.|  .-. .--.--. |.-.  .-. .--.  .-.
 | 
	
		
			
			| 6 |  | -# |    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-'
 | 
	
		
			
			| 7 |  | -# '    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'
 | 
	
		
			
			| 8 |  | -#
 | 
	
		
			
			| 9 |  | -#                    Freedom in the Cloud
 | 
	
		
			
			| 10 |  | -#
 | 
	
		
			
			| 11 |  | -# mediagoblin functions
 | 
	
		
			
			| 12 |  | -#
 | 
	
		
			
			| 13 |  | -# License
 | 
	
		
			
			| 14 |  | -# =======
 | 
	
		
			
			| 15 |  | -#
 | 
	
		
			
			| 16 |  | -# Copyright (C) 2014-2016 Bob Mottram <bob@freedombone.net>
 | 
	
		
			
			| 17 |  | -#
 | 
	
		
			
			| 18 |  | -# This program is free software: you can redistribute it and/or modify
 | 
	
		
			
			| 19 |  | -# it under the terms of the GNU Affero General Public License as published by
 | 
	
		
			
			| 20 |  | -# the Free Software Foundation, either version 3 of the License, or
 | 
	
		
			
			| 21 |  | -# (at your option) any later version.
 | 
	
		
			
			| 22 |  | -#
 | 
	
		
			
			| 23 |  | -# This program is distributed in the hope that it will be useful,
 | 
	
		
			
			| 24 |  | -# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
	
		
			
			| 25 |  | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
	
		
			
			| 26 |  | -# GNU Affero General Public License for more details.
 | 
	
		
			
			| 27 |  | -#
 | 
	
		
			
			| 28 |  | -# You should have received a copy of the GNU Affero General Public License
 | 
	
		
			
			| 29 |  | -# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
	
		
			
			| 30 |  | -
 | 
	
		
			
			| 31 |  | -VARIANTS=''
 | 
	
		
			
			| 32 |  | -
 | 
	
		
			
			| 33 |  | -IN_DEFAULT_INSTALL=0
 | 
	
		
			
			| 34 |  | -SHOW_ON_ABOUT=1
 | 
	
		
			
			| 35 |  | -
 | 
	
		
			
			| 36 |  | -MEDIAGOBLIN_DOMAIN_NAME=
 | 
	
		
			
			| 37 |  | -MEDIAGOBLIN_CODE=
 | 
	
		
			
			| 38 |  | -MEDIAGOBLIN_REPO="git://git.savannah.gnu.org/mediagoblin.git"
 | 
	
		
			
			| 39 |  | -MEDIAGOBLIN_COMMIT='d1ac2d52fd8859c3f32fa38e4836ffe9615e5bba'
 | 
	
		
			
			| 40 |  | -MEDIAGOBLIN_ADMIN_PASSWORD=
 | 
	
		
			
			| 41 |  | -MEDIAGOBLIN_ONION_PORT=8096
 | 
	
		
			
			| 42 |  | -
 | 
	
		
			
			| 43 |  | -mediagoblin_variables=(ONION_ONLY
 | 
	
		
			
			| 44 |  | -                       MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 45 |  | -                       MEDIAGOBLIN_CODE
 | 
	
		
			
			| 46 |  | -                       MEDIAGOBLIN_REPO
 | 
	
		
			
			| 47 |  | -                       MEDIAGOBLIN_COMMIT
 | 
	
		
			
			| 48 |  | -                       DDNS_PROVIDER)
 | 
	
		
			
			| 49 |  | -
 | 
	
		
			
			| 50 |  | -function install_interactive_mediagoblin {
 | 
	
		
			
			| 51 |  | -    if [[ $ONION_ONLY != "no" ]]; then
 | 
	
		
			
			| 52 |  | -        MEDIAGOBLIN_DOMAIN_NAME='media.local'
 | 
	
		
			
			| 53 |  | -    else
 | 
	
		
			
			| 54 |  | -        MEDIAGOBLIN_DETAILS_COMPLETE=
 | 
	
		
			
			| 55 |  | -        while [ ! $MEDIAGOBLIN_DETAILS_COMPLETE ]
 | 
	
		
			
			| 56 |  | -        do
 | 
	
		
			
			| 57 |  | -            data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 58 |  | -            trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 59 |  | -            if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
 | 
	
		
			
			| 60 |  | -                dialog --backtitle $"Freedombone Configuration" \
 | 
	
		
			
			| 61 |  | -                       --title $"Mediagoblin Configuration" \
 | 
	
		
			
			| 62 |  | -                       --form $"\nPlease enter your Mediagoblin details, or just select Ok if you don't need a Mediagoblin site:" 11 55 2 \
 | 
	
		
			
			| 63 |  | -                       $"Domain:" 1 1 "$(grep 'MEDIAGOBLIN_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
 | 
	
		
			
			| 64 |  | -                       $"Code:" 2 1 "$(grep 'MEDIAGOBLIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 33 255 \
 | 
	
		
			
			| 65 |  | -                       2> $data
 | 
	
		
			
			| 66 |  | -            else
 | 
	
		
			
			| 67 |  | -                dialog --backtitle $"Freedombone Configuration" \
 | 
	
		
			
			| 68 |  | -                       --title $"Mediagoblin Configuration" \
 | 
	
		
			
			| 69 |  | -                       --form $"\nPlease enter your Mediagoblin details, or just select Ok if you don't need a Mediagoblin site:" 11 55 2 \
 | 
	
		
			
			| 70 |  | -                       $"Domain:" 1 1 "$(grep 'MEDIAGOBLIN_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
 | 
	
		
			
			| 71 |  | -                       2> $data
 | 
	
		
			
			| 72 |  | -            fi
 | 
	
		
			
			| 73 |  | -            sel=$?
 | 
	
		
			
			| 74 |  | -            case $sel in
 | 
	
		
			
			| 75 |  | -                1) exit 1;;
 | 
	
		
			
			| 76 |  | -                255) exit 1;;
 | 
	
		
			
			| 77 |  | -            esac
 | 
	
		
			
			| 78 |  | -            MEDIAGOBLIN_DOMAIN_NAME=$(cat $data | sed -n 1p)
 | 
	
		
			
			| 79 |  | -            if [ $MEDIAGOBLIN_DOMAIN_NAME ]; then
 | 
	
		
			
			| 80 |  | -                TEST_DOMAIN_NAME=$MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 81 |  | -                validate_domain_name
 | 
	
		
			
			| 82 |  | -                if [[ $TEST_DOMAIN_NAME != $MEDIAGOBLIN_DOMAIN_NAME ]]; then
 | 
	
		
			
			| 83 |  | -                    MEDIAGOBLIN_DOMAIN_NAME='invalid'
 | 
	
		
			
			| 84 |  | -                    dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
 | 
	
		
			
			| 85 |  | -                else
 | 
	
		
			
			| 86 |  | -                    if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
 | 
	
		
			
			| 87 |  | -                        MEDIAGOBLIN_CODE=$(cat $data | sed -n 2p)
 | 
	
		
			
			| 88 |  | -                        validate_freedns_code "$MEDIAGOBLIN_CODE"
 | 
	
		
			
			| 89 |  | -                        if [ ! $VALID_CODE ]; then
 | 
	
		
			
			| 90 |  | -                            MEDIAGOBLIN_DOMAIN_NAME='invalid'
 | 
	
		
			
			| 91 |  | -                        fi
 | 
	
		
			
			| 92 |  | -                    fi
 | 
	
		
			
			| 93 |  | -                fi
 | 
	
		
			
			| 94 |  | -            fi
 | 
	
		
			
			| 95 |  | -            if [ $MEDIAGOBLIN_DOMAIN_NAME ]; then
 | 
	
		
			
			| 96 |  | -                if [[ $MEDIAGOBLIN_DOMAIN_NAME == 'invalid' ]]; then
 | 
	
		
			
			| 97 |  | -                    MEDIAGOBLIN_DOMAIN_NAME=
 | 
	
		
			
			| 98 |  | -                else
 | 
	
		
			
			| 99 |  | -                    MEDIAGOBLIN_DETAILS_COMPLETE="yes"
 | 
	
		
			
			| 100 |  | -                fi
 | 
	
		
			
			| 101 |  | -            fi
 | 
	
		
			
			| 102 |  | -        done
 | 
	
		
			
			| 103 |  | -
 | 
	
		
			
			| 104 |  | -        # save the results in the config file
 | 
	
		
			
			| 105 |  | -        write_config_param "MEDIAGOBLIN_CODE" "$MEDIAGOBLIN_CODE"
 | 
	
		
			
			| 106 |  | -    fi
 | 
	
		
			
			| 107 |  | -    write_config_param "MEDIAGOBLIN_DOMAIN_NAME" "$MEDIAGOBLIN_DOMAIN_NAME"
 | 
	
		
			
			| 108 |  | -    APP_INSTALLED=1
 | 
	
		
			
			| 109 |  | -}
 | 
	
		
			
			| 110 |  | -
 | 
	
		
			
			| 111 |  | -function change_password_mediagoblin {
 | 
	
		
			
			| 112 |  | -    echo -n ''
 | 
	
		
			
			| 113 |  | -}
 | 
	
		
			
			| 114 |  | -
 | 
	
		
			
			| 115 |  | -function reconfigure_mediagoblin {
 | 
	
		
			
			| 116 |  | -    echo -n ''
 | 
	
		
			
			| 117 |  | -}
 | 
	
		
			
			| 118 |  | -
 | 
	
		
			
			| 119 |  | -function upgrade_mediagoblin {
 | 
	
		
			
			| 120 |  | -    if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
 | 
	
		
			
			| 121 |  | -        return
 | 
	
		
			
			| 122 |  | -    fi
 | 
	
		
			
			| 123 |  | -
 | 
	
		
			
			| 124 |  | -    MEDIAGOBLIN_WORKING_DIRECTORY=/var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 125 |  | -
 | 
	
		
			
			| 126 |  | -    # update to a new commit if needed
 | 
	
		
			
			| 127 |  | -    function_check set_repo_commit
 | 
	
		
			
			| 128 |  | -    set_repo_commit $MEDIAGOBLIN_WORKING_DIRECTORY "Mediagoblin commit" "$MEDIAGOBLIN_COMMIT" $MEDIAGOBLIN_REPO
 | 
	
		
			
			| 129 |  | -    if [ -d $MEDIAGOBLIN_WORKING_DIRECTORY ]; then
 | 
	
		
			
			| 130 |  | -        chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 131 |  | -    fi
 | 
	
		
			
			| 132 |  | -}
 | 
	
		
			
			| 133 |  | -
 | 
	
		
			
			| 134 |  | -function backup_local_mediagoblin {
 | 
	
		
			
			| 135 |  | -    echo -n ''
 | 
	
		
			
			| 136 |  | -}
 | 
	
		
			
			| 137 |  | -
 | 
	
		
			
			| 138 |  | -function restore_local_mediagoblin {
 | 
	
		
			
			| 139 |  | -    echo -n ''
 | 
	
		
			
			| 140 |  | -}
 | 
	
		
			
			| 141 |  | -
 | 
	
		
			
			| 142 |  | -function backup_remote_mediagoblin {
 | 
	
		
			
			| 143 |  | -    function_check suspend_site
 | 
	
		
			
			| 144 |  | -    suspend_site ${MEDIAGOBLIN_DOMAIN_NAME}
 | 
	
		
			
			| 145 |  | -
 | 
	
		
			
			| 146 |  | -    echo $"Backing up Mediagoblin"
 | 
	
		
			
			| 147 |  | -
 | 
	
		
			
			| 148 |  | -    backup_directory_to_friend /var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs mediagoblin
 | 
	
		
			
			| 149 |  | -
 | 
	
		
			
			| 150 |  | -    function_check restart_site
 | 
	
		
			
			| 151 |  | -    restart_site
 | 
	
		
			
			| 152 |  | -
 | 
	
		
			
			| 153 |  | -    echo $"Backup of Mediagoblin complete"
 | 
	
		
			
			| 154 |  | -}
 | 
	
		
			
			| 155 |  | -
 | 
	
		
			
			| 156 |  | -function restore_remote_mediagoblin {
 | 
	
		
			
			| 157 |  | -    if [ -d $SERVER_DIRECTORY/backup/mediagoblin ]; then
 | 
	
		
			
			| 158 |  | -        echo $"Restoring Mediagoblin installation"
 | 
	
		
			
			| 159 |  | -        temp_restore_dir=/root/tempmediagoblin
 | 
	
		
			
			| 160 |  | -        function_check restore_directory_from_friend
 | 
	
		
			
			| 161 |  | -        restore_directory_from_friend $temp_restore_dir mediagoblin
 | 
	
		
			
			| 162 |  | -        cp -r $temp_restore_dir/* /
 | 
	
		
			
			| 163 |  | -        if [ ! "$?" = "0" ]; then
 | 
	
		
			
			| 164 |  | -            exit 5626
 | 
	
		
			
			| 165 |  | -        fi
 | 
	
		
			
			| 166 |  | -        rm -rf $temp_restore_dir
 | 
	
		
			
			| 167 |  | -        echo $"Restore of Mediagoblin complete"
 | 
	
		
			
			| 168 |  | -    fi
 | 
	
		
			
			| 169 |  | -    chown -hR mediagoblin:www-data /var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 170 |  | -}
 | 
	
		
			
			| 171 |  | -
 | 
	
		
			
			| 172 |  | -function remove_mediagoblin {
 | 
	
		
			
			| 173 |  | -    remove_certs ${MEDIAGOBLIN_DOMAIN_NAME}
 | 
	
		
			
			| 174 |  | -
 | 
	
		
			
			| 175 |  | -    function_check remove_ddns_domain
 | 
	
		
			
			| 176 |  | -    remove_ddns_domain $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 177 |  | -}
 | 
	
		
			
			| 178 |  | -
 | 
	
		
			
			| 179 |  | -function install_mediagoblin {
 | 
	
		
			
			| 180 |  | -    if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
 | 
	
		
			
			| 181 |  | -        return
 | 
	
		
			
			| 182 |  | -    fi
 | 
	
		
			
			| 183 |  | -
 | 
	
		
			
			| 184 |  | -    MEDIAGOBLIN_WORKING_DIRECTORY=/var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 185 |  | -
 | 
	
		
			
			| 186 |  | -    # update to a new commit if needed
 | 
	
		
			
			| 187 |  | -    function_check set_repo_commit
 | 
	
		
			
			| 188 |  | -    set_repo_commit $MEDIAGOBLIN_WORKING_DIRECTORY "Mediagoblin commit" "$MEDIAGOBLIN_COMMIT" $MEDIAGOBLIN_REPO
 | 
	
		
			
			| 189 |  | -    if [ -d $MEDIAGOBLIN_WORKING_DIRECTORY ]; then
 | 
	
		
			
			| 190 |  | -        chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 191 |  | -    fi
 | 
	
		
			
			| 192 |  | -
 | 
	
		
			
			| 193 |  | -    apt-get -yq install git-core python python-dev python-lxml python-pil
 | 
	
		
			
			| 194 |  | -    apt-get -yq install python-virtualenv npm nodejs-legacy automake
 | 
	
		
			
			| 195 |  | -    apt-get -yq install fcgiwrap
 | 
	
		
			
			| 196 |  | -
 | 
	
		
			
			| 197 |  | -    #apt-get -yq install postgresql postgresql-client python-psycopg2
 | 
	
		
			
			| 198 |  | -    #apt-get -yq install python-gst-1.0 libjpeg62-turbo-dev gstreamer1.0-plugins-base python-gobject
 | 
	
		
			
			| 199 |  | -    #apt-get -yq install gstreamer1.0-plugins-good gstreamer1.0-libav libav-tools gstreamer0.10-tools
 | 
	
		
			
			| 200 |  | -    #apt-get -yq install python-numpy python-scipy libsndfile1-dev python-gst0.10-dev
 | 
	
		
			
			| 201 |  | -    #apt-get -yq install gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer1.0-tools
 | 
	
		
			
			| 202 |  | -    #su -c "createuser -A -D mediagoblin" - postgres
 | 
	
		
			
			| 203 |  | -    #su -c "createdb -E UNICODE -O mediagoblin mediagoblin" - postgres
 | 
	
		
			
			| 204 |  | -
 | 
	
		
			
			| 205 |  | -    useradd -c "GNU MediaGoblin system account" -d /var/lib/mediagoblin -m -r -g www-data mediagoblin
 | 
	
		
			
			| 206 |  | -    groupadd mediagoblin
 | 
	
		
			
			| 207 |  | -    usermod --append -G mediagoblin mediagoblin
 | 
	
		
			
			| 208 |  | -
 | 
	
		
			
			| 209 |  | -    if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY ]; then
 | 
	
		
			
			| 210 |  | -        mkdir -p $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 211 |  | -    fi
 | 
	
		
			
			| 212 |  | -
 | 
	
		
			
			| 213 |  | -    function_check git_clone
 | 
	
		
			
			| 214 |  | -    git_clone $MEDIAGOBLIN_REPO $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 215 |  | -    cd $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 216 |  | -    git checkout $MEDIAGOBLIN_COMMIT -b $MEDIAGOBLIN_COMMIT
 | 
	
		
			
			| 217 |  | -    git submodule init
 | 
	
		
			
			| 218 |  | -    git submodule update
 | 
	
		
			
			| 219 |  | -
 | 
	
		
			
			| 220 |  | -    set_completion_param "mediagoblin commit" "$MEDIAGOBLIN_COMMIT"
 | 
	
		
			
			| 221 |  | -
 | 
	
		
			
			| 222 |  | -    chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 223 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bootstrap.sh" - mediagoblin
 | 
	
		
			
			| 224 |  | -    if [ ! "$?" = "0" ]; then
 | 
	
		
			
			| 225 |  | -        exit 278826
 | 
	
		
			
			| 226 |  | -    fi
 | 
	
		
			
			| 227 |  | -
 | 
	
		
			
			| 228 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./configure" - mediagoblin
 | 
	
		
			
			| 229 |  | -    if [ ! "$?" = "0" ]; then
 | 
	
		
			
			| 230 |  | -        exit 462826
 | 
	
		
			
			| 231 |  | -    fi
 | 
	
		
			
			| 232 |  | -
 | 
	
		
			
			| 233 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && make" - mediagoblin
 | 
	
		
			
			| 234 |  | -    if [ ! "$?" = "0" ]; then
 | 
	
		
			
			| 235 |  | -        exit 738229
 | 
	
		
			
			| 236 |  | -    fi
 | 
	
		
			
			| 237 |  | -
 | 
	
		
			
			| 238 |  | -    if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev ]; then
 | 
	
		
			
			| 239 |  | -        mkdir $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
 | 
	
		
			
			| 240 |  | -    fi
 | 
	
		
			
			| 241 |  | -    chmod 750 $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
 | 
	
		
			
			| 242 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install flup==1.0.3.dev-20110405" - mediagoblin
 | 
	
		
			
			| 243 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade billiard" - mediagoblin
 | 
	
		
			
			| 244 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade Paste" - mediagoblin
 | 
	
		
			
			| 245 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade amqp" - mediagoblin
 | 
	
		
			
			| 246 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade anyjson" - mediagoblin
 | 
	
		
			
			| 247 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade py-bcrypt" - mediagoblin
 | 
	
		
			
			| 248 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade wtforms" - mediagoblin
 | 
	
		
			
			| 249 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade python-dateutil" - mediagoblin
 | 
	
		
			
			| 250 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade alembic" - mediagoblin
 | 
	
		
			
			| 251 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade waitress" - mediagoblin
 | 
	
		
			
			| 252 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade imagesize" - mediagoblin
 | 
	
		
			
			| 253 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade alabaster" - mediagoblin
 | 
	
		
			
			| 254 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade snowballstemmer" - mediagoblin
 | 
	
		
			
			| 255 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade docutils" - mediagoblin
 | 
	
		
			
			| 256 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade Pygments" - mediagoblin
 | 
	
		
			
			| 257 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade beautifulsoup4" - mediagoblin
 | 
	
		
			
			| 258 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade WebOb" - mediagoblin
 | 
	
		
			
			| 259 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade py" - mediagoblin
 | 
	
		
			
			| 260 |  | -    su -c "cd $MEDIAGOBLIN_WORKING_DIRECTORY && ./bin/easy_install --upgrade execnet" - mediagoblin
 | 
	
		
			
			| 261 |  | -
 | 
	
		
			
			| 262 |  | -    # create some directories
 | 
	
		
			
			| 263 |  | -    mkdir /var/log/mediagoblin
 | 
	
		
			
			| 264 |  | -    chown -hR mediagoblin:www-data /var/log/mediagoblin
 | 
	
		
			
			| 265 |  | -    mkdir /var/run/mediagoblin
 | 
	
		
			
			| 266 |  | -    chown -hR mediagoblin:www-data /var/run/mediagoblin
 | 
	
		
			
			| 267 |  | -
 | 
	
		
			
			| 268 |  | -    if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin.ini ]; then
 | 
	
		
			
			| 269 |  | -        echo $'mediagoblin.ini not found'
 | 
	
		
			
			| 270 |  | -        exit 737529
 | 
	
		
			
			| 271 |  | -    fi
 | 
	
		
			
			| 272 |  | -    if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/paste.ini ]; then
 | 
	
		
			
			| 273 |  | -        echo $'paste.ini not found'
 | 
	
		
			
			| 274 |  | -        exit 52762
 | 
	
		
			
			| 275 |  | -    fi
 | 
	
		
			
			| 276 |  | -
 | 
	
		
			
			| 277 |  | -    cp -av mediagoblin.ini mediagoblin_local.ini
 | 
	
		
			
			| 278 |  | -    cp -av paste.ini paste_local.ini
 | 
	
		
			
			| 279 |  | -
 | 
	
		
			
			| 280 |  | -    chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
 | 
	
		
			
			| 281 |  | -
 | 
	
		
			
			| 282 |  | -    # init with systemd
 | 
	
		
			
			| 283 |  | -    echo '[Unit]' > /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 284 |  | -    echo 'Description=Mediagoblin Celeryd' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 285 |  | -    echo 'After=syslog.target' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 286 |  | -    echo 'After=network.target' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 287 |  | -    echo '' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 288 |  | -    echo '[Service]' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 289 |  | -    echo 'User=mediagoblin' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 290 |  | -    echo 'Group=mediagoblin' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 291 |  | -    echo 'Type=simple' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 292 |  | -    echo "WorkingDirectory=$MEDIAGOBLIN_WORKING_DIRECTORY" >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 293 |  | -    echo "Environment=MEDIAGOBLIN_CONFIG=$MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin_local.ini \\" >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 294 |  | -    echo '    CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 295 |  | -    echo "ExecStart=$MEDIAGOBLIN_WORKING_DIRECTORY/bin/celery worker \\" >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 296 |  | -    echo '    --logfile=/var/log/mediagoblin/celery.log \' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 297 |  | -    echo '    --loglevel=INFO' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 298 |  | -    echo 'PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 299 |  | -    echo '' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 300 |  | -    echo '[Install]' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 301 |  | -    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/mediagoblin-celeryd.service
 | 
	
		
			
			| 302 |  | -
 | 
	
		
			
			| 303 |  | -    echo '[Unit]' > /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 304 |  | -    echo 'Description=Mediagoblin' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 305 |  | -    echo 'After=syslog.target' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 306 |  | -    echo 'After=network.target' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 307 |  | -    echo '' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 308 |  | -    echo '[Service]' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 309 |  | -    echo 'Type=forking' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 310 |  | -    echo 'User=mediagoblin' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 311 |  | -    echo 'Group=mediagoblin' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 312 |  | -    echo 'Environment=CELERY_ALWAYS_EAGER=false' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 313 |  | -    echo "WorkingDirectory=$MEDIAGOBLIN_WORKING_DIRECTORY" >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 314 |  | -    echo "ExecStart=$MEDIAGOBLIN_WORKING_DIRECTORY/bin/paster serve \\" >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 315 |  | -    echo "    $MEDIAGOBLIN_WORKING_DIRECTORY/paste_local.ini \\" >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 316 |  | -    echo '    --pid-file=/var/run/mediagoblin/mediagoblin.pid \' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 317 |  | -    echo '    --log-file=/var/log/mediagoblin/mediagoblin.log \' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 318 |  | -    echo '    --daemon \' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 319 |  | -    echo '    --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 320 |  | -    echo "ExecStop=$MEDIAGOBLIN_WORKING_DIRECTORY/bin/paster serve \\" >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 321 |  | -    echo '    --pid-file=/var/run/mediagoblin/mediagoblin.pid \' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 322 |  | -    echo "    $MEDIAGOBLIN_WORKING_DIRECTORY/paste_local.ini stop" >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 323 |  | -    echo 'PIDFile=/var/run/mediagoblin/mediagoblin.pid' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 324 |  | -    echo '' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 325 |  | -    echo '[Install]' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 326 |  | -    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/mediagoblin-paster.service
 | 
	
		
			
			| 327 |  | -    systemctl daemon-reload
 | 
	
		
			
			| 328 |  | -    systemctl enable mediagoblin-celeryd
 | 
	
		
			
			| 329 |  | -    systemctl enable mediagoblin-paster
 | 
	
		
			
			| 330 |  | -    systemctl daemon-reload
 | 
	
		
			
			| 331 |  | -    systemctl start mediagoblin-celeryd
 | 
	
		
			
			| 332 |  | -    systemctl start mediagoblin-paster
 | 
	
		
			
			| 333 |  | -
 | 
	
		
			
			| 334 |  | -    MEDIAGOBLIN_ONION_HOSTNAME=$(add_onion_service mediagoblin 80 ${MEDIAGOBLIN_ONION_PORT})
 | 
	
		
			
			| 335 |  | -    if [[ $MEDIAGOBLIN_ONION_HOSTNAME == *"not found"* ]]; then
 | 
	
		
			
			| 336 |  | -        echo $'Problem creating onion address for mediagoblin'
 | 
	
		
			
			| 337 |  | -        exit 672652
 | 
	
		
			
			| 338 |  | -    fi
 | 
	
		
			
			| 339 |  | -
 | 
	
		
			
			| 340 |  | -    # web config
 | 
	
		
			
			| 341 |  | -    MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 342 |  | -    function_check nginx_http_redirect
 | 
	
		
			
			| 343 |  | -    nginx_http_redirect $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 344 |  | -    if [[ $ONION_ONLY == 'no' ]]; then
 | 
	
		
			
			| 345 |  | -        echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 346 |  | -        echo '  listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 347 |  | -        echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 348 |  | -        echo '  # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 349 |  | -        echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 350 |  | -        echo '  include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 351 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 352 |  | -        echo '  autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 353 |  | -        echo '  default_type  application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 354 |  | -        echo '  sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 355 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 356 |  | -        function_check nginx_ssl
 | 
	
		
			
			| 357 |  | -        nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 358 |  | -        function_check nginx_disable_sniffing
 | 
	
		
			
			| 359 |  | -        nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 360 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 361 |  | -        echo '  # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 362 |  | -        echo '  gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 363 |  | -        echo '  gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 364 |  | -        echo '  gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 365 |  | -        echo '  gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 366 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 367 |  | -        echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 368 |  | -        echo '  # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 369 |  | -        echo '  # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 370 |  | -        echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 371 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 372 |  | -        echo "  server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 373 |  | -        echo '  access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 374 |  | -        echo '  error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 375 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 376 |  | -        echo '  # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 377 |  | -        echo '  location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 378 |  | -        function_check nginx_limits
 | 
	
		
			
			| 379 |  | -        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 380 |  | -        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 381 |  | -        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 382 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 383 |  | -        echo '  # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 384 |  | -        echo '  location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 385 |  | -        function_check nginx_limits
 | 
	
		
			
			| 386 |  | -        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 387 |  | -        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 388 |  | -        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 389 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 390 |  | -        echo '  # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 391 |  | -        echo '  location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 392 |  | -        function_check nginx_limits
 | 
	
		
			
			| 393 |  | -        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 394 |  | -        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 395 |  | -        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 396 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 397 |  | -        echo '  # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 398 |  | -        echo '  location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 399 |  | -        function_check nginx_limits
 | 
	
		
			
			| 400 |  | -        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 401 |  | -        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 402 |  | -        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 403 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 404 |  | -        echo '  # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 405 |  | -        echo '  location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 406 |  | -        function_check nginx_limits
 | 
	
		
			
			| 407 |  | -        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 408 |  | -        echo '    fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 409 |  | -        echo '    include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 410 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 411 |  | -        echo '    # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 412 |  | -        echo '      # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 413 |  | -        echo '    fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 414 |  | -        echo '    fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 415 |  | -        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 416 |  | -        echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 417 |  | -        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 418 |  | -    else
 | 
	
		
			
			| 419 |  | -        echo -n '' > $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 420 |  | -    fi
 | 
	
		
			
			| 421 |  | -
 | 
	
		
			
			| 422 |  | -    echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 423 |  | -    echo "  listen 127.0.0.1:${MEDIAGOBLIN_ONION_PORT} default_server;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 424 |  | -    echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 425 |  | -    echo '  # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 426 |  | -    echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 427 |  | -    echo '  include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 428 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 429 |  | -    echo '  autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 430 |  | -    echo '  default_type  application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 431 |  | -    echo '  sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 432 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 433 |  | -    function_check nginx_disable_sniffing
 | 
	
		
			
			| 434 |  | -    nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 435 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 436 |  | -    echo '  # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 437 |  | -    echo '  gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 438 |  | -    echo '  gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 439 |  | -    echo '  gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 440 |  | -    echo '  gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 441 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 442 |  | -    echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 443 |  | -    echo '  # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 444 |  | -    echo '  # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 445 |  | -    echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 446 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 447 |  | -    echo "  server_name $MEDIAGOBLIN_ONION_HOSTNAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 448 |  | -    echo '  access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 449 |  | -    echo '  error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 450 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 451 |  | -    echo '  # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 452 |  | -    echo '  location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 453 |  | -    function_check nginx_limits
 | 
	
		
			
			| 454 |  | -    nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 455 |  | -    echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 456 |  | -    echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 457 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 458 |  | -    echo '  # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 459 |  | -    echo '  location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 460 |  | -    function_check nginx_limits
 | 
	
		
			
			| 461 |  | -    nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 462 |  | -    echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 463 |  | -    echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 464 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 465 |  | -    echo '  # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 466 |  | -    echo '  location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 467 |  | -    function_check nginx_limits
 | 
	
		
			
			| 468 |  | -    nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 469 |  | -    echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 470 |  | -    echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 471 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 472 |  | -    echo '  # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 473 |  | -    echo '  location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 474 |  | -    function_check nginx_limits
 | 
	
		
			
			| 475 |  | -    nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 476 |  | -    echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 477 |  | -    echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 478 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 479 |  | -    echo '  # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 480 |  | -    echo '  location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 481 |  | -    function_check nginx_limits
 | 
	
		
			
			| 482 |  | -    nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
 | 
	
		
			
			| 483 |  | -    echo '    fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 484 |  | -    echo '    include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 485 |  | -    echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 486 |  | -    echo '    # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 487 |  | -    echo '      # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 488 |  | -    echo '    fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 489 |  | -    echo '    fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 490 |  | -    echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 491 |  | -    echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
 | 
	
		
			
			| 492 |  | -
 | 
	
		
			
			| 493 |  | -    function_check create_site_certificate
 | 
	
		
			
			| 494 |  | -    create_site_certificate $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 495 |  | -
 | 
	
		
			
			| 496 |  | -    nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 497 |  | -    systemctl restart php5-fpm
 | 
	
		
			
			| 498 |  | -    systemctl restart nginx
 | 
	
		
			
			| 499 |  | -
 | 
	
		
			
			| 500 |  | -    add_ddns_domain $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 501 |  | -
 | 
	
		
			
			| 502 |  | -    set_completion_param "mediagoblin domain" "$MEDIAGOBLIN_DOMAIN_NAME"
 | 
	
		
			
			| 503 |  | -    APP_INSTALLED=1
 | 
	
		
			
			| 504 |  | -}
 | 
	
		
			
			| 505 |  | -
 | 
	
		
			
			| 506 |  | -# NOTE: deliberately no exit 0
 |